diff --git a/.vscode/launch.json b/.vscode/launch.json index 7bd5ab3b1..c1d026b57 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -88,7 +88,7 @@ ], "env": { "NODE_ENV": "development", - "NODE_OPTIONS": "--enable-source-maps" + "NODE_OPTIONS": "--enable-source-maps --import presentation-test-utilities/node-hooks/ignore-styles" } }, { @@ -233,7 +233,7 @@ ], "env": { "NODE_ENV": "development", - "NODE_OPTIONS": "--enable-source-maps" + "NODE_OPTIONS": "--enable-source-maps --import presentation-test-utilities/node-hooks/ignore-styles" } }, { @@ -273,7 +273,7 @@ ], "env": { "NODE_ENV": "development", - "NODE_OPTIONS": "--enable-source-maps" + "NODE_OPTIONS": "--enable-source-maps --import presentation-test-utilities/node-hooks/ignore-styles" } } ], diff --git a/apps/full-stack-tests/.mocharc.json b/apps/full-stack-tests/.mocharc.json index 7857f95fd..5a67a7cbf 100644 --- a/apps/full-stack-tests/.mocharc.json +++ b/apps/full-stack-tests/.mocharc.json @@ -1,7 +1,7 @@ { "require": ["ignore-styles", "./lib/setup.js"], "checkLeaks": true, - "globals": ["requestAnimationFrame", "IS_REACT_ACT_ENVIRONMENT"], + "globals": ["requestAnimationFrame", "IS_REACT_ACT_ENVIRONMENT", "__iui"], "timeout": 60000, "slow": 500, "spec": ["./lib/**/*.test.js"] diff --git a/apps/full-stack-tests/eslint.config.cjs b/apps/full-stack-tests/eslint.config.cjs index b183fdd9e..ce4d7551e 100644 --- a/apps/full-stack-tests/eslint.config.cjs +++ b/apps/full-stack-tests/eslint.config.cjs @@ -12,11 +12,11 @@ module.exports = [ ...iTwinPlugin.configs.iTwinjsRecommendedConfig, }, { - files: ["src/{components,hierarchies-react}/**/*.{ts,tsx}"], + files: ["src/{components,hierarchies-react}/**/*.{ts,tsx}", "src/**/*.tsx"], ...iTwinPlugin.configs.uiConfig, }, { - files: ["src/{components,hierarchies-react}/**/*.{ts,tsx}"], + files: ["src/{components,hierarchies-react}/**/*.{ts,tsx}", "src/**/*.tsx"], rules: { ...reactPlugin.configs["jsx-runtime"].rules, }, diff --git a/apps/full-stack-tests/package.json b/apps/full-stack-tests/package.json index 7d3671e69..bbbad6fd8 100644 --- a/apps/full-stack-tests/package.json +++ b/apps/full-stack-tests/package.json @@ -3,13 +3,14 @@ "version": "0.0.0", "description": "Presentation integration tests", "private": true, + "type": "module", "scripts": { "build": "node ./scripts/setup-tests.cjs && tsc", "clean": "rimraf lib build", "cover": "npm run -s test", "lint": "eslint ./src/**/*.{ts,tsx}", - "test": "mocha --enable-source-maps --parallel --config ./.mocharc.json", - "test:dev": "mocha --enable-source-maps --config ./.mocharc.json", + "test:dev": "cross-env NODE_OPTIONS=\"--import presentation-test-utilities/node-hooks/ignore-styles\" mocha --enable-source-maps --config ./.mocharc.json", + "test": "npm run test:dev -- --parallel --jobs=4", "docs": "betools extract --fileExt=ts,tsx --extractFrom=./src --recursive --out=./build/docs/extract" }, "dependencies": { @@ -64,6 +65,7 @@ "chai-jest-snapshot": "catalog:test-tools", "chai-subset": "catalog:test-tools", "cpx2": "catalog:build-tools", + "cross-env": "catalog:build-tools", "eslint": "catalog:build-tools", "fast-xml-parser": "^4.5.0", "global-jsdom": "catalog:test-tools", diff --git a/apps/full-stack-tests/src/IntegrationTests.ts b/apps/full-stack-tests/src/IntegrationTests.ts index e90fe5381..af59dde78 100644 --- a/apps/full-stack-tests/src/IntegrationTests.ts +++ b/apps/full-stack-tests/src/IntegrationTests.ts @@ -66,7 +66,7 @@ export async function initialize(props?: { backendTimeout?: number }) { const presentationTestingInitProps: PresentationTestingInitProps = { rpcs: [SnapshotIModelRpcInterface, IModelReadRpcInterface, PresentationRpcInterface, ECSchemaRpcInterface], backendProps: backendInitProps, - backendHostProps: { cacheDir: path.join(__dirname, ".cache", `${process.pid}`) }, + backendHostProps: { cacheDir: path.join(import.meta.dirname, ".cache", `${process.pid}`) }, frontendProps: frontendInitProps, frontendApp: IntegrationTestsApp, frontendAppOptions, diff --git a/apps/full-stack-tests/src/RenderUtils.tsx b/apps/full-stack-tests/src/RenderUtils.tsx new file mode 100644 index 000000000..1d684b156 --- /dev/null +++ b/apps/full-stack-tests/src/RenderUtils.tsx @@ -0,0 +1,49 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Bentley Systems, Incorporated. All rights reserved. + * See LICENSE.md in the project root for license terms and full copyright notice. + *--------------------------------------------------------------------------------------------*/ + +import { createElement, PropsWithChildren, ReactElement } from "react"; +import { ThemeProvider } from "@itwin/itwinui-react"; +import { RenderOptions, RenderResult, render as renderRTL } from "@testing-library/react"; +import { userEvent, UserEvent } from "@testing-library/user-event"; + +function createWrapper(Outer: React.JSXElementConstructor<{ children: React.ReactNode }>) { + return (Inner?: React.JSXElementConstructor<{ children: React.ReactNode }>) => { + return Inner ? ({ children }: PropsWithChildren) => createElement(Outer, undefined, createElement(Inner, undefined, children)) : Outer; + }; +} + +function combineWrappers(wraps: Array>, wrapper?: React.JSXElementConstructor<{ children: React.ReactNode }>) { + let currWrapper = wrapper; + for (const wrap of wraps) { + currWrapper = wrap(currWrapper); + } + return currWrapper; +} + +function createDefaultWrappers(addThemeProvider?: boolean) { + const wrappers: Array> = []; + if (addThemeProvider) { + wrappers.push(createWrapper(ThemeProvider)); + } + return wrappers; +} + +/** + * Custom render function that wraps around `render` function from `@testing-library/react` and additionally + * setup `userEvent` from `@testing-library/user-event`. + * + * It should be used when test need to do interactions with rendered components. + */ +function customRender(ui: ReactElement, options?: RenderOptions & { addThemeProvider?: boolean }): RenderResult & { user: UserEvent } { + const wrappers = createDefaultWrappers(options?.addThemeProvider); + const wrapper = combineWrappers(wrappers, options?.wrapper); + return { + ...renderRTL(ui, { ...options, wrapper }), + user: userEvent.setup(), + }; +} + +export * from "@testing-library/react"; +export { customRender as render }; diff --git a/apps/full-stack-tests/src/components/ErrorBoundary.tsx b/apps/full-stack-tests/src/components/ErrorBoundary.tsx index 3f82a8874..1e74d6088 100644 --- a/apps/full-stack-tests/src/components/ErrorBoundary.tsx +++ b/apps/full-stack-tests/src/components/ErrorBoundary.tsx @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import { Component } from "react"; -import { getByText, waitFor } from "@testing-library/react"; +import { getByText, waitFor } from "../RenderUtils.js"; // __PUBLISH_EXTRACT_START__ Presentation.Components.SampleErrorBoundary /** diff --git a/apps/full-stack-tests/src/components/properties/ErrorHandling.test.tsx b/apps/full-stack-tests/src/components/properties/ErrorHandling.test.tsx index f04ad2cba..5ba8829e3 100644 --- a/apps/full-stack-tests/src/components/properties/ErrorHandling.test.tsx +++ b/apps/full-stack-tests/src/components/properties/ErrorHandling.test.tsx @@ -13,8 +13,8 @@ import { InstanceKey, KeySet, PresentationRpcInterface } from "@itwin/presentati import { PresentationPropertyDataProvider } from "@itwin/presentation-components"; import { Presentation } from "@itwin/presentation-frontend"; import { buildTestIModel } from "@itwin/presentation-testing"; -import { render } from "@testing-library/react"; import { initialize, terminate } from "../../IntegrationTests.js"; +import { render } from "../../RenderUtils.js"; import { useOptionalDisposable } from "../../UseOptionalDisposable.js"; import { ensureHasError, ErrorBoundary } from "../ErrorBoundary.js"; import { ensurePropertyGridHasPropertyRecord } from "../PropertyGridUtils.js"; @@ -27,6 +27,7 @@ describe("Learning snippets", () => { }); after(async () => { + UiComponents.terminate(); await terminate(); }); diff --git a/apps/full-stack-tests/src/components/properties/PresentationFilterBuilderValueRenderer.test.tsx b/apps/full-stack-tests/src/components/properties/PresentationFilterBuilderValueRenderer.test.tsx index 367edd55d..0de713835 100644 --- a/apps/full-stack-tests/src/components/properties/PresentationFilterBuilderValueRenderer.test.tsx +++ b/apps/full-stack-tests/src/components/properties/PresentationFilterBuilderValueRenderer.test.tsx @@ -6,19 +6,18 @@ import { expect } from "chai"; import { insertPhysicalElement, insertPhysicalModelWithPartition, insertSpatialCategory, waitFor } from "presentation-test-utilities"; import sinon from "sinon"; import { UiComponents } from "@itwin/components-react"; -import { EmptyLocalization } from "@itwin/core-common"; +import { IModelApp } from "@itwin/core-frontend"; import { ClassInfo, DefaultContentDisplayTypes, KeySet } from "@itwin/presentation-common"; import { PresentationFilterBuilderValueRenderer } from "@itwin/presentation-components"; import { Presentation } from "@itwin/presentation-frontend"; -import { queryByText, render } from "@testing-library/react"; -import { userEvent } from "@testing-library/user-event"; import { buildIModel, importSchema } from "../../IModelUtils.js"; import { initialize, terminate } from "../../IntegrationTests.js"; +import { queryByText, render } from "../../RenderUtils.js"; describe("Presentation filter builder value renderer", () => { before(async () => { await initialize(); - await UiComponents.initialize(new EmptyLocalization()); + await UiComponents.initialize(IModelApp.localization); sinon.stub(window.Element.prototype, "getBoundingClientRect").returns({ height: 20, @@ -35,6 +34,7 @@ describe("Presentation filter builder value renderer", () => { after(async () => { sinon.restore(); + UiComponents.terminate(); await terminate(); }); @@ -133,7 +133,7 @@ describe("Presentation filter builder value renderer", () => { }, ]; - const { baseElement, getByRole } = render( + const { baseElement, getByRole, user } = render( {}} @@ -146,7 +146,6 @@ describe("Presentation filter builder value renderer", () => { ); // trigger loadTargets function - const user = userEvent.setup(); const combobox = await waitFor(() => getByRole("combobox")); await user.click(combobox); await waitFor(async () => { @@ -250,7 +249,7 @@ describe("Presentation filter builder value renderer", () => { }, ]; - const { baseElement, getByRole } = render( + const { baseElement, getByRole, user } = render( {}} @@ -262,7 +261,6 @@ describe("Presentation filter builder value renderer", () => { ); // trigger loadTargets function - const user = userEvent.setup(); const combobox = await waitFor(() => getByRole("combobox")); await user.click(combobox); await waitFor(async () => { diff --git a/apps/full-stack-tests/src/components/table/ErrorHandling.test.tsx b/apps/full-stack-tests/src/components/table/ErrorHandling.test.tsx index 073ca43e6..f54aa24c2 100644 --- a/apps/full-stack-tests/src/components/table/ErrorHandling.test.tsx +++ b/apps/full-stack-tests/src/components/table/ErrorHandling.test.tsx @@ -13,8 +13,8 @@ import { InstanceKey, KeySet, Ruleset } from "@itwin/presentation-common"; import { TableColumnDefinition, TableRowDefinition, usePresentationTable } from "@itwin/presentation-components"; import { Presentation } from "@itwin/presentation-frontend"; import { buildTestIModel } from "@itwin/presentation-testing"; -import { render } from "@testing-library/react"; import { initialize, terminate } from "../../IntegrationTests.js"; +import { render } from "../../RenderUtils.js"; import { ensureHasError, ErrorBoundary } from "../ErrorBoundary.js"; import { ensureTableHasRowsWithCellValues } from "../TableUtils.js"; @@ -26,6 +26,7 @@ describe("Learning snippets", () => { }); after(async () => { + UiComponents.terminate(); await terminate(); }); diff --git a/apps/full-stack-tests/src/components/tree/ErrorHandling.test.tsx b/apps/full-stack-tests/src/components/tree/ErrorHandling.test.tsx index 7762eeebc..26b1db457 100644 --- a/apps/full-stack-tests/src/components/tree/ErrorHandling.test.tsx +++ b/apps/full-stack-tests/src/components/tree/ErrorHandling.test.tsx @@ -14,8 +14,8 @@ import { Ruleset } from "@itwin/presentation-common"; import { PresentationTree, PresentationTreeRenderer, usePresentationTreeState } from "@itwin/presentation-components"; import { Presentation } from "@itwin/presentation-frontend"; import { buildTestIModel } from "@itwin/presentation-testing"; -import { getByRole, render, waitFor } from "@testing-library/react"; import { initialize, terminate } from "../../IntegrationTests.js"; +import { getByRole, render, waitFor } from "../../RenderUtils.js"; import { getNodeByLabel, toggleExpandNode } from "../TreeUtils.js"; describe("Learning snippets", () => { @@ -28,6 +28,7 @@ describe("Learning snippets", () => { after(async () => { delete (HTMLElement.prototype as any).scrollIntoView; + UiComponents.terminate(); await terminate(); }); diff --git a/apps/full-stack-tests/src/components/tree/HierarchyLevelFiltering.test.tsx b/apps/full-stack-tests/src/components/tree/HierarchyLevelFiltering.test.tsx index 0672b63f6..bcfc29423 100644 --- a/apps/full-stack-tests/src/components/tree/HierarchyLevelFiltering.test.tsx +++ b/apps/full-stack-tests/src/components/tree/HierarchyLevelFiltering.test.tsx @@ -12,9 +12,8 @@ import { IModelApp, IModelConnection } from "@itwin/core-frontend"; import { Ruleset } from "@itwin/presentation-common"; import { PresentationTree, PresentationTreeRenderer, usePresentationTreeState } from "@itwin/presentation-components"; import { buildTestIModel } from "@itwin/presentation-testing"; -import { getByPlaceholderText, getByRole, getByTitle, render, waitFor } from "@testing-library/react"; -import { userEvent } from "@testing-library/user-event"; import { initialize, terminate } from "../../IntegrationTests.js"; +import { getByPlaceholderText, getByRole, getByTitle, render, waitFor } from "../../RenderUtils.js"; import { stubGetBoundingClientRect } from "../../Utils.js"; import { getNodeByLabel, toggleExpandNode } from "../TreeUtils.js"; @@ -31,6 +30,7 @@ describe("Learning snippets", () => { after(async () => { delete (HTMLElement.prototype as any).scrollIntoView; + UiComponents.terminate(); await terminate(); }); @@ -74,8 +74,7 @@ describe("Learning snippets", () => { }); // render the component - const user = userEvent.setup(); - const { container, baseElement } = render(); + const { container, baseElement, user } = render(, { addThemeProvider: true }); await waitFor(() => getByRole(container, "tree")); // find & expand the model node diff --git a/apps/full-stack-tests/src/components/tree/HierarchyLevelLimiting.test.tsx b/apps/full-stack-tests/src/components/tree/HierarchyLevelLimiting.test.tsx index 03c0a0417..d72760a3b 100644 --- a/apps/full-stack-tests/src/components/tree/HierarchyLevelLimiting.test.tsx +++ b/apps/full-stack-tests/src/components/tree/HierarchyLevelLimiting.test.tsx @@ -11,8 +11,8 @@ import { IModelApp, IModelConnection } from "@itwin/core-frontend"; import { PresentationRpcInterface, Ruleset } from "@itwin/presentation-common"; import { PresentationTree, PresentationTreeRenderer, usePresentationTreeState } from "@itwin/presentation-components"; import { buildTestIModel } from "@itwin/presentation-testing"; -import { getByRole, render, waitFor } from "@testing-library/react"; import { initialize, terminate } from "../../IntegrationTests.js"; +import { getByRole, render, waitFor } from "../../RenderUtils.js"; import { getNodeByLabel, toggleExpandNode } from "../TreeUtils.js"; describe("Learning snippets", () => { @@ -25,6 +25,7 @@ describe("Learning snippets", () => { after(async () => { delete (HTMLElement.prototype as any).scrollIntoView; + UiComponents.terminate(); await terminate(); }); @@ -77,7 +78,7 @@ describe("Learning snippets", () => { }); // render the component - const { container, getByText } = render(); + const { container, getByText } = render(, { addThemeProvider: true }); await waitFor(() => getByRole(container, "tree")); // find & expand both model nodes diff --git a/apps/full-stack-tests/src/components/tree/Update.test.tsx b/apps/full-stack-tests/src/components/tree/Update.test.tsx index 821e4520a..4aa51d4df 100644 --- a/apps/full-stack-tests/src/components/tree/Update.test.tsx +++ b/apps/full-stack-tests/src/components/tree/Update.test.tsx @@ -21,8 +21,8 @@ import { IModelApp, IModelConnection, SnapshotConnection } from "@itwin/core-fro import { ChildNodeSpecificationTypes, Ruleset, RuleTypes } from "@itwin/presentation-common"; import { IPresentationTreeDataProvider, usePresentationTreeState, UsePresentationTreeStateProps } from "@itwin/presentation-components"; import { Presentation } from "@itwin/presentation-frontend"; -import { renderHook, waitFor } from "@testing-library/react"; import { initialize, terminate } from "../../IntegrationTests.js"; +import { renderHook, waitFor } from "../../RenderUtils.js"; describe("Tree update", () => { let imodel: IModelConnection; diff --git a/apps/full-stack-tests/src/components/unified-selection/Hilite.test.tsx b/apps/full-stack-tests/src/components/unified-selection/Hilite.test.tsx index 78267c83e..89c12b2d4 100644 --- a/apps/full-stack-tests/src/components/unified-selection/Hilite.test.tsx +++ b/apps/full-stack-tests/src/components/unified-selection/Hilite.test.tsx @@ -17,8 +17,8 @@ import { InstanceKey, KeySet } from "@itwin/presentation-common"; import { viewWithUnifiedSelection } from "@itwin/presentation-components"; import { Presentation, TRANSIENT_ELEMENT_CLASSNAME } from "@itwin/presentation-frontend"; import { buildTestIModel as buildTestIModel } from "@itwin/presentation-testing"; -import { render, waitFor } from "@testing-library/react"; import { initialize, terminate } from "../../IntegrationTests.js"; +import { render, waitFor } from "../../RenderUtils.js"; describe("Unified Selection", () => { before(async () => { diff --git a/apps/full-stack-tests/src/components/unified-selection/PropertyGrid.test.tsx b/apps/full-stack-tests/src/components/unified-selection/PropertyGrid.test.tsx index d59ecaab8..e515e663f 100644 --- a/apps/full-stack-tests/src/components/unified-selection/PropertyGrid.test.tsx +++ b/apps/full-stack-tests/src/components/unified-selection/PropertyGrid.test.tsx @@ -11,8 +11,8 @@ import { InstanceKey, KeySet } from "@itwin/presentation-common"; import { PresentationPropertyDataProvider, usePropertyDataProviderWithUnifiedSelection } from "@itwin/presentation-components"; import { Presentation } from "@itwin/presentation-frontend"; import { buildTestIModel } from "@itwin/presentation-testing"; -import { act, getByText, render, waitFor } from "@testing-library/react"; import { initialize, terminate } from "../../IntegrationTests.js"; +import { act, getByText, render, waitFor } from "../../RenderUtils.js"; import { useOptionalDisposable } from "../../UseOptionalDisposable.js"; import { ensurePropertyGridHasPropertyRecord } from "../PropertyGridUtils.js"; @@ -24,6 +24,7 @@ describe("Learning snippets", async () => { }); after(async () => { + UiComponents.terminate(); await terminate(); }); diff --git a/apps/full-stack-tests/src/components/unified-selection/Table.test.tsx b/apps/full-stack-tests/src/components/unified-selection/Table.test.tsx index 53dd80bbf..8adb614f7 100644 --- a/apps/full-stack-tests/src/components/unified-selection/Table.test.tsx +++ b/apps/full-stack-tests/src/components/unified-selection/Table.test.tsx @@ -16,8 +16,8 @@ import { } from "@itwin/presentation-components"; import { Presentation } from "@itwin/presentation-frontend"; import { buildTestIModel } from "@itwin/presentation-testing"; -import { act, getByText, render, waitFor } from "@testing-library/react"; import { initialize, terminate } from "../../IntegrationTests.js"; +import { act, getByText, render, waitFor } from "../../RenderUtils.js"; import { ensureTableHasRowsWithCellValues } from "../TableUtils.js"; describe("Learning snippets", async () => { @@ -28,6 +28,7 @@ describe("Learning snippets", async () => { }); after(async () => { + UiComponents.terminate(); await terminate(); }); diff --git a/apps/full-stack-tests/src/components/unified-selection/Tree.test.tsx b/apps/full-stack-tests/src/components/unified-selection/Tree.test.tsx index 23bd1ebf3..e0d4d4ddc 100644 --- a/apps/full-stack-tests/src/components/unified-selection/Tree.test.tsx +++ b/apps/full-stack-tests/src/components/unified-selection/Tree.test.tsx @@ -17,8 +17,8 @@ import { } from "@itwin/presentation-components"; import { Presentation } from "@itwin/presentation-frontend"; import { buildTestIModel } from "@itwin/presentation-testing"; -import { act, fireEvent, render, waitFor } from "@testing-library/react"; import { initialize, terminate } from "../../IntegrationTests.js"; +import { act, fireEvent, render, waitFor } from "../../RenderUtils.js"; import { getNodeByLabel, isNodeSelectedInTree, toggleExpandNode } from "../TreeUtils.js"; describe("Learning snippets", async () => { @@ -29,6 +29,7 @@ describe("Learning snippets", async () => { }); after(async () => { + UiComponents.terminate(); await terminate(); }); diff --git a/apps/full-stack-tests/src/components/unified-selection/Viewport.test.tsx b/apps/full-stack-tests/src/components/unified-selection/Viewport.test.tsx index a0b36a18c..0e16d1457 100644 --- a/apps/full-stack-tests/src/components/unified-selection/Viewport.test.tsx +++ b/apps/full-stack-tests/src/components/unified-selection/Viewport.test.tsx @@ -14,8 +14,8 @@ import { InstanceKey, KeySet } from "@itwin/presentation-common"; import { viewWithUnifiedSelection } from "@itwin/presentation-components"; import { Presentation } from "@itwin/presentation-frontend"; import { buildTestIModel } from "@itwin/presentation-testing"; -import { render, waitFor } from "@testing-library/react"; import { initialize, terminate } from "../../IntegrationTests.js"; +import { render, waitFor } from "../../RenderUtils.js"; describe("Learning snippets", async () => { describe("Viewport", () => { diff --git a/apps/full-stack-tests/src/hierarchies-react/learning-snipptets/Localization.test.tsx b/apps/full-stack-tests/src/hierarchies-react/learning-snipptets/Localization.test.tsx index 69a9c3e9e..7fef1db89 100644 --- a/apps/full-stack-tests/src/hierarchies-react/learning-snipptets/Localization.test.tsx +++ b/apps/full-stack-tests/src/hierarchies-react/learning-snipptets/Localization.test.tsx @@ -7,7 +7,6 @@ import { expect } from "chai"; import { SchemaContext } from "@itwin/ecschema-metadata"; import { IModelConnection } from "@itwin/core-frontend"; -import { render, waitFor } from "@testing-library/react"; import { ECSchemaRpcLocater } from "@itwin/ecschema-rpcinterface-common"; import { insertPhysicalModelWithPartition } from "presentation-test-utilities"; import { createECSchemaProvider, createECSqlQueryExecutor } from "@itwin/presentation-core-interop"; @@ -30,6 +29,7 @@ import { } from "@itwin/presentation-hierarchies-react"; // __PUBLISH_EXTRACT_END__ import { buildIModel } from "../../IModelUtils.js"; +import { render, waitFor } from "../../RenderUtils.js"; import { stubGetBoundingClientRect } from "../../Utils.js"; import { initialize, terminate } from "../../IntegrationTests.js"; diff --git a/apps/full-stack-tests/src/hierarchies-react/learning-snipptets/ReadmeExample.test.tsx b/apps/full-stack-tests/src/hierarchies-react/learning-snipptets/ReadmeExample.test.tsx index a1acec5c8..d2591bbad 100644 --- a/apps/full-stack-tests/src/hierarchies-react/learning-snipptets/ReadmeExample.test.tsx +++ b/apps/full-stack-tests/src/hierarchies-react/learning-snipptets/ReadmeExample.test.tsx @@ -7,7 +7,6 @@ import { expect } from "chai"; import { insertPhysicalModelWithPartition } from "presentation-test-utilities"; -import { render, waitFor } from "@testing-library/react"; // __PUBLISH_EXTRACT_START__ Presentation.HierarchiesReact.iModelAccess.Imports import { IModelConnection } from "@itwin/core-frontend"; import { SchemaContext } from "@itwin/ecschema-metadata"; @@ -26,6 +25,7 @@ import { createBisInstanceLabelSelectClauseFactory } from "@itwin/presentation-s // __PUBLISH_EXTRACT_END__ import { buildIModel } from "../../IModelUtils.js"; import { initialize, terminate } from "../../IntegrationTests.js"; +import { render, waitFor } from "../../RenderUtils.js"; import { stubGetBoundingClientRect } from "../../Utils.js"; // __PUBLISH_EXTRACT_START__ Presentation.HierarchiesReact.iModelAccess diff --git a/apps/full-stack-tests/src/setup.ts b/apps/full-stack-tests/src/setup.ts index ba4a27223..1a53302c6 100644 --- a/apps/full-stack-tests/src/setup.ts +++ b/apps/full-stack-tests/src/setup.ts @@ -28,13 +28,16 @@ global.ResizeObserver = class ResizeObserver { }; // supply mocha hooks -import { cleanup } from "@testing-library/react"; +const { cleanup, configure } = await import("@testing-library/react"); export const mochaHooks = { beforeAll() { chaiJestSnapshot.resetSnapshotRegistry(); getGlobalThis().IS_REACT_ACT_ENVIRONMENT = true; }, beforeEach() { + // enable strict mode for each test by default + configure({ reactStrictMode: !process.env.DISABLE_STRICT_MODE }); + // set up snapshot name const currentTest = (this as unknown as Mocha.Context).currentTest!; const sourceFilePath = currentTest.file!.replace("lib", "src").replace(/\.(jsx?|tsx?)$/, ""); diff --git a/apps/full-stack-tests/src/unified-selection/HiliteSet.test.ts b/apps/full-stack-tests/src/unified-selection/HiliteSet.test.ts index ff0891791..eedd81dd1 100644 --- a/apps/full-stack-tests/src/unified-selection/HiliteSet.test.ts +++ b/apps/full-stack-tests/src/unified-selection/HiliteSet.test.ts @@ -35,7 +35,7 @@ describe("HiliteSet", () => { before(async () => { await initialize({ backendHostProps: { - cacheDir: path.join(__dirname, ".cache", `${process.pid}`), + cacheDir: path.join(import.meta.dirname, ".cache", `${process.pid}`), }, }); RpcManager.registerImpl(ECSchemaRpcInterface, ECSchemaRpcImpl); @@ -272,7 +272,7 @@ describe("HiliteSet", () => { describe("Functional element", () => { async function getSchemaFromPackage(packageName: string, schemaFileName: string): Promise { - const schemaFile = path.join(__dirname, "..", "..", "node_modules", "@bentley", packageName, schemaFileName); + const schemaFile = path.join(import.meta.dirname, "..", "..", "node_modules", "@bentley", packageName, schemaFileName); return fs.readFileSync(schemaFile, "utf8"); } diff --git a/apps/full-stack-tests/src/unified-selection/SelectionScope.test.ts b/apps/full-stack-tests/src/unified-selection/SelectionScope.test.ts index a9c018521..9c517c059 100644 --- a/apps/full-stack-tests/src/unified-selection/SelectionScope.test.ts +++ b/apps/full-stack-tests/src/unified-selection/SelectionScope.test.ts @@ -30,7 +30,7 @@ describe("SelectionScope", () => { before(async () => { await initialize({ backendHostProps: { - cacheDir: path.join(__dirname, ".cache", `${process.pid}`), + cacheDir: path.join(import.meta.dirname, ".cache", `${process.pid}`), }, }); RpcManager.registerImpl(ECSchemaRpcInterface, ECSchemaRpcImpl); @@ -43,7 +43,7 @@ describe("SelectionScope", () => { }); async function getSchemaFromPackage(packageName: string, schemaFileName: string): Promise { - const schemaFile = path.join(__dirname, "..", "..", "node_modules", "@bentley", packageName, schemaFileName); + const schemaFile = path.join(import.meta.dirname, "..", "..", "node_modules", "@bentley", packageName, schemaFileName); return fs.readFileSync(schemaFile, "utf8"); } diff --git a/apps/full-stack-tests/tsconfig.json b/apps/full-stack-tests/tsconfig.json index cbadf5e63..7293a9de5 100644 --- a/apps/full-stack-tests/tsconfig.json +++ b/apps/full-stack-tests/tsconfig.json @@ -1,8 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "module": "CommonJS", - "moduleResolution": "Node", + "module": "NodeNext", + "moduleResolution": "NodeNext", "sourceMap": true, "esModuleInterop": true, "allowSyntheticDefaultImports": true, diff --git a/packages/components/.mocharc.json b/packages/components/.mocharc.json index 83d3fea22..6b5ece9ca 100644 --- a/packages/components/.mocharc.json +++ b/packages/components/.mocharc.json @@ -1,8 +1,8 @@ { - "require": ["ignore-styles", "./lib/cjs/test/setup.js"], + "require": ["ignore-styles", "./lib/esm/test/setup.js"], "checkLeaks": true, "global": ["IS_REACT_ACT_ENVIRONMENT", "__iui"], "timeout": 60000, - "spec": ["./lib/cjs/test/**/*.test.js"], + "spec": ["./lib/esm/test/**/*.test.js"], "exclude": ["./lib/test/coverage/**/*"] } diff --git a/packages/components/.nycrc b/packages/components/.nycrc index 9e2511fd0..27f66c404 100644 --- a/packages/components/.nycrc +++ b/packages/components/.nycrc @@ -4,7 +4,7 @@ "functions": 100, "branches": 100, "lines": 100, - "include": ["src/presentation-components/**/*", "lib/cjs/presentation-components/**/*"], + "include": ["src/presentation-components/**/*", "lib/esm/presentation-components/**/*"], "temp-dir": "./lib/test/coverage/.nyc_output", "report-dir": "./lib/test/coverage", "reporter": ["text-summary", "lcov", "cobertura"] diff --git a/packages/components/package.json b/packages/components/package.json index f9f443516..547fb93a2 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -41,10 +41,10 @@ "copy:cjs": "cpx \"./src/**/*.{scss,json}\" ./lib/cjs", "copy:esm": "cpx \"./src/**/*.{scss,json}\" ./lib/esm", "clean": "rimraf lib build", - "cover": "nyc npm -s test", + "cover": "c8 npm run -s test", "lint": "eslint ./src/**/*.{ts,tsx}", - "test": "mocha --enable-source-maps --parallel --config ./.mocharc.json", - "test:dev": "mocha --enable-source-maps --config ./.mocharc.json", + "test:dev": "cross-env NODE_OPTIONS=\"--import presentation-test-utilities/node-hooks/ignore-styles\" mocha --enable-source-maps --config ./.mocharc.json", + "test": "npm run test:dev -- --parallel --jobs=4", "docs": "npm run -s docs:extract && npm run -s docs:reference && npm run -s docs:changelog", "docs:changelog": "cpx ./CHANGELOG.md ./build/docs/reference/presentation-components", "docs:reference": "cross-env NODE_PROJECT_ROOT_DIRECTORY=../../ betools docs --includes=./build/docs/extract --json=./build/docs/reference/presentation-components/file.json --tsIndexFile=presentation-components.ts --onlyJson", @@ -110,6 +110,7 @@ "@types/react-dom": "catalog:react", "@types/sinon": "catalog:test-tools", "@types/sinon-chai": "catalog:test-tools", + "c8": "catalog:test-tools", "chai": "catalog:test-tools", "chai-as-promised": "catalog:test-tools", "chai-jest-snapshot": "catalog:test-tools", @@ -122,7 +123,6 @@ "ignore-styles": "catalog:test-tools", "jsdom": "catalog:test-tools", "mocha": "catalog:test-tools", - "nyc": "catalog:test-tools", "presentation-build-tools": "workspace:^", "presentation-test-utilities": "workspace:^", "react": "catalog:react", @@ -130,6 +130,7 @@ "rimraf": "catalog:build-tools", "sinon": "catalog:test-tools", "sinon-chai": "catalog:test-tools", + "testdouble": "catalog:test-tools", "typescript": "catalog:build-tools" } } diff --git a/packages/components/src/presentation-components/common/ContentDataProvider.ts b/packages/components/src/presentation-components/common/ContentDataProvider.ts index 2c3bb8847..58f03be75 100644 --- a/packages/components/src/presentation-components/common/ContentDataProvider.ts +++ b/packages/components/src/presentation-components/common/ContentDataProvider.ts @@ -308,7 +308,7 @@ export class ContentDataProvider implements IContentDataProvider { private getDefaultContentDescriptor = memoize(async (): Promise => { this.setupListeners(); - // istanbul ignore if + /* c8 ignore next 5 */ if (this.keys.size > DEFAULT_KEYS_BATCH_SIZE) { const msg = `ContentDataProvider.getContentDescriptor requesting descriptor with ${this.keys.size} keys which exceeds the suggested size of ${DEFAULT_KEYS_BATCH_SIZE}. Possible "HTTP 413 Payload Too Large" error.`; @@ -388,7 +388,7 @@ export class ContentDataProvider implements IContentDataProvider { this.setupListeners(); const descriptorOverrides = await this.getDescriptorOverrides(); - // istanbul ignore if + /* c8 ignore next 5 */ if (this.keys.size > DEFAULT_KEYS_BATCH_SIZE) { const msg = `ContentDataProvider.getContent requesting with ${this.keys.size} keys which exceeds the suggested size of ${DEFAULT_KEYS_BATCH_SIZE}. Possible "HTTP 413 Payload Too Large" error.`; @@ -463,11 +463,11 @@ export class ContentDataProvider implements IContentDataProvider { class MemoizationHelpers { public static areContentRequestsEqual(lhsArgs: [PageOptions?], rhsArgs: [PageOptions?]): boolean { - // istanbul ignore next + /* c8 ignore next 3 */ if ((lhsArgs[0]?.start ?? 0) !== (rhsArgs[0]?.start ?? 0)) { return false; } - // istanbul ignore next + /* c8 ignore next 3 */ if ((lhsArgs[0]?.size ?? 0) !== (rhsArgs[0]?.size ?? 0)) { return false; } diff --git a/packages/components/src/presentation-components/common/Diagnostics.ts b/packages/components/src/presentation-components/common/Diagnostics.ts index 81243dbc0..9fdb34912 100644 --- a/packages/components/src/presentation-components/common/Diagnostics.ts +++ b/packages/components/src/presentation-components/common/Diagnostics.ts @@ -62,7 +62,6 @@ export function createDiagnosticsOptions(props: DiagnosticsProps): ClientDiagnos } let handler: ClientDiagnosticsHandler; - // istanbul ignore else if (props.devDiagnostics && props.ruleDiagnostics && props.devDiagnostics.handler !== props.ruleDiagnostics.handler) { handler = createCombinedDiagnosticsHandler([props.devDiagnostics.handler, props.ruleDiagnostics.handler]); } else if (props.devDiagnostics) { diff --git a/packages/components/src/presentation-components/common/StyleHelper.ts b/packages/components/src/presentation-components/common/StyleHelper.ts index d4ccaab93..dc925e157 100644 --- a/packages/components/src/presentation-components/common/StyleHelper.ts +++ b/packages/components/src/presentation-components/common/StyleHelper.ts @@ -205,7 +205,7 @@ export class StyleHelper { return (node.fontStyle?.indexOf("Italic") ?? -1) !== -1; // eslint-disable-line @typescript-eslint/no-deprecated } - // istanbul ignore next + /* c8 ignore next 3 */ public static getForeColor(node: Partial): number | undefined { return node.foreColor ? StyleHelper.getColor(node.foreColor) : undefined; // eslint-disable-line @typescript-eslint/no-deprecated } diff --git a/packages/components/src/presentation-components/common/Utils.ts b/packages/components/src/presentation-components/common/Utils.ts index c99c259cc..fcb8b8162 100644 --- a/packages/components/src/presentation-components/common/Utils.ts +++ b/packages/components/src/presentation-components/common/Utils.ts @@ -162,12 +162,11 @@ export class AsyncTasksTracker { } /** @internal */ -// istanbul ignore next +/* c8 ignore start */ export function useMergedRefs(...refs: Array | LegacyRef>): RefCallback { return useCallback( (instance: T | null) => { refs.forEach((ref) => { - // istanbul ignore else if (typeof ref === "function") { ref(instance); } else if (ref) { @@ -178,6 +177,7 @@ export function useMergedRefs(...refs: Array | Leg [...refs], // eslint-disable-line react-hooks/exhaustive-deps ); } +/* c8 ignore end */ /** * A hook that helps components throw errors in React's render loop so they can be captured by React error @@ -191,7 +191,7 @@ export function useErrorState() { const [_, setError] = useState(undefined); const setErrorState = useCallback((e: unknown) => { setError(() => { - throw e instanceof Error ? e : /* istanbul ignore next */ new Error(); + throw e instanceof Error ? e : /* c8 ignore next */ new Error(); }); }, []); return setErrorState; diff --git a/packages/components/src/presentation-components/favorite-properties/DataProvider.ts b/packages/components/src/presentation-components/favorite-properties/DataProvider.ts index ae8e7ad3f..d30486ee4 100644 --- a/packages/components/src/presentation-components/favorite-properties/DataProvider.ts +++ b/packages/components/src/presentation-components/favorite-properties/DataProvider.ts @@ -62,7 +62,7 @@ export class FavoritePropertiesDataProvider implements IFavoritePropertiesDataPr constructor(props?: FavoritePropertiesDataProviderProps) { this.includeFieldsWithNoValues = true; this.includeFieldsWithCompositeValues = true; - this._customRuleset = /* istanbul ignore next */ props?.ruleset; + this._customRuleset = /* c8 ignore next */ props?.ruleset; } /** @@ -93,10 +93,11 @@ export class FavoritePropertiesDataProvider implements IFavoritePropertiesDataPr return this.getData(imodel, keys); } - // istanbul ignore next + /* c8 ignore start */ private createPropertyDataProvider(imodel: IModelConnection, ruleset?: Ruleset | string) { const provider = new PresentationPropertyDataProvider({ imodel, ruleset }); provider.isNestedPropertyCategoryGroupingEnabled = false; return provider; } + /* c8 ignore end */ } diff --git a/packages/components/src/presentation-components/instance-filter-builder/ECMetadataProvider.ts b/packages/components/src/presentation-components/instance-filter-builder/ECMetadataProvider.ts index 523f0e8e7..0779fc124 100644 --- a/packages/components/src/presentation-components/instance-filter-builder/ECMetadataProvider.ts +++ b/packages/components/src/presentation-components/instance-filter-builder/ECMetadataProvider.ts @@ -10,7 +10,7 @@ import { compareStrings, Id64, Id64String, LRUDictionary } from "@itwin/core-ben import { ECSqlReader, QueryBinder, QueryOptions, QueryRowFormat } from "@itwin/core-common"; import { IModelConnection } from "@itwin/core-frontend"; -// istanbul ignore file +/* c8 ignore start */ /** @internal */ export class ECClassInfo { @@ -141,7 +141,7 @@ export function getIModelMetadataProvider(imodel: IModelConnection) { if (!metadataProvider) { metadataProvider = new ECMetadataProvider((ecsql: string, params?: QueryBinder, config?: QueryOptions) => imodel.createQueryReader(ecsql, params, config)); metadataProviders.set(imodel.key, metadataProvider); - // istanbul ignore next + /* c8 ignore next 3 */ imodel.onClose.addOnce(() => { metadataProviders.delete(imodel.key); }); diff --git a/packages/components/src/presentation-components/instance-filter-builder/InstanceFilterBuilder.tsx b/packages/components/src/presentation-components/instance-filter-builder/InstanceFilterBuilder.tsx index b9a6bda50..5df80ca1c 100644 --- a/packages/components/src/presentation-components/instance-filter-builder/InstanceFilterBuilder.tsx +++ b/packages/components/src/presentation-components/instance-filter-builder/InstanceFilterBuilder.tsx @@ -277,7 +277,7 @@ async function computeClassesByProperty( ): Promise { const metadataProvider = getIModelMetadataProvider(imodel); const propertyClass = await metadataProvider.getECClassInfo(property.sourceClassId); - // istanbul ignore next + /* c8 ignore next 3 */ if (!propertyClass) { return classes; } diff --git a/packages/components/src/presentation-components/instance-filter-builder/InstanceFilterConverter.ts b/packages/components/src/presentation-components/instance-filter-builder/InstanceFilterConverter.ts index 4c8bf0b49..79878ed4d 100644 --- a/packages/components/src/presentation-components/instance-filter-builder/InstanceFilterConverter.ts +++ b/packages/components/src/presentation-components/instance-filter-builder/InstanceFilterConverter.ts @@ -31,7 +31,7 @@ export async function findBaseExpressionClassName(imodel: IModelConnection, prop const metadataProvider = getIModelMetadataProvider(imodel); const [firstClassName, ...restClassNames] = propertyClassNames; let currentBaseClassInfo = await metadataProvider.getECClassInfo(firstClassName); - // istanbul ignore if + /* c8 ignore next 3 */ if (!currentBaseClassInfo) { return firstClassName; } diff --git a/packages/components/src/presentation-components/instance-filter-builder/PresentationFilterBuilder.tsx b/packages/components/src/presentation-components/instance-filter-builder/PresentationFilterBuilder.tsx index ebe0e9b43..ff94413db 100644 --- a/packages/components/src/presentation-components/instance-filter-builder/PresentationFilterBuilder.tsx +++ b/packages/components/src/presentation-components/instance-filter-builder/PresentationFilterBuilder.tsx @@ -25,7 +25,7 @@ import { createInstanceFilterPropertyInfos, useFilterBuilderNavigationPropertyEd * @beta * @deprecated in 5.0. Use `PresentationInstanceFilter.isConditionGroup` instead. */ -// istanbul ignore next +/* c8 ignore next 3 */ export function isPresentationInstanceFilterConditionGroup(filter: PresentationInstanceFilter): filter is PresentationInstanceFilterConditionGroup { return PresentationInstanceFilter.isConditionGroup(filter); } @@ -36,7 +36,7 @@ export function isPresentationInstanceFilterConditionGroup(filter: PresentationI * @beta * @deprecated in 5.0. Use `createInstanceFilterDefinition` instead. */ -// istanbul ignore next +/* c8 ignore next 3 */ export async function convertToInstanceFilterDefinition(filter: PresentationInstanceFilter, imodel: IModelConnection): Promise { return createInstanceFilterDefinitionBase(filter, imodel); } diff --git a/packages/components/src/presentation-components/instance-filter-builder/PresentationInstanceFilter.ts b/packages/components/src/presentation-components/instance-filter-builder/PresentationInstanceFilter.ts index ddcad297a..3d47b172a 100644 --- a/packages/components/src/presentation-components/instance-filter-builder/PresentationInstanceFilter.ts +++ b/packages/components/src/presentation-components/instance-filter-builder/PresentationInstanceFilter.ts @@ -468,7 +468,6 @@ function findFieldByPath(fields: Field[], pathToField: GenericInstanceFilterRela } const nestedField = findFieldByPath(field.nestedFields, pathMatchResult.leftOver); - // istanbul ignore else if (nestedField) { return nestedField; } diff --git a/packages/components/src/presentation-components/instance-filter-builder/PresentationInstanceFilterDialog.tsx b/packages/components/src/presentation-components/instance-filter-builder/PresentationInstanceFilterDialog.tsx index de4f630b3..dce61c13c 100644 --- a/packages/components/src/presentation-components/instance-filter-builder/PresentationInstanceFilterDialog.tsx +++ b/packages/components/src/presentation-components/instance-filter-builder/PresentationInstanceFilterDialog.tsx @@ -154,7 +154,6 @@ function useDelayLoadedPropertiesSource( } const updateState = (...params: Parameters) => { - // istanbul ignore else if (!disposed) { setState(...params); } diff --git a/packages/components/src/presentation-components/instance-filter-builder/Utils.ts b/packages/components/src/presentation-components/instance-filter-builder/Utils.ts index 07ab48053..8c1cb60ac 100644 --- a/packages/components/src/presentation-components/instance-filter-builder/Utils.ts +++ b/packages/components/src/presentation-components/instance-filter-builder/Utils.ts @@ -64,11 +64,10 @@ function createPropertyInfos(field: Field): PresentationInstanceFilterPropertyIn if (field.isNestedContentField()) { return field.nestedFields.flatMap((nestedField) => createPropertyInfos(nestedField)); } - // istanbul ignore else if (field.isPropertiesField()) { return [createPropertyInfoFromPropertiesField(field)]; } - // istanbul ignore next + /* c8 ignore next 3 */ return []; } @@ -158,7 +157,7 @@ export function filterRuleValidator(item: PropertyFilterBuilderRule) { return undefined; } - // istanbul ignore if + /* c8 ignore next 3 */ if (item.value !== undefined && item.value.valueFormat !== PropertyValueFormat.Primitive) { return undefined; } diff --git a/packages/components/src/presentation-components/properties/editors/NavigationPropertyEditor.tsx b/packages/components/src/presentation-components/properties/editors/NavigationPropertyEditor.tsx index fb5cd1d63..890ad6e48 100644 --- a/packages/components/src/presentation-components/properties/editors/NavigationPropertyEditor.tsx +++ b/packages/components/src/presentation-components/properties/editors/NavigationPropertyEditor.tsx @@ -16,14 +16,14 @@ import { useNavigationPropertyEditorContext } from "./NavigationPropertyEditorCo * @internal */ export class NavigationPropertyEditor extends PropertyEditorBase { - // istanbul ignore next + /* c8 ignore start */ public override get containerHandlesEnter(): boolean { return false; } - // istanbul ignore next public get reactNode(): React.ReactNode { return ; } + /* c8 ignore end */ } /** @@ -35,23 +35,22 @@ export class NavigationPropertyEditor extends PropertyEditorBase { export class NavigationPropertyTargetEditor extends PureComponent implements TypeEditor { private _ref = createRef(); - // istanbul ignore next + /* c8 ignore start */ public async getPropertyValue() { return this._ref.current?.getValue(); } - // istanbul ignore next public get htmlElement() { return this._ref.current?.htmlElement ?? null; } - // istanbul ignore next public get hasFocus() { if (!this._ref.current?.htmlElement || !document.activeElement) { return false; } return this._ref.current.htmlElement.contains(document.activeElement); } + /* c8 ignore end */ public override render() { return ; diff --git a/packages/components/src/presentation-components/properties/editors/NumericPropertyEditor.tsx b/packages/components/src/presentation-components/properties/editors/NumericPropertyEditor.tsx index 960c31271..f2e758b11 100644 --- a/packages/components/src/presentation-components/properties/editors/NumericPropertyEditor.tsx +++ b/packages/components/src/presentation-components/properties/editors/NumericPropertyEditor.tsx @@ -21,15 +21,15 @@ export const NumericEditorName = "presentation-numeric-editor"; * @internal */ export class NumericPropertyEditorBase extends PropertyEditorBase { - // istanbul ignore next + /* c8 ignore start */ public override get containerHandlesTab(): boolean { return false; } - // istanbul ignore next public get reactNode(): React.ReactNode { return ; } + /* c8 ignore end */ } /** @@ -40,23 +40,22 @@ export class NumericPropertyEditorBase extends PropertyEditorBase { export class NumericPropertyEditor extends PureComponent implements TypeEditor { private _ref = createRef(); - // istanbul ignore next + /* c8 ignore start */ public async getPropertyValue() { return this._ref.current?.getValue(); } - // istanbul ignore next public get htmlElement() { return this._ref.current?.htmlElement ?? null; } - // istanbul ignore next public get hasFocus() { if (!this._ref.current?.htmlElement || !document.activeElement) { return false; } return this._ref.current.htmlElement.contains(document.activeElement); } + /* c8 ignore end */ /** @internal */ public override render() { diff --git a/packages/components/src/presentation-components/properties/editors/QuantityPropertyEditor.tsx b/packages/components/src/presentation-components/properties/editors/QuantityPropertyEditor.tsx index 9dd117253..9edec4291 100644 --- a/packages/components/src/presentation-components/properties/editors/QuantityPropertyEditor.tsx +++ b/packages/components/src/presentation-components/properties/editors/QuantityPropertyEditor.tsx @@ -19,10 +19,11 @@ export const QuantityEditorName = "presentation-quantity-editor"; * @internal */ export class QuantityPropertyEditorBase extends PropertyEditorBase { - // istanbul ignore next + /* c8 ignore start */ public get reactNode(): React.ReactNode { return ; } + /* c8 ignore end */ } /** @@ -32,23 +33,22 @@ export class QuantityPropertyEditorBase extends PropertyEditorBase { export class QuantityPropertyEditor extends PureComponent implements TypeEditor { private _ref = createRef(); - // istanbul ignore next + /* c8 ignore start */ public async getPropertyValue() { return this._ref.current?.getValue(); } - // istanbul ignore next public get htmlElement() { return this._ref.current?.htmlElement ?? null; } - // istanbul ignore next public get hasFocus() { if (!this._ref.current?.htmlElement || !document.activeElement) { return false; } return this._ref.current.htmlElement.contains(document.activeElement); } + /* c8 ignore end */ /** @internal */ public override render() { diff --git a/packages/components/src/presentation-components/properties/inputs/NumericPropertyInput.tsx b/packages/components/src/presentation-components/properties/inputs/NumericPropertyInput.tsx index d1c224b93..08010bccc 100644 --- a/packages/components/src/presentation-components/properties/inputs/NumericPropertyInput.tsx +++ b/packages/components/src/presentation-components/properties/inputs/NumericPropertyInput.tsx @@ -48,7 +48,7 @@ function parsePrimitiveValue(value: string): PrimitiveValue { function getInputTargetFromPropertyRecord(propertyRecord: PropertyRecord) { const value = propertyRecord.value; - // istanbul ignore if + /* c8 ignore next 3 */ if (value.valueFormat !== PropertyValueFormat.Primitive) { return undefined; } diff --git a/packages/components/src/presentation-components/propertygrid/DataProvider.ts b/packages/components/src/presentation-components/propertygrid/DataProvider.ts index a4f24421f..792235018 100644 --- a/packages/components/src/presentation-components/propertygrid/DataProvider.ts +++ b/packages/components/src/presentation-components/propertygrid/DataProvider.ts @@ -245,12 +245,13 @@ export class PresentationPropertyDataProvider extends ContentDataProvider implem * @deprecated in 5.2. Use `sortFieldsAsync` instead. */ protected sortFields(category: CategoryDescription, fields: Field[]): void { - // istanbul ignore if + /* c8 ignore start */ if (category.name === FAVORITES_CATEGORY_NAME) { Presentation.favoriteProperties.sortFields(this.imodel, fields); } else { inPlaceSort(fields).by([{ desc: (f) => f.priority }, { asc: (f) => f.label, comparer: labelsComparer }]); } + /* c8 ignore end */ } /** * Sorts the specified list of fields by priority. May be overriden to supply a different sorting algorithm. @@ -349,7 +350,7 @@ export class PresentationPropertyDataProvider extends ContentDataProvider implem } private setupFavoritePropertiesListener() { - // istanbul ignore if + /* c8 ignore next 3 */ if (this._onFavoritesChangedRemoveListener) { return; } @@ -445,7 +446,6 @@ class PropertyDataBuilder extends InternalPropertyRecordsBuilder { const categorizedRecords: { [categoryName: string]: PropertyRecord[] } = {}; this._categorizedRecords.forEach((recs, categoryName) => { destructureRecords(recs); - // istanbul ignore else if (recs.length) { // note: will await on all async tasks before returning the result this._asyncTasks.push( @@ -474,7 +474,7 @@ class PropertyDataBuilder extends InternalPropertyRecordsBuilder { // determine which categories are actually used const usedCategoryNames = new Set(); this._categorizedRecords.forEach((records, categoryName) => { - // istanbul ignore if + /* c8 ignore next 3 */ if (records.length === 0) { return; } @@ -802,7 +802,6 @@ function destructureStructArrayItems(items: PropertyRecord[], fieldHierarchy: Fi // if we got a chance to destructure at least one item, replace old members with new ones // in the field hierarchy that we got - // istanbul ignore else if (items.length > 0) { fieldHierarchy.childFields = destructuredFields; } @@ -822,7 +821,6 @@ function destructureRecords(records: FieldHierarchyRecord[]) { // destructure 0 or 1 sized arrays by removing the array record and putting its first item in its place (if any) if (entry.record.value.items.length <= 1) { records.splice(i, 1); - // istanbul ignore else if (entry.record.value.items.length > 0) { const item = entry.record.value.items[0]; records.splice(i, 0, { ...entry, fieldHierarchy: entry.fieldHierarchy, record: item }); diff --git a/packages/components/src/presentation-components/propertygrid/UseUnifiedSelection.tsx b/packages/components/src/presentation-components/propertygrid/UseUnifiedSelection.tsx index c49118ed3..d688e1880 100644 --- a/packages/components/src/presentation-components/propertygrid/UseUnifiedSelection.tsx +++ b/packages/components/src/presentation-components/propertygrid/UseUnifiedSelection.tsx @@ -78,7 +78,7 @@ export function usePropertyDataProviderWithUnifiedSelection( } }; - // istanbul ignore next + /* c8 ignore start */ const handler = suppliedSelectionHandler ?? new SelectionHandler({ @@ -87,6 +87,7 @@ export function usePropertyDataProviderWithUnifiedSelection( imodel, rulesetId, }); + /* c8 ignore end */ handler.onSelect = (evt: SelectionChangeEventArgs): void => { updateProviderSelection(handler, evt.level); diff --git a/packages/components/src/presentation-components/table/CellRenderer.tsx b/packages/components/src/presentation-components/table/CellRenderer.tsx index 6c04727bf..198941933 100644 --- a/packages/components/src/presentation-components/table/CellRenderer.tsx +++ b/packages/components/src/presentation-components/table/CellRenderer.tsx @@ -83,16 +83,7 @@ function NonPrimitiveCellRenderer(props: NonPrimitiveCellRendererProps) { > {buttonLabel} - { - setIsOpen(false); - } - } - className="presentation-components-non-primitive-value" - > + setIsOpen(false)} className="presentation-components-non-primitive-value"> {/* Can't change our import to `components-react`, because it was added there in a version later than our peer dependency */} {/* eslint-disable-next-line @typescript-eslint/no-deprecated */} diff --git a/packages/components/src/presentation-components/table/UseColumns.ts b/packages/components/src/presentation-components/table/UseColumns.ts index 483189ac4..bba7d79bd 100644 --- a/packages/components/src/presentation-components/table/UseColumns.ts +++ b/packages/components/src/presentation-components/table/UseColumns.ts @@ -36,7 +36,6 @@ export function useColumns(props: UseColumnsProps): TableColumnDefinition[] | un void (async () => { try { const columnDefinitions = await loadColumns(imodel, ruleset, keys); - // istanbul ignore else if (!disposed) { setColumns(columnDefinitions ?? []); } diff --git a/packages/components/src/presentation-components/table/UseRows.ts b/packages/components/src/presentation-components/table/UseRows.ts index 146a086e7..a587128ea 100644 --- a/packages/components/src/presentation-components/table/UseRows.ts +++ b/packages/components/src/presentation-components/table/UseRows.ts @@ -302,8 +302,9 @@ class RowsBuilder extends InternalPropertyRecordsBuilder { } } -// istanbul ignore next +/* c8 ignore start */ const noopRowsLoader: RowsLoader = { loadPage: () => {}, reload: () => {}, }; +/* c8 ignore end */ diff --git a/packages/components/src/presentation-components/tree/DataProvider.ts b/packages/components/src/presentation-components/tree/DataProvider.ts index 42c16bccf..0284f4252 100644 --- a/packages/components/src/presentation-components/tree/DataProvider.ts +++ b/packages/components/src/presentation-components/tree/DataProvider.ts @@ -376,7 +376,6 @@ async function createNodesAndCountResult( }; } } - // istanbul ignore else if (e instanceof Error) { // eslint-disable-next-line no-console console.error(`Error creating nodes: ${e.toString()}`); diff --git a/packages/components/src/presentation-components/tree/FilteredDataProvider.ts b/packages/components/src/presentation-components/tree/FilteredDataProvider.ts index e00b153f0..6cf32af5d 100644 --- a/packages/components/src/presentation-components/tree/FilteredDataProvider.ts +++ b/packages/components/src/presentation-components/tree/FilteredDataProvider.ts @@ -51,7 +51,7 @@ export class FilteredPresentationTreeDataProvider implements IFilteredPresentati this._filteredDataProvider = new SimpleTreeDataProvider(hierarchy); } - // istanbul ignore next - only here to meet interface's requirements, nothing to test + /* c8 ignore next - only here to meet interface's requirements, nothing to test */ public dispose() {} public get rulesetId(): string { @@ -149,12 +149,13 @@ export class FilteredPresentationTreeDataProvider implements IFilteredPresentati return this._parentDataProvider.createRequestOptions(parentKey, instanceFilter); } - // istanbul ignore next /** @deprecated in 4.0. Use [[isPresentationTreeNodeItem]] and [[PresentationTreeNodeItem.key]] to get [NodeKey]($presentation-common). */ + /* c8 ignore start */ public getNodeKey(node: TreeNodeItem): NodeKey { // eslint-disable-next-line @typescript-eslint/no-deprecated return this._parentDataProvider.getNodeKey(node); } + /* c8 ignore end */ /** Check if node matches currently applied filter */ public nodeMatchesFilter(node: TreeNodeItem): boolean { diff --git a/packages/components/src/presentation-components/tree/Utils.ts b/packages/components/src/presentation-components/tree/Utils.ts index b74893b3c..18af9f63c 100644 --- a/packages/components/src/presentation-components/tree/Utils.ts +++ b/packages/components/src/presentation-components/tree/Utils.ts @@ -96,7 +96,7 @@ function assignOptionalTreeNodeItemFields(item: Partial, node: Partial) { // eslint-disable-next-line @typescript-eslint/no-deprecated if (node.imageId) { @@ -124,7 +124,6 @@ export function customizeTreeNodeItem(item: Partial, no } } -// istanbul ignore next function createTreeNodeItemStyle(node: Partial): ItemStyle { const style: ItemStyle = {}; if (StyleHelper.isBold(node)) { @@ -152,6 +151,7 @@ function createTreeNodeItemStyle(node: Partial): ItemStyle { return style; } +/* c8 ignore end */ /** @internal */ export function pageOptionsUiToPresentation(pageOptions?: UiPageOptions): PresentationPageOptions | undefined { diff --git a/packages/components/src/presentation-components/tree/controlled/TreeHooks.ts b/packages/components/src/presentation-components/tree/controlled/TreeHooks.ts index 68d91e68f..6f14fa82d 100644 --- a/packages/components/src/presentation-components/tree/controlled/TreeHooks.ts +++ b/packages/components/src/presentation-components/tree/controlled/TreeHooks.ts @@ -97,7 +97,7 @@ export function usePresentationTreeNodeLoader(props: PresentationTreeNodeLoaderP const nodeLoader = usePagedTreeNodeLoader(dataProvider, rest.pagingSize, modelSource); const renderedItems = useRef(undefined); - // istanbul ignore next + /* c8 ignore next 3 */ const onItemsRendered = useCallback((items: RenderedItemsRange) => { renderedItems.current = items; }, []); diff --git a/packages/components/src/presentation-components/tree/controlled/TreeReloader.ts b/packages/components/src/presentation-components/tree/controlled/TreeReloader.ts index 4fee8ec84..1e3073af8 100644 --- a/packages/components/src/presentation-components/tree/controlled/TreeReloader.ts +++ b/packages/components/src/presentation-components/tree/controlled/TreeReloader.ts @@ -58,7 +58,7 @@ export function reloadTree( const nodeLoader = new TreeReloader(dataProvider, modelSource, pageSize, treeModel, itemsRange); return nodeLoader.reloadTree().pipe( endWith(modelSource), - finalize(() => isIDisposable(nodeLoader) && /* istanbul ignore next */ nodeLoader.dispose()), + finalize(() => isIDisposable(nodeLoader) && /* c8 ignore next */ nodeLoader.dispose()), ); } diff --git a/packages/components/src/presentation-components/tree/controlled/UsePresentationTreeState.ts b/packages/components/src/presentation-components/tree/controlled/UsePresentationTreeState.ts index e0e689783..663fc3979 100644 --- a/packages/components/src/presentation-components/tree/controlled/UsePresentationTreeState.ts +++ b/packages/components/src/presentation-components/tree/controlled/UsePresentationTreeState.ts @@ -155,7 +155,7 @@ export function usePresentationTreeState(undefined); - // istanbul ignore next + /* c8 ignore next 3 */ const onItemsRendered = useCallback((items: RenderedItemsRange) => { renderedItems.current = items; }, []); diff --git a/packages/components/src/presentation-components/tree/controlled/UseTreeReload.ts b/packages/components/src/presentation-components/tree/controlled/UseTreeReload.ts index 5e1196cb8..55ebdbf92 100644 --- a/packages/components/src/presentation-components/tree/controlled/UseTreeReload.ts +++ b/packages/components/src/presentation-components/tree/controlled/UseTreeReload.ts @@ -51,6 +51,7 @@ function useModelSourceUpdateOnBriefcaseUpdate(params: TreeReloadParams): void { let subscription: Subscription | undefined; const reload = () => { + /* c8 ignore next */ subscription?.unsubscribe(); subscription = startTreeReload({ dataProviderProps, ruleset, pageSize, modelSource, renderedItems, onReload }); }; @@ -80,6 +81,7 @@ function useModelSourceUpdateOnIModelHierarchyUpdate(params: TreeReloadParams): return; } + /* c8 ignore next */ subscription?.unsubscribe(); subscription = startTreeReload({ dataProviderProps, ruleset, pageSize, modelSource, renderedItems, onReload }); }); @@ -106,6 +108,7 @@ function useModelSourceUpdateOnRulesetModification(params: TreeReloadParams): vo } // use ruleset id as only registered rulesets can be modified. + /* c8 ignore next */ subscription?.unsubscribe(); subscription = startTreeReload({ dataProviderProps, ruleset: modifiedRuleset.id, pageSize, modelSource, renderedItems, onReload }); }); @@ -128,6 +131,7 @@ function useModelSourceUpdateOnRulesetVariablesChange(params: TreeReloadParams): let subscription: Subscription | undefined; const removeListener = Presentation.presentation.vars(getRulesetId(ruleset)).onVariableChanged.addListener(() => { // note: we should probably debounce these events while accumulating changed variables in case multiple vars are changed + /* c8 ignore next */ subscription?.unsubscribe(); subscription = startTreeReload({ dataProviderProps, ruleset, pageSize, modelSource, renderedItems, onReload }); }); @@ -149,6 +153,7 @@ function useModelSourceUpdateOnUnitSystemChange(params: TreeReloadParams): void let subscription: Subscription | undefined; const removeListener = IModelApp.quantityFormatter.onActiveFormattingUnitSystemChanged.addListener(() => { + /* c8 ignore next */ subscription?.unsubscribe(); subscription = startTreeReload({ dataProviderProps, ruleset, pageSize, modelSource, renderedItems, onReload }); }); diff --git a/packages/components/src/presentation-components/tree/controlled/UseUnifiedSelection.ts b/packages/components/src/presentation-components/tree/controlled/UseUnifiedSelection.ts index 92551b15f..8338ff2d2 100644 --- a/packages/components/src/presentation-components/tree/controlled/UseUnifiedSelection.ts +++ b/packages/components/src/presentation-components/tree/controlled/UseUnifiedSelection.ts @@ -134,11 +134,12 @@ export class UnifiedSelectionTreeEventHandler extends TreeEventHandler implement } /** @deprecated in 4.0. Use [[isPresentationTreeNodeItem]] and [[PresentationTreeNodeItem.key]] to get [NodeKey]($presentation-common). */ - // istanbul ignore next + /* c8 ignore start */ protected getNodeKey(node: TreeNodeItem): NodeKey { // eslint-disable-next-line @typescript-eslint/no-deprecated return this.#dataProvider.getNodeKey(node); } + /* c8 ignore end */ /** * Determines if node should be selected. @@ -146,7 +147,7 @@ export class UnifiedSelectionTreeEventHandler extends TreeEventHandler implement * or node is ECInstance node and instance key is in selection. */ protected shouldSelectNode(node: TreeNodeItem, selection: Readonly) { - // istanbul ignore if + /* c8 ignore next 3 */ if (!isPresentationTreeNodeItem(node)) { return false; } @@ -174,7 +175,7 @@ export class UnifiedSelectionTreeEventHandler extends TreeEventHandler implement protected getKeys(nodes: TreeNodeItem[]): Keys { const nodeKeys: NodeKey[] = nodes - .map((node) => (isPresentationTreeNodeItem(node) ? node.key : /* istanbul ignore next */ undefined)) + .map((node) => (isPresentationTreeNodeItem(node) ? node.key : /* c8 ignore next */ undefined)) .filter((key) => key !== undefined) as NodeKey[]; return SelectionHelper.getKeysForSelection(nodeKeys); } @@ -240,7 +241,7 @@ export class UnifiedSelectionTreeEventHandler extends TreeEventHandler implement this.modelSource.modifyModel((model: MutableTreeModel) => { for (const nodeId of affectedNodeIds) { const node = model.getNode(nodeId); - // istanbul ignore if + /* c8 ignore next 3 */ if (!node) { continue; } diff --git a/packages/components/src/test/TestUtils.tsx b/packages/components/src/test/TestUtils.tsx index 838134039..c35525e19 100644 --- a/packages/components/src/test/TestUtils.tsx +++ b/packages/components/src/test/TestUtils.tsx @@ -4,18 +4,10 @@ *--------------------------------------------------------------------------------------------*/ import { expect } from "chai"; -import { createElement, Fragment, PropsWithChildren, ReactElement, StrictMode } from "react"; +import { createElement, PropsWithChildren, ReactElement } from "react"; import sinon from "sinon"; import { ThemeProvider } from "@itwin/itwinui-react"; -import { - RenderHookOptions, - RenderHookResult, - renderHook as renderHookRTL, - RenderOptions, - RenderResult, - render as renderRTL, - waitFor, -} from "@testing-library/react"; +import { RenderOptions, RenderResult, render as renderRTL, waitFor } from "@testing-library/react"; import { userEvent, UserEvent } from "@testing-library/user-event"; function createWrapper(Outer: React.JSXElementConstructor<{ children: React.ReactNode }>) { @@ -32,16 +24,11 @@ function combineWrappers(wraps: Array>, wrapper return currWrapper; } -function createDefaultWrappers(disableStrictMode?: boolean, addThemeProvider?: boolean) { +function createDefaultWrappers(addThemeProvider?: boolean) { const wrappers: Array> = []; if (addThemeProvider) { wrappers.push(createWrapper(ThemeProvider)); } - - // if `DISABLE_STRICT_MODE` is set do not wrap components into `StrictMode` component - const StrictModeWrapper = process.env.DISABLE_STRICT_MODE || disableStrictMode ? Fragment : StrictMode; - wrappers.push(createWrapper(StrictModeWrapper)); - return wrappers; } @@ -51,13 +38,9 @@ function createDefaultWrappers(disableStrictMode?: boolean, addThemeProvider?: b * * It should be used when test need to do interactions with rendered components. */ -function customRender( - ui: ReactElement, - options?: RenderOptions & { disableStrictMode?: boolean; addThemeProvider?: boolean }, -): RenderResult & { user: UserEvent } { - const wrappers = createDefaultWrappers(options?.disableStrictMode, options?.addThemeProvider); +function customRender(ui: ReactElement, options?: RenderOptions & { addThemeProvider?: boolean }): RenderResult & { user: UserEvent } { + const wrappers = createDefaultWrappers(options?.addThemeProvider); const wrapper = combineWrappers(wrappers, options?.wrapper); - return { ...renderRTL(ui, { ...options, wrapper }), user: userEvent.setup(), @@ -76,18 +59,8 @@ export async function waitForElement(container: HTMLEleme }); } -function customRenderHook( - render: (initialProps: Props) => Result, - options?: RenderHookOptions & { disableStrictMode?: boolean }, -): RenderHookResult { - const defaultWrappers = createDefaultWrappers(options?.disableStrictMode); - const combinedWrappers = combineWrappers(defaultWrappers, options?.wrapper); - return renderHookRTL(render, { ...options, wrapper: combinedWrappers }); -} - export * from "@testing-library/react"; export { customRender as render }; -export { customRenderHook as renderHook }; export function createStub any>(): sinon.SinonStub, ReturnType> { return sinon.stub, ReturnType>(); diff --git a/packages/components/src/test/common/Diagnostics.test.ts b/packages/components/src/test/common/Diagnostics.test.ts index af210b147..6dea3d30f 100644 --- a/packages/components/src/test/common/Diagnostics.test.ts +++ b/packages/components/src/test/common/Diagnostics.test.ts @@ -5,45 +5,63 @@ import { expect } from "chai"; import * as sinon from "sinon"; -import * as PresentationFrontendDiagnostics from "@itwin/presentation-frontend/lib/cjs/presentation-frontend/Diagnostics.js"; -import { createDiagnosticsOptions } from "../../presentation-components/common/Diagnostics.js"; +import * as td from "testdouble"; +import * as presentationFrontendModule from "@itwin/presentation-frontend"; +import * as diagnostics from "../../presentation-components/common/Diagnostics.js"; + +// this is needed for mocking external module +const presentationFrontendModulePath = import.meta.resolve("@itwin/presentation-frontend"); describe("createDiagnosticsOptions", () => { afterEach(() => { - sinon.restore(); + td.reset(); }); - it("returns undefined when neither rule nor dev diagnostic props are set", () => { - expect(createDiagnosticsOptions({ ruleDiagnostics: undefined, devDiagnostics: undefined })).to.be.undefined; + async function createDiagnosticsOptions( + ...props: Parameters + ): Promise> { + const impl = await import("../../presentation-components/common/Diagnostics.js"); + return impl.createDiagnosticsOptions(...props); + } + + it("returns undefined when neither rule nor dev diagnostic props are set", async () => { + expect(await createDiagnosticsOptions({ ruleDiagnostics: undefined, devDiagnostics: undefined })).to.be.undefined; }); - it("returns options with perf flag when dev diagnostic props have it", () => { + it("returns options with perf flag when dev diagnostic props have it", async () => { const handler = sinon.stub(); - expect(createDiagnosticsOptions({ devDiagnostics: { perf: true, handler } })).to.deep.eq({ perf: true, handler }); + expect(await createDiagnosticsOptions({ devDiagnostics: { perf: true, handler } })).to.deep.eq({ perf: true, handler }); }); - it("returns options with perf object when dev diagnostic props have it", () => { + it("returns options with perf object when dev diagnostic props have it", async () => { const handler = sinon.stub(); - expect(createDiagnosticsOptions({ devDiagnostics: { perf: { minimumDuration: 100 }, handler } })).to.deep.eq({ perf: { minimumDuration: 100 }, handler }); + expect(await createDiagnosticsOptions({ devDiagnostics: { perf: { minimumDuration: 100 }, handler } })).to.deep.eq({ + perf: { minimumDuration: 100 }, + handler, + }); }); - it("returns options with dev severity when dev diagnostic props have it", () => { + it("returns options with dev severity when dev diagnostic props have it", async () => { const handler = sinon.stub(); - expect(createDiagnosticsOptions({ devDiagnostics: { severity: "warning", handler } })).to.deep.eq({ dev: "warning", handler }); + expect(await createDiagnosticsOptions({ devDiagnostics: { severity: "warning", handler } })).to.deep.eq({ dev: "warning", handler }); }); - it("returns options with editor severity when rule diagnostic props are set", () => { + it("returns options with editor severity when rule diagnostic props are set", async () => { const handler = sinon.stub(); - expect(createDiagnosticsOptions({ ruleDiagnostics: { severity: "warning", handler } })).to.deep.eq({ editor: "warning", handler }); + expect(await createDiagnosticsOptions({ ruleDiagnostics: { severity: "warning", handler } })).to.deep.eq({ editor: "warning", handler }); }); - it("returns options with combined handler when rule and dev props have different handlers", () => { + it("returns options with combined handler when rule and dev props have different handlers", async () => { const combinedHandler = sinon.stub(); - const combineFunc = sinon.stub(PresentationFrontendDiagnostics, "createCombinedDiagnosticsHandler").returns(combinedHandler); + const combineFunc = sinon.stub().returns(combinedHandler); + await td.replaceEsm(presentationFrontendModulePath, { + ...presentationFrontendModule, + createCombinedDiagnosticsHandler: combineFunc, + }); const handler1 = sinon.stub(); const handler2 = sinon.stub(); expect( - createDiagnosticsOptions({ + await createDiagnosticsOptions({ devDiagnostics: { severity: "info", handler: handler1 }, ruleDiagnostics: { severity: "warning", handler: handler2 }, }), diff --git a/packages/components/src/test/instance-filter-builder/Utils.test.snap b/packages/components/src/test/instance-filter-builder/Utils.test.snap index 64b7935cc..a3faed359 100644 --- a/packages/components/src/test/instance-filter-builder/Utils.test.snap +++ b/packages/components/src/test/instance-filter-builder/Utils.test.snap @@ -137,6 +137,11 @@ Array [ "label": "Class Label", "name": "SchemaName:ClassName", }, + "kindOfQuantity": Object { + "label": "TestKoQ", + "name": "Test:KoQ", + "persistenceUnit": "u:M", + }, "name": "prop2", "type": "number", }, @@ -150,7 +155,11 @@ Array [ }, "propertyDescription": Object { "displayLabel": "Properties Field", + "editor": Object { + "name": "presentation-quantity-editor", + }, "name": "root#PropertiesField", + "quantityType": "Test:KoQ", "typename": "string", }, "sourceClassId": "0x1", diff --git a/packages/components/src/test/instance-filter-builder/Utils.test.ts b/packages/components/src/test/instance-filter-builder/Utils.test.ts index b54729260..6fb17fee3 100644 --- a/packages/components/src/test/instance-filter-builder/Utils.test.ts +++ b/packages/components/src/test/instance-filter-builder/Utils.test.ts @@ -39,7 +39,16 @@ describe("createInstanceFilterPropertyInfos", () => { category: rootCategory, }), createTestPropertiesContentField({ - properties: [{ property: { classInfo: createTestECClassInfo(), name: "prop2", type: "number" } }], + properties: [ + { + property: { + classInfo: createTestECClassInfo(), + name: "prop2", + type: "number", + kindOfQuantity: { label: "TestKoQ", name: "Test:KoQ", persistenceUnit: "u:M" }, + }, + }, + ], category: rootCategory, }), ], diff --git a/packages/components/src/test/properties/editors/NavigationPropertyEditor.test.tsx b/packages/components/src/test/properties/editors/NavigationPropertyEditor.test.tsx index 6feeac5f2..d787ec9ab 100644 --- a/packages/components/src/test/properties/editors/NavigationPropertyEditor.test.tsx +++ b/packages/components/src/test/properties/editors/NavigationPropertyEditor.test.tsx @@ -11,7 +11,6 @@ import { EmptyLocalization } from "@itwin/core-common"; import { IModelApp, IModelConnection } from "@itwin/core-frontend"; import { Content, KeySet, LabelDefinition, NavigationPropertyInfo } from "@itwin/presentation-common"; import { Presentation, PresentationManager } from "@itwin/presentation-frontend"; -import { userEvent } from "@testing-library/user-event"; import { IContentDataProvider } from "../../../presentation-components/common/ContentDataProvider.js"; import { NavigationPropertyTargetEditor } from "../../../presentation-components/properties/editors/NavigationPropertyEditor.js"; import { @@ -91,7 +90,6 @@ describe("", () => { }); it("invokes 'onCommit' when new target is selected changes", async () => { - const user = userEvent.setup(); const contentItem = createTestContentItem({ label: LabelDefinition.fromLabelString("TestLabel"), primaryKeys: [{ id: "1", className: "TestSchema:TestClass" }], @@ -100,7 +98,7 @@ describe("", () => { }); getContentStub.resolves(new Content(createTestContentDescriptor({ fields: [], categories: [] }), [contentItem])); const spy = sinon.spy(); - const { getByPlaceholderText, getByText, getByDisplayValue } = render( + const { getByPlaceholderText, getByText, getByDisplayValue, user } = render( {}} onCommit={spy} />, { getNavigationPropertyInfo: async () => ({ diff --git a/packages/components/src/test/properties/inputs/UseNavigationPropertyTargetsLoader.test.ts b/packages/components/src/test/properties/inputs/UseNavigationPropertyTargetsLoader.test.ts index fb9b84ab6..c8a2ecccc 100644 --- a/packages/components/src/test/properties/inputs/UseNavigationPropertyTargetsLoader.test.ts +++ b/packages/components/src/test/properties/inputs/UseNavigationPropertyTargetsLoader.test.ts @@ -121,9 +121,11 @@ describe("useNavigationPropertyTargetsLoader", () => { }); await waitFor(() => expect(result.current.isLoading).to.eq(false)); - await waitFor(() => expect(getContentIteratorStub).to.be.calledThrice); - const descriptor = getContentIteratorStub.getCall(2).args[0].descriptor; - expect(descriptor.fieldsFilterExpression).to.contain("testFilter"); + await waitFor(() => { + expect(getContentIteratorStub.callCount).to.be.greaterThanOrEqual(2); + const descriptor = getContentIteratorStub.lastCall.args[0].descriptor; + expect(descriptor.fieldsFilterExpression).to.contain("testFilter"); + }); }); }); @@ -196,9 +198,11 @@ describe("useNavigationPropertyTargetsLoader", () => { }); await waitFor(() => expect(result.current.isLoading).to.eq(false)); - await waitFor(() => expect(getContentStub).to.be.calledThrice); - const descriptor = getContentStub.getCall(2).args[0].descriptor; - expect(descriptor.fieldsFilterExpression).to.contain("testFilter"); + await waitFor(() => { + expect(getContentStub.callCount).to.be.greaterThanOrEqual(2); + const descriptor = getContentStub.lastCall.args[0].descriptor; + expect(descriptor.fieldsFilterExpression).to.contain("testFilter"); + }); }); }); }); diff --git a/packages/components/src/test/setup.ts b/packages/components/src/test/setup.ts index cc66fe067..9748f4bee 100644 --- a/packages/components/src/test/setup.ts +++ b/packages/components/src/test/setup.ts @@ -31,16 +31,19 @@ global.ResizeObserver = class ResizeObserver { // supply mocha hooks import path from "path"; -import { cleanup } from "@testing-library/react"; +const { cleanup, configure } = await import("@testing-library/react"); export const mochaHooks = { beforeAll() { chaiJestSnapshot.resetSnapshotRegistry(); getGlobalThis().IS_REACT_ACT_ENVIRONMENT = true; }, beforeEach() { + // enable strict mode for each test by default + configure({ reactStrictMode: !process.env.DISABLE_STRICT_MODE }); + // set up snapshot name const currentTest = (this as unknown as Mocha.Context).currentTest!; - const sourceFilePath = currentTest.file!.replace(`lib${path.sep}cjs${path.sep}test`, `src${path.sep}test`).replace(/\.(jsx?|tsx?)$/, ""); + const sourceFilePath = currentTest.file!.replace(`lib${path.sep}esm${path.sep}test`, `src${path.sep}test`).replace(/\.(jsx?|tsx?)$/, ""); const snapPath = `${sourceFilePath}.snap`; chaiJestSnapshot.setFilename(snapPath); chaiJestSnapshot.setTestName(currentTest.fullTitle()); diff --git a/packages/components/src/test/tree/controlled/UseUnifiedSelection.test.ts b/packages/components/src/test/tree/controlled/UseUnifiedSelection.test.ts index 1a7720c31..022f24b7a 100644 --- a/packages/components/src/test/tree/controlled/UseUnifiedSelection.test.ts +++ b/packages/components/src/test/tree/controlled/UseUnifiedSelection.test.ts @@ -42,7 +42,7 @@ import { IPresentationTreeDataProvider } from "../../../presentation-components/ import { PresentationTreeNodeItem } from "../../../presentation-components/tree/PresentationTreeNodeItem.js"; import { createTestECClassGroupingNodeKey, createTestECInstancesNodeKey } from "../../_helpers/Hierarchy.js"; import { createTestTreeNodeItem } from "../../_helpers/UiComponents.js"; -import { renderHook } from "../../TestUtils.js"; +import { configure, renderHook } from "../../TestUtils.js"; const awaitableObservable = (input: ObservableInput) => { const promise = new ResolvablePromise(); @@ -614,10 +614,10 @@ describe("useUnifiedSelectionTreeEventHandler", () => { }); it("creates and disposes UnifiedSelectionTreeEventHandler", () => { + configure({ reactStrictMode: false }); // eslint-disable-next-line @typescript-eslint/no-deprecated const { result, unmount } = renderHook((props: UnifiedSelectionTreeEventHandlerParams) => useUnifiedSelectionTreeEventHandler(props), { initialProps: { nodeLoader }, - disableStrictMode: true, }); expect(result.current).to.not.be.undefined; diff --git a/packages/components/tsconfig.cjs.json b/packages/components/tsconfig.cjs.json index bf9364d76..1ce1d3b07 100644 --- a/packages/components/tsconfig.cjs.json +++ b/packages/components/tsconfig.cjs.json @@ -4,5 +4,6 @@ "module": "CommonJS", "moduleResolution": "Node", "outDir": "lib/cjs" - } + }, + "exclude": ["src/test/**/*"] } diff --git a/packages/core-interop/.mocharc.json b/packages/core-interop/.mocharc.json index 5e33d97ce..b3b51a93e 100644 --- a/packages/core-interop/.mocharc.json +++ b/packages/core-interop/.mocharc.json @@ -1,8 +1,8 @@ { - "require": ["./lib/cjs/test/setup"], + "require": ["./lib/esm/test/setup.js"], "checkLeaks": true, "timeout": 60000, "parallel": false, - "spec": ["./lib/cjs/test/**/*.test.js"], + "spec": ["./lib/esm/test/**/*.test.js"], "exclude": ["./lib/test/coverage/**/*"] } diff --git a/packages/core-interop/.nycrc b/packages/core-interop/.nycrc index 12b0d06b8..5f0decfb3 100644 --- a/packages/core-interop/.nycrc +++ b/packages/core-interop/.nycrc @@ -5,7 +5,7 @@ "branches": 100, "lines": 100, "all": true, - "include": ["src/core-interop/**/*", "lib/cjs/core-interop/**/*"], + "include": ["src/core-interop/**/*", "lib/esm/core-interop/**/*"], "temp-dir": "./lib/test/coverage/.nyc_output", "report-dir": "./lib/test/coverage", "reporter": ["text-summary", "lcov", "cobertura"] diff --git a/packages/core-interop/package.json b/packages/core-interop/package.json index 1cc822aa7..b2ec164bc 100644 --- a/packages/core-interop/package.json +++ b/packages/core-interop/package.json @@ -34,10 +34,10 @@ "build:cjs": "node ../../scripts/package-cjs.mjs ./lib/cjs && tsc -p tsconfig.cjs.json", "build:esm": "tsc -p tsconfig.esm.json", "clean": "rimraf lib", - "cover": "nyc npm -s test", + "cover": "c8 npm -s test", "lint": "eslint ./src/**/*.ts", - "test": "mocha --enable-source-maps --config ./.mocharc.json", "test:dev": "mocha --enable-source-maps --config ./.mocharc.json", + "test": "npm run test:dev", "extract-api": "extract-api --entry=presentation-core-interop --apiReportFolder=./api --apiReportTempFolder=./api/temp --apiSummaryFolder=./api", "check-internal": "node ../../scripts/checkInternal.js --apiSummary ./api/presentation-core-interop.api.md", "validate-markdowns": "node ../../scripts/validateMarkdowns.js README.md" @@ -66,12 +66,12 @@ "@types/mocha": "catalog:test-tools", "@types/sinon": "catalog:test-tools", "@types/sinon-chai": "catalog:test-tools", + "c8": "catalog:test-tools", "chai": "catalog:test-tools", "chai-as-promised": "catalog:test-tools", "cpx2": "catalog:build-tools", "eslint": "catalog:build-tools", "mocha": "catalog:test-tools", - "nyc": "catalog:test-tools", "presentation-build-tools": "workspace:^", "rimraf": "catalog:build-tools", "rxjs-for-await": "catalog:rxjs", diff --git a/packages/core-interop/src/core-interop/Formatting.ts b/packages/core-interop/src/core-interop/Formatting.ts index 574b8f617..769eb3a68 100644 --- a/packages/core-interop/src/core-interop/Formatting.ts +++ b/packages/core-interop/src/core-interop/Formatting.ts @@ -61,7 +61,7 @@ interface CreateValueFormatterProps { */ export function createValueFormatter(props: CreateValueFormatterProps): IPrimitiveValueFormatter { const { schemaContext, unitSystem } = props; - const baseFormatter = props.baseFormatter ?? /* istanbul ignore next */ createDefaultValueFormatter(); + const baseFormatter = props.baseFormatter ?? /* c8 ignore next */ createDefaultValueFormatter(); const unitsProvider = new SchemaUnitProvider(schemaContext); return async function (value: TypedPrimitiveValue): Promise { if (value.type === "Double" && !!value.koqName) { @@ -106,7 +106,7 @@ interface FormattingProps { async function getFormattingProps(koq: KindOfQuantity, unitSystem?: UnitSystemKey): Promise { const persistenceUnit = await koq.persistenceUnit; - /* istanbul ignore next 3 */ + /* c8 ignore next 3 */ if (!persistenceUnit) { return undefined; } @@ -144,7 +144,7 @@ async function getKoqPresentationFormat(koq: KindOfQuantity, unitSystems: string for (const system of unitSystems) { for (const format of presentationFormats) { const unit = format.units && format.units[0][0]; - /* istanbul ignore next 3 */ + /* c8 ignore next 3 */ if (!unit) { continue; } diff --git a/packages/core-interop/tsconfig.cjs.json b/packages/core-interop/tsconfig.cjs.json index bf9364d76..1ce1d3b07 100644 --- a/packages/core-interop/tsconfig.cjs.json +++ b/packages/core-interop/tsconfig.cjs.json @@ -4,5 +4,6 @@ "module": "CommonJS", "moduleResolution": "Node", "outDir": "lib/cjs" - } + }, + "exclude": ["src/test/**/*"] } diff --git a/packages/hierarchies-react/.mocharc.json b/packages/hierarchies-react/.mocharc.json index 24499ca57..d76e022a8 100644 --- a/packages/hierarchies-react/.mocharc.json +++ b/packages/hierarchies-react/.mocharc.json @@ -1,8 +1,8 @@ { - "require": ["ignore-styles", "./lib/cjs/test/setup.js"], + "require": ["ignore-styles", "./lib/esm/test/setup.js"], "checkLeaks": true, "global": ["IS_REACT_ACT_ENVIRONMENT"], "timeout": 60000, - "spec": ["./lib/cjs/test/**/*.test.js"], + "spec": ["./lib/esm/test/**/*.test.js"], "exclude": ["./lib/test/coverage/**/*"] } diff --git a/packages/hierarchies-react/.nycrc b/packages/hierarchies-react/.nycrc index 139497c41..cdac98ac2 100644 --- a/packages/hierarchies-react/.nycrc +++ b/packages/hierarchies-react/.nycrc @@ -4,7 +4,7 @@ "functions": 100, "branches": 100, "lines": 100, - "include": ["src/presentation-hierarchies-react/**/*", "lib/cjs/presentation-hierarchies-react/**/*"], + "include": ["src/presentation-hierarchies-react/**/*", "lib/esm/presentation-hierarchies-react/**/*"], "temp-dir": "./lib/test/coverage/.nyc_output", "report-dir": "./lib/test/coverage", "reporter": ["text-summary", "lcov", "cobertura"] diff --git a/packages/hierarchies-react/package.json b/packages/hierarchies-react/package.json index d36ad1b72..99a6a7f21 100644 --- a/packages/hierarchies-react/package.json +++ b/packages/hierarchies-react/package.json @@ -45,10 +45,10 @@ "copy:cjs": "cpx \"./src/**/*.{css,json}\" ./lib/cjs", "copy:esm": "cpx \"./src/**/*.{css,json}\" ./lib/esm", "clean": "rimraf lib build", - "cover": "nyc npm -s test", + "cover": "c8 npm -s test", "lint": "eslint ./src/**/*.{ts,tsx}", - "test": "mocha --enable-source-maps --parallel --config ./.mocharc.json", - "test:dev": "mocha --enable-source-maps --config ./.mocharc.json", + "test:dev": "cross-env NODE_OPTIONS=\"--import presentation-test-utilities/node-hooks/ignore-styles\" mocha --enable-source-maps --config ./.mocharc.json", + "test": "npm run test:dev -- --parallel --jobs=4", "extract-api": "extract-api --entry=presentation-hierarchies-react --apiReportFolder=./api --apiReportTempFolder=./api/temp --apiSummaryFolder=./api", "check-internal": "node ../../scripts/checkInternal.js --apiSummary ./api/presentation-hierarchies-react.api.md", "update-extractions": "node ../../scripts/updateExtractions.js --targets=./README.md", @@ -92,17 +92,18 @@ "@types/react-dom": "catalog:react", "@types/sinon": "catalog:test-tools", "@types/sinon-chai": "catalog:test-tools", + "c8": "catalog:test-tools", "chai": "catalog:test-tools", "chai-as-promised": "catalog:test-tools", "chai-subset": "catalog:test-tools", "cpx2": "catalog:build-tools", + "cross-env": "catalog:build-tools", "eslint": "catalog:build-tools", "eslint-plugin-react": "catalog:build-tools", "global-jsdom": "catalog:test-tools", "ignore-styles": "catalog:test-tools", "jsdom": "catalog:test-tools", "mocha": "catalog:test-tools", - "nyc": "catalog:test-tools", "presentation-build-tools": "workspace:^", "presentation-test-utilities": "workspace:^", "react": "catalog:react", @@ -110,6 +111,7 @@ "rimraf": "catalog:build-tools", "sinon": "catalog:test-tools", "sinon-chai": "catalog:test-tools", + "testdouble": "catalog:test-tools", "typescript": "catalog:build-tools" } } diff --git a/packages/hierarchies-react/src/presentation-hierarchies-react/UseTree.ts b/packages/hierarchies-react/src/presentation-hierarchies-react/UseTree.ts index c42e6ab89..abc0f71c9 100644 --- a/packages/hierarchies-react/src/presentation-hierarchies-react/UseTree.ts +++ b/packages/hierarchies-react/src/presentation-hierarchies-react/UseTree.ts @@ -260,7 +260,7 @@ function useTreeInternal({ const setFormatter = useCallback( (formatter: IPrimitiveValueFormatter | undefined) => { currentFormatter.current = formatter; - /* istanbul ignore next 3 */ + /* c8 ignore next 3 */ if (!hierarchyProvider) { return; } diff --git a/packages/hierarchies-react/src/presentation-hierarchies-react/internal/TreeActions.ts b/packages/hierarchies-react/src/presentation-hierarchies-react/internal/TreeActions.ts index 4da641cc2..6332d6b3f 100644 --- a/packages/hierarchies-react/src/presentation-hierarchies-react/internal/TreeActions.ts +++ b/packages/hierarchies-react/src/presentation-hierarchies-react/internal/TreeActions.ts @@ -30,7 +30,7 @@ export class TreeActions { ) { this._loader = new NoopTreeLoader(); this._nodeIdFactory = nodeIdFactory ?? createNodeId; - this._currentModel = seed ?? /* istanbul ignore next */ { + this._currentModel = seed ?? /* c8 ignore next */ { idToNode: new Map(), parentChildMap: new Map(), rootNode: { id: undefined, nodeData: undefined }, @@ -90,7 +90,7 @@ export class TreeActions { private loadNodes(parentId: string, ignoreCache?: boolean) { const parentNode = this._currentModel.idToNode.get(parentId); - /* istanbul ignore next 3 */ + /* c8 ignore next 3 */ if (!parentNode || !isTreeModelHierarchyNode(parentNode)) { return; } @@ -126,7 +126,7 @@ export class TreeActions { const buildNode = (node: TreeModelHierarchyNode) => (!!options?.discardState || node.id === parentId ? node : addAttributes(node, oldModel)); const rootNode = parentId !== undefined ? this.getNode(parentId) : currModel.rootNode; - /* istanbul ignore next 3 */ + /* c8 ignore next 3 */ if (!rootNode || isTreeModelInfoNode(rootNode)) { return; } @@ -160,7 +160,7 @@ export class TreeActions { }, this._nodeIdFactory, ) - : /* istanbul ignore next */ new NoopTreeLoader(); + : /* c8 ignore next */ new NoopTreeLoader(); } public getNode(nodeId: string | undefined): TreeModelNode | TreeModelRootNode | undefined { @@ -313,12 +313,13 @@ function createHierarchyLevelOptions(model: TreeModel, nodeId: string | undefine return { instanceFilter: modelNode.instanceFilter, hierarchyLevelSizeLimit: modelNode.hierarchyLimit }; } -/* istanbul ignore next */ +/* c8 ignore start */ class NoopTreeLoader implements ITreeLoader { public loadNodes(): Observable { return EMPTY; } } +/* c8 ignore end */ class TimeTracker { private _start: number; @@ -333,7 +334,7 @@ class TimeTracker { } public finish() { - /* istanbul ignore next 3 */ + /* c8 ignore next 3 */ if (this._stopped) { return; } diff --git a/packages/hierarchies-react/src/presentation-hierarchies-react/internal/TreeLoader.ts b/packages/hierarchies-react/src/presentation-hierarchies-react/internal/TreeLoader.ts index 99b11f58c..f0d70c822 100644 --- a/packages/hierarchies-react/src/presentation-hierarchies-react/internal/TreeLoader.ts +++ b/packages/hierarchies-react/src/presentation-hierarchies-react/internal/TreeLoader.ts @@ -44,7 +44,7 @@ export class TreeLoader implements ITreeLoader { private _onHierarchyLoadError: (props: { parentId?: string; type: "timeout" | "unknown" }) => void, treeNodeIdFactory?: (node: Pick) => string, ) { - this._treeNodeIdFactory = treeNodeIdFactory ?? /* istanbul ignore next */ createNodeId; + this._treeNodeIdFactory = treeNodeIdFactory ?? /* c8 ignore next */ createNodeId; } private loadChildren({ parent, getHierarchyLevelOptions, buildNode, ignoreCache }: Omit) { diff --git a/packages/hierarchies-react/src/presentation-hierarchies-react/internal/TreeModel.ts b/packages/hierarchies-react/src/presentation-hierarchies-react/internal/TreeModel.ts index 79eab7cf0..76d869db7 100644 --- a/packages/hierarchies-react/src/presentation-hierarchies-react/internal/TreeModel.ts +++ b/packages/hierarchies-react/src/presentation-hierarchies-react/internal/TreeModel.ts @@ -121,7 +121,7 @@ export namespace TreeModel { } const parentNode = rootId !== undefined ? model.idToNode.get(rootId) : model.rootNode; - /* istanbul ignore next 3*/ + /* c8 ignore next 3*/ if (!parentNode || isTreeModelInfoNode(parentNode)) { return; } @@ -196,7 +196,7 @@ export namespace TreeModel { return; } const modelNode = model.idToNode.get(nodeId); - /* istanbul ignore next 3*/ + /* c8 ignore next 3*/ if (!modelNode || !isTreeModelHierarchyNode(modelNode)) { return; } diff --git a/packages/hierarchies-react/src/presentation-hierarchies-react/internal/UseUnifiedSelection.ts b/packages/hierarchies-react/src/presentation-hierarchies-react/internal/UseUnifiedSelection.ts index 28de744a8..a2a7bb556 100644 --- a/packages/hierarchies-react/src/presentation-hierarchies-react/internal/UseUnifiedSelection.ts +++ b/packages/hierarchies-react/src/presentation-hierarchies-react/internal/UseUnifiedSelection.ts @@ -32,8 +32,8 @@ export function useUnifiedTreeSelection({ getNode, }: UseUnifiedTreeSelectionProps & { getNode: (nodeId: string) => TreeModelNode | TreeModelRootNode | undefined }): TreeSelectionOptions { const [options, setOptions] = useState(() => ({ - isNodeSelected: /* istanbul ignore next */ () => false, - selectNodes: /* istanbul ignore next */ () => {}, + isNodeSelected: /* c8 ignore next */ () => false, + selectNodes: /* c8 ignore next */ () => {}, })); const selectionStorage = useUnifiedSelectionContext(); diff --git a/packages/hierarchies-react/src/presentation-hierarchies-react/itwinui/TreeNodeRenderer.tsx b/packages/hierarchies-react/src/presentation-hierarchies-react/itwinui/TreeNodeRenderer.tsx index c0e5776fb..7e8d2bf3c 100644 --- a/packages/hierarchies-react/src/presentation-hierarchies-react/itwinui/TreeNodeRenderer.tsx +++ b/packages/hierarchies-react/src/presentation-hierarchies-react/itwinui/TreeNodeRenderer.tsx @@ -158,9 +158,7 @@ export const TreeNodeRenderer: React.ForwardRefExoticComponent {}} /> - ); + return {}} />; } const onRetry = reloadTree ? () => reloadTree({ parentNodeId: node.parentNodeId, state: "reset" }) : undefined; @@ -170,7 +168,7 @@ export const TreeNodeRenderer: React.ForwardRefExoticComponent} isDisabled={true} - onExpanded={/* istanbul ignore next */ () => {}} + onExpanded={/* c8 ignore next */ () => {}} /> ); }, @@ -185,7 +183,7 @@ const PlaceholderNode = forwardRef} - onExpanded={/* istanbul ignore next */ () => {}} + onExpanded={/* c8 ignore next */ () => {}} /> ); }); @@ -199,7 +197,7 @@ const ResultSetTooLargeNode = forwardRef} - onExpanded={/* istanbul ignore next */ () => {}} + onExpanded={/* c8 ignore next */ () => {}} /> ); }, diff --git a/packages/hierarchies-react/src/test/UseIModelTree.test.tsx b/packages/hierarchies-react/src/test/UseIModelTree.test.tsx index a7c1006d8..64d9a726f 100644 --- a/packages/hierarchies-react/src/test/UseIModelTree.test.tsx +++ b/packages/hierarchies-react/src/test/UseIModelTree.test.tsx @@ -6,13 +6,20 @@ import { expect } from "chai"; import { createAsyncIterator } from "presentation-test-utilities"; import sinon from "sinon"; +import * as td from "testdouble"; import { BeEvent } from "@itwin/core-bentley"; import * as presentationHierarchiesModule from "@itwin/presentation-hierarchies"; -import { useIModelTree, useIModelUnifiedSelectionTree } from "../presentation-hierarchies-react/UseIModelTree.js"; +import { + useIModelTree as originalUseIModelTree, + useIModelUnifiedSelectionTree as originalUseIModelUnifiedSelectionTree, +} from "../presentation-hierarchies-react/UseIModelTree.js"; import { createStub, renderHook, waitFor } from "./TestUtils.js"; +// this is needed for mocking external module (see `td.replaceEsm` in `stubIModelHierarchyProviderFactory`) +const presentationHierarchiesPath = import.meta.resolve("@itwin/presentation-hierarchies"); + describe("useIModelTree", () => { - type UseIModelTreeProps = Parameters[0]; + type UseIModelTreeProps = Parameters[0]; const hierarchyDefinition = {} as presentationHierarchiesModule.HierarchyDefinition; const initialProps: UseIModelTreeProps = { imodelAccess: {} as UseIModelTreeProps["imodelAccess"], @@ -21,8 +28,10 @@ describe("useIModelTree", () => { }; let stubs: Awaited>; + let useIModelTree: typeof originalUseIModelTree; before(async () => { stubs = await stubIModelHierarchyProviderFactory(); + useIModelTree = (await import("../presentation-hierarchies-react/UseIModelTree.js")).useIModelTree; }); afterEach(() => { stubs.createIModelHierarchyProvider.resetHistory(); @@ -70,8 +79,10 @@ describe("useIModelUnifiedSelectionTree", () => { }; let stubs: Awaited>; + let useIModelUnifiedSelectionTree: typeof originalUseIModelUnifiedSelectionTree; before(async () => { stubs = await stubIModelHierarchyProviderFactory(); + useIModelUnifiedSelectionTree = (await import("../presentation-hierarchies-react/UseIModelTree.js")).useIModelUnifiedSelectionTree; }); afterEach(() => { stubs.createIModelHierarchyProvider.resetHistory(); @@ -117,12 +128,20 @@ async function stubIModelHierarchyProviderFactory() { setHierarchyFilter: createStub(), dispose: createStub<() => void>(), }; - const factory = sinon.stub(presentationHierarchiesModule, "createIModelHierarchyProvider").returns(hierarchyProvider); + const factory = sinon.fake, typeof hierarchyProvider>(() => { + return hierarchyProvider; + }); + + await td.replaceEsm(presentationHierarchiesPath, { + ...presentationHierarchiesModule, + createIModelHierarchyProvider: factory, + }); + return { hierarchyProvider, createIModelHierarchyProvider: factory, restore: () => { - sinon.restore(); + td.reset(); }, }; } diff --git a/packages/hierarchies-react/src/test/setup.ts b/packages/hierarchies-react/src/test/setup.ts index b856f69bc..c67c90cda 100644 --- a/packages/hierarchies-react/src/test/setup.ts +++ b/packages/hierarchies-react/src/test/setup.ts @@ -20,47 +20,8 @@ globalJsdom(undefined, { virtualConsole: new jsdom.VirtualConsole().sendTo(console, { omitJSDOMErrors: true }), }); -// make stubbing workspace package exports possible -import m from "module"; -import { execSync } from "node:child_process"; -const workspacePackages = getPaths(execSync("pnpm -r list --depth -1 --json", { encoding: "utf-8" })); -const root = workspacePackages.shift() as string; -const packagePaths = workspacePackages.map((path) => path.substring(root.length + 1)); -function getPaths(json: string) { - return (JSON.parse(json) as Array<{ path: string }>).map((pkg) => pkg.path); -} -const originalCompile = (m as any).prototype._compile; -(m as any).prototype._compile = function (content: any, filename: any) { - // Obtain exports from the loaded script - originalCompile.call(this, content, filename); - - if (!packagePaths.find((workspacePkgPath) => filename.includes(workspacePkgPath))) { - return; - } - - // Process the exports if and only if a plain object was exported - const exportsIsPlainObject = Object.getPrototypeOf(this.exports) === Object.prototype; - const exportsIsSettable = Object.getOwnPropertyDescriptor(this, "exports")?.configurable; - if (exportsIsPlainObject && exportsIsSettable) { - // Make properties writable - const relaxedExports: any = {}; - for (const [key, value] of Object.entries(this.exports)) { - relaxedExports[key] = value; - } - - // Object.entries does not list non-enumerable properties - for (const key of Object.getOwnPropertyNames(this.exports)) { - if (!(key in relaxedExports)) { - Object.defineProperty(relaxedExports, key, { configurable: true, enumerable: false, writable: true, value: this.exports[key] }); - } - } - - this.exports = relaxedExports; - } -}; - // supply mocha hooks -import { cleanup } from "@testing-library/react"; +const { cleanup } = await import("@testing-library/react"); export const mochaHooks = { beforeAll() { getGlobalThis().IS_REACT_ACT_ENVIRONMENT = true; diff --git a/packages/hierarchies-react/tsconfig.cjs.json b/packages/hierarchies-react/tsconfig.cjs.json index bf9364d76..1ce1d3b07 100644 --- a/packages/hierarchies-react/tsconfig.cjs.json +++ b/packages/hierarchies-react/tsconfig.cjs.json @@ -4,5 +4,6 @@ "module": "CommonJS", "moduleResolution": "Node", "outDir": "lib/cjs" - } + }, + "exclude": ["src/test/**/*"] } diff --git a/packages/hierarchies/.mocharc.json b/packages/hierarchies/.mocharc.json index ddf448875..b3b51a93e 100644 --- a/packages/hierarchies/.mocharc.json +++ b/packages/hierarchies/.mocharc.json @@ -1,8 +1,8 @@ { - "require": ["./lib/cjs/test/setup.js"], + "require": ["./lib/esm/test/setup.js"], "checkLeaks": true, "timeout": 60000, "parallel": false, - "spec": ["./lib/cjs/test/**/*.test.js"], + "spec": ["./lib/esm/test/**/*.test.js"], "exclude": ["./lib/test/coverage/**/*"] } diff --git a/packages/hierarchies/.nycrc b/packages/hierarchies/.nycrc index 2b9bca837..66992a046 100644 --- a/packages/hierarchies/.nycrc +++ b/packages/hierarchies/.nycrc @@ -5,7 +5,7 @@ "branches": 100, "lines": 100, "all": true, - "include": ["src/hierarchies/**/*", "lib/cjs/hierarchies/**/*"], + "include": ["src/hierarchies/**/*", "lib/esm/hierarchies/**/*"], "temp-dir": "./lib/test/coverage/.nyc_output", "report-dir": "./lib/test/coverage", "reporter": ["text-summary", "lcov", "cobertura"] diff --git a/packages/hierarchies/package.json b/packages/hierarchies/package.json index ca8b02470..1f1b89fdc 100644 --- a/packages/hierarchies/package.json +++ b/packages/hierarchies/package.json @@ -37,10 +37,10 @@ "build:cjs": "node ../../scripts/package-cjs.mjs ./lib/cjs && tsc -p tsconfig.cjs.json", "build:esm": "tsc -p tsconfig.esm.json", "clean": "rimraf lib", - "cover": "nyc npm -s test", + "cover": "c8 npm -s test", "lint": "eslint ./src/**/*.ts", - "test": "mocha --enable-source-maps --config ./.mocharc.json", "test:dev": "mocha --enable-source-maps --config ./.mocharc.json", + "test": "npm run test:dev", "extract-api": "extract-api --entry=presentation-hierarchies --apiReportFolder=./api --apiReportTempFolder=./api/temp --apiSummaryFolder=./api", "check-internal": "node ../../scripts/checkInternal.js --apiSummary ./api/presentation-hierarchies.api.md", "update-extractions": "node ../../scripts/updateExtractions.js --targets=./README.md,./learning", @@ -66,18 +66,19 @@ "@types/node": "catalog:build-tools", "@types/sinon": "catalog:test-tools", "@types/sinon-chai": "catalog:test-tools", + "c8": "catalog:test-tools", "chai": "catalog:test-tools", "chai-as-promised": "catalog:test-tools", "chai-subset": "catalog:test-tools", "cpx2": "catalog:build-tools", "eslint": "catalog:build-tools", "mocha": "catalog:test-tools", - "nyc": "catalog:test-tools", "presentation-build-tools": "workspace:^", "presentation-test-utilities": "workspace:^", "rimraf": "catalog:build-tools", "sinon": "catalog:test-tools", "sinon-chai": "catalog:test-tools", + "testdouble": "catalog:test-tools", "typescript": "catalog:build-tools" } } diff --git a/packages/hierarchies/src/hierarchies/Logging.ts b/packages/hierarchies/src/hierarchies/Logging.ts index 5dbc8a95e..80f241d92 100644 --- a/packages/hierarchies/src/hierarchies/Logging.ts +++ b/packages/hierarchies/src/hierarchies/Logging.ts @@ -13,7 +13,7 @@ let g_logger: ILogger = NOOP_LOGGER; * @beta */ export function setLogger(logger: ILogger | undefined) { - g_logger = logger ?? /* istanbul ignore next */ NOOP_LOGGER; + g_logger = logger ?? /* c8 ignore next */ NOOP_LOGGER; } /** diff --git a/packages/hierarchies/src/hierarchies/imodel/FilteringHierarchyDefinition.ts b/packages/hierarchies/src/hierarchies/imodel/FilteringHierarchyDefinition.ts index 766217863..05cd15235 100644 --- a/packages/hierarchies/src/hierarchies/imodel/FilteringHierarchyDefinition.ts +++ b/packages/hierarchies/src/hierarchies/imodel/FilteringHierarchyDefinition.ts @@ -55,7 +55,7 @@ export class FilteringHierarchyDefinition implements HierarchyDefinition { private shouldExpandGroupingNode(node: ProcessedGroupingHierarchyNode) { for (const child of node.children) { - /* istanbul ignore next */ + /* c8 ignore next 3 */ if (!child.filtering) { continue; } @@ -83,7 +83,7 @@ export class FilteringHierarchyDefinition implements HierarchyDefinition { } if (!child.filtering.filteredChildrenIdentifierPaths) { - /* istanbul ignore next */ + /* c8 ignore next */ continue; } @@ -138,7 +138,7 @@ export class FilteringHierarchyDefinition implements HierarchyDefinition { let filterTargetOptions: HierarchyFilteringPathOptions | undefined; for (const filteredChildrenNodeIdentifierPath of filteredChildrenNodeIdentifierPaths) { const { path, options } = HierarchyFilteringPath.normalize(filteredChildrenNodeIdentifierPath); - // istanbul ignore if + /* c8 ignore next 3 */ if (path.length === 0) { continue; } diff --git a/packages/hierarchies/src/hierarchies/imodel/IModelHierarchyProvider.ts b/packages/hierarchies/src/hierarchies/imodel/IModelHierarchyProvider.ts index 8362c5538..df37bc09b 100644 --- a/packages/hierarchies/src/hierarchies/imodel/IModelHierarchyProvider.ts +++ b/packages/hierarchies/src/hierarchies/imodel/IModelHierarchyProvider.ts @@ -214,7 +214,7 @@ class IModelHierarchyProviderImpl implements HierarchyProvider { private invalidateHierarchyCache(reason?: string) { doLog({ category: `${LOGGING_NAMESPACE}.Events`, - message: /* istanbul ignore next */ () => (reason ? `${reason}: clear hierarchy cache` : `Clear hierarchy cache`), + message: /* c8 ignore next */ () => (reason ? `${reason}: clear hierarchy cache` : `Clear hierarchy cache`), }); this._nodesCache?.clear(); } @@ -252,7 +252,7 @@ class IModelHierarchyProviderImpl implements HierarchyProvider { const { requestContext, ...defineHierarchyLevelProps } = props; doLog({ category: LOGGING_NAMESPACE_PERFORMANCE, - message: /* istanbul ignore next */ () => + message: /* c8 ignore next */ () => `[${requestContext.requestId}] Requesting hierarchy level definitions for ${createNodeIdentifierForLogging(props.parentNode)}`, }); return from( @@ -281,7 +281,7 @@ class IModelHierarchyProviderImpl implements HierarchyProvider { finalize(() => doLog({ category: LOGGING_NAMESPACE_PERFORMANCE, - message: /* istanbul ignore next */ () => + message: /* c8 ignore next */ () => `[${requestContext.requestId}] Received all hierarchy level definitions for ${createNodeIdentifierForLogging(props.parentNode)}`, }), ), @@ -320,8 +320,7 @@ class IModelHierarchyProviderImpl implements HierarchyProvider { finalize(() => doLog({ category: LOGGING_NAMESPACE_PERFORMANCE, - message: /* istanbul ignore next */ () => - `[${props.requestContext.requestId}] Read all child nodes ${createNodeIdentifierForLogging(props.parentNode)}`, + message: /* c8 ignore next */ () => `[${props.requestContext.requestId}] Read all child nodes ${createNodeIdentifierForLogging(props.parentNode)}`, }), ), shareReplayWithErrors(), @@ -351,7 +350,7 @@ class IModelHierarchyProviderImpl implements HierarchyProvider { finalize(() => doLog({ category: LOGGING_NAMESPACE_PERFORMANCE, - message: /* istanbul ignore next */ () => + message: /* c8 ignore next */ () => `[${props.requestContext.requestId}] Finished pre-processing child nodes for ${createNodeIdentifierForLogging(props.parentNode)}`, }), ), @@ -369,7 +368,7 @@ class IModelHierarchyProviderImpl implements HierarchyProvider { finalize(() => doLog({ category: LOGGING_NAMESPACE_PERFORMANCE, - message: /* istanbul ignore next */ () => + message: /* c8 ignore next */ () => `[${props.requestContext.requestId}] Finished grouping child nodes for ${createNodeIdentifierForLogging(props.parentNode)}`, }), ), @@ -396,7 +395,7 @@ class IModelHierarchyProviderImpl implements HierarchyProvider { finalize(() => doLog({ category: LOGGING_NAMESPACE_PERFORMANCE, - message: /* istanbul ignore next */ () => + message: /* c8 ignore next */ () => `[${props.requestContext.requestId}] Finished finalizing child nodes for ${createNodeIdentifierForLogging(props.parentNode)}`, }), ), @@ -412,7 +411,7 @@ class IModelHierarchyProviderImpl implements HierarchyProvider { return concat((possiblyKnownChildrenObservable ?? EMPTY).pipe(filter((n) => hasChildren(n))), preprocessedNodesObservable).pipe( log({ category: loggingCategory, - message: /* istanbul ignore next */ (n) => `[${props.requestContext.requestId}] Node before mapping to 'true': ${createNodeIdentifierForLogging(n)}`, + message: /* c8 ignore next */ (n) => `[${props.requestContext.requestId}] Node before mapping to 'true': ${createNodeIdentifierForLogging(n)}`, }), take(1), map(() => true), @@ -420,14 +419,14 @@ class IModelHierarchyProviderImpl implements HierarchyProvider { catchError((e: Error) => { doLog({ category: loggingCategory, - message: /* istanbul ignore next */ () => `[${props.requestContext.requestId}] Error while determining children: ${e.message}`, + message: /* c8 ignore next */ () => `[${props.requestContext.requestId}] Error while determining children: ${e.message}`, }); if (e instanceof RowsLimitExceededError) { return of(true); } throw e; }), - log({ category: loggingCategory, message: /* istanbul ignore next */ (r) => `[${props.requestContext.requestId}] Result: ${r}` }), + log({ category: loggingCategory, message: /* c8 ignore next */ (r) => `[${props.requestContext.requestId}] Result: ${r}` }), ); } @@ -438,7 +437,7 @@ class IModelHierarchyProviderImpl implements HierarchyProvider { if (cached) { doLog({ category: loggingCategory, - message: /* istanbul ignore next */ () => + message: /* c8 ignore next */ () => `[${props.requestContext.requestId}] Found query nodes observable for ${createNodeIdentifierForLogging(parentNode)}`, }); return cached; @@ -468,8 +467,7 @@ class IModelHierarchyProviderImpl implements HierarchyProvider { this._nodesCache?.set(nonGroupingNodeChildrenRequestProps, value); doLog({ category: loggingCategory, - message: /* istanbul ignore next */ () => - `[${props.requestContext.requestId}] Saved query nodes observable for ${createNodeIdentifierForLogging(parentNode)}`, + message: /* c8 ignore next */ () => `[${props.requestContext.requestId}] Saved query nodes observable for ${createNodeIdentifierForLogging(parentNode)}`, }); return value; } @@ -508,7 +506,7 @@ class IModelHierarchyProviderImpl implements HierarchyProvider { let nodesCount = 0; doLog({ category: loggingCategory, - message: /* istanbul ignore next */ () => `[${requestContext.requestId}] Requesting child nodes for ${createNodeIdentifierForLogging(props.parentNode)}`, + message: /* c8 ignore next */ () => `[${requestContext.requestId}] Requesting child nodes for ${createNodeIdentifierForLogging(props.parentNode)}`, }); return eachValueFrom( this.getChildNodesObservables({ ...props, requestContext }).finalizedNodes.pipe( @@ -520,8 +518,8 @@ class IModelHierarchyProviderImpl implements HierarchyProvider { finalize(() => { doLog({ category: loggingCategory, - message: /* istanbul ignore next */ () => - /* istanbul ignore next 3 */ error + message: /* c8 ignore next */ () => + /* c8 ignore next 3 */ error ? `[${requestContext.requestId}] Error creating child nodes for ${createNodeIdentifierForLogging(props.parentNode)}: ${error instanceof Error ? error.message : error.toString()}` : `[${requestContext.requestId}] Returned ${nodesCount} child nodes for ${createNodeIdentifierForLogging(props.parentNode)} in ${timer.currentSeconds.toFixed(2)} s.`, }); @@ -630,7 +628,7 @@ class IModelHierarchyProviderImpl implements HierarchyProvider { const timer = new StopWatch(undefined, true); doLog({ category: loggingCategory, - message: /* istanbul ignore next */ () => `[${requestContext.requestId}] Requesting keys for ${createNodeIdentifierForLogging(props.parentNode)}`, + message: /* c8 ignore next */ () => `[${requestContext.requestId}] Requesting keys for ${createNodeIdentifierForLogging(props.parentNode)}`, }); let error: any; let keysCount = 0; @@ -644,8 +642,8 @@ class IModelHierarchyProviderImpl implements HierarchyProvider { finalize(() => { doLog({ category: loggingCategory, - message: /* istanbul ignore next */ () => - /* istanbul ignore next 3 */ error + message: /* c8 ignore next */ () => + /* c8 ignore next 3 */ error ? `[${requestContext.requestId}] Error creating node instance keys for ${createNodeIdentifierForLogging(props.parentNode)}: ${error instanceof Error ? error.message : error.toString()}` : `[${requestContext.requestId}] Returned ${keysCount} instance keys for ${createNodeIdentifierForLogging(props.parentNode)} in ${timer.currentSeconds.toFixed(2)} s.`, }); @@ -718,7 +716,7 @@ function filterQueryByInstanceKeys(query: ECSqlQueryDef, filteredInstanceKeys: I bindings: [...(query.bindings ?? []), ...filteredInstanceKeys.map((k): ECSqlBinding => ({ type: "id", value: k.id }))], }; } - /* istanbul ignore next */ + /* c8 ignore start */ return { ...query, ecsql: ` @@ -728,4 +726,5 @@ function filterQueryByInstanceKeys(query: ECSqlQueryDef, filteredInstanceKeys: I `, bindings: [...(query.bindings ?? []), { type: "idset", value: filteredInstanceKeys.map((k) => k.id) }], }; + /* c8 ignore end */ } diff --git a/packages/hierarchies/src/hierarchies/imodel/LimitingECSqlQueryExecutor.ts b/packages/hierarchies/src/hierarchies/imodel/LimitingECSqlQueryExecutor.ts index 4e70ef4cd..c88632117 100644 --- a/packages/hierarchies/src/hierarchies/imodel/LimitingECSqlQueryExecutor.ts +++ b/packages/hierarchies/src/hierarchies/imodel/LimitingECSqlQueryExecutor.ts @@ -99,7 +99,7 @@ function createQueryLogger(query: ECSqlQueryDef, firstStepWarningThreshold = 300 const queryId = Guid.createValue(); doLog({ category: LOGGING_NAMESPACE, - message: /* istanbul ignore next */ () => `Executing query [${queryId}]: ${createQueryLogMessage(query)}`, + message: /* c8 ignore next */ () => `Executing query [${queryId}]: ${createQueryLogMessage(query)}`, }); let firstStep = true; @@ -108,26 +108,30 @@ function createQueryLogger(query: ECSqlQueryDef, firstStepWarningThreshold = 300 return { onStep() { if (firstStep) { + /* c8 ignore start */ doLog({ category: LOGGING_NAMESPACE_PERFORMANCE, - severity: /* istanbul ignore next */ timer.current.milliseconds >= firstStepWarningThreshold ? "warning" : "trace", - message: /* istanbul ignore next */ () => `[${queryId}] First step took ${timer.currentSeconds} s.`, + severity: timer.current.milliseconds >= firstStepWarningThreshold ? "warning" : "trace", + message: () => `[${queryId}] First step took ${timer.currentSeconds} s.`, }); + /* c8 ignore end */ firstStep = false; } ++rowsCount; }, onComplete() { + /* c8 ignore start */ doLog({ category: LOGGING_NAMESPACE_PERFORMANCE, - severity: /* istanbul ignore next */ timer.current.milliseconds >= allRowsWarningThreshold ? "warning" : "trace", - message: /* istanbul ignore next */ () => `[${queryId}] Query took ${timer.currentSeconds} s. for ${rowsCount} rows.`, + severity: timer.current.milliseconds >= allRowsWarningThreshold ? "warning" : "trace", + message: () => `[${queryId}] Query took ${timer.currentSeconds} s. for ${rowsCount} rows.`, }); + /* c8 ignore end */ }, }; } -/* istanbul ignore next */ +/* c8 ignore start */ function createQueryLogMessage(query: ECSqlQueryDef): string { const ctes = query.ctes?.map((cte) => ` ${trimWhitespace(cte)}`).join(", \n"); const bindings = query.bindings?.map((b) => JSON.stringify(b.value)).join(", "); @@ -142,3 +146,4 @@ function createQueryLogMessage(query: ECSqlQueryDef): string { output += "}"; return output; } +/* c8 ignore end */ diff --git a/packages/hierarchies/src/hierarchies/imodel/TreeNodesReader.ts b/packages/hierarchies/src/hierarchies/imodel/TreeNodesReader.ts index a4451fc86..7c40cec2a 100644 --- a/packages/hierarchies/src/hierarchies/imodel/TreeNodesReader.ts +++ b/packages/hierarchies/src/hierarchies/imodel/TreeNodesReader.ts @@ -39,7 +39,6 @@ export function readNodes(props: ReadNodesProps): Observable Observable) { return function (nodes: Observable): Observable { return nodes.pipe( - log({ category: LOGGING_NAMESPACE, message: /* istanbul ignore next */ (n) => `in: ${createNodeIdentifierForLogging(n)}` }), + log({ category: LOGGING_NAMESPACE, message: /* c8 ignore next */ (n) => `in: ${createNodeIdentifierForLogging(n)}` }), releaseMainThreadOnItemsCount(200), concatMap((n: ProcessedHierarchyNode): Observable => { if (n.children !== undefined) { @@ -30,12 +30,12 @@ export function createDetermineChildrenOperator(hasNodes: (node: ProcessedHierar return hasNodes(n).pipe( log({ category: LOGGING_NAMESPACE, - message: /* istanbul ignore next */ (hasChildrenFlag) => `${createNodeIdentifierForLogging(n)}: determined children: ${hasChildrenFlag}`, + message: /* c8 ignore next */ (hasChildrenFlag) => `${createNodeIdentifierForLogging(n)}: determined children: ${hasChildrenFlag}`, }), map((hasChildrenFlag) => Object.assign(n, { children: hasChildrenFlag })), ); }), - log({ category: LOGGING_NAMESPACE, message: /* istanbul ignore next */ (n) => `out: ${createNodeIdentifierForLogging(n)}` }), + log({ category: LOGGING_NAMESPACE, message: /* c8 ignore next */ (n) => `out: ${createNodeIdentifierForLogging(n)}` }), ); }; } diff --git a/packages/hierarchies/src/hierarchies/imodel/operators/Grouping.ts b/packages/hierarchies/src/hierarchies/imodel/operators/Grouping.ts index e5863d69c..124161fa9 100644 --- a/packages/hierarchies/src/hierarchies/imodel/operators/Grouping.ts +++ b/packages/hierarchies/src/hierarchies/imodel/operators/Grouping.ts @@ -42,11 +42,11 @@ export function createGroupingOperator( ) { return function (nodes: Observable): Observable { return nodes.pipe( - log({ category: LOGGING_NAMESPACE, message: /* istanbul ignore next */ (n) => `in: ${createNodeIdentifierForLogging(n)}` }), + log({ category: LOGGING_NAMESPACE, message: /* c8 ignore next */ (n) => `in: ${createNodeIdentifierForLogging(n)}` }), tapOnce(() => { doLog({ category: LOGGING_NAMESPACE_PERFORMANCE, - message: /* istanbul ignore next */ () => `Starting grouping (parent: ${createNodeIdentifierForLogging(parentNode)})`, + message: /* c8 ignore next */ () => `Starting grouping (parent: ${createNodeIdentifierForLogging(parentNode)})`, }); }), reduce( @@ -63,13 +63,13 @@ export function createGroupingOperator( tap(({ instanceNodes, restNodes }) => { doLog({ category: LOGGING_NAMESPACE_PERFORMANCE_INTERNAL, - message: /* istanbul ignore next */ () => `Nodes partitioned. Got ${instanceNodes.length} instance nodes and ${restNodes.length} rest nodes.`, + message: /* c8 ignore next */ () => `Nodes partitioned. Got ${instanceNodes.length} instance nodes and ${restNodes.length} rest nodes.`, }); }), mergeMap((res) => { const out = of(res); const totalNodes = res.instanceNodes.length + res.restNodes.length; - /* istanbul ignore next */ + /* c8 ignore next */ return totalNodes <= 1000 ? out : out.pipe(delay(0)); }), mergeMap(({ instanceNodes, restNodes }): Observable => { @@ -86,7 +86,7 @@ export function createGroupingOperator( finalize(() => { doLog({ category: LOGGING_NAMESPACE_PERFORMANCE, - message: /* istanbul ignore next */ () => `Grouping ${instanceNodes.length} nodes took ${timer.elapsedSeconds.toFixed(3)} s`, + message: /* c8 ignore next */ () => `Grouping ${instanceNodes.length} nodes took ${timer.elapsedSeconds.toFixed(3)} s`, }); }), ), @@ -94,7 +94,7 @@ export function createGroupingOperator( ); }), releaseMainThreadOnItemsCount(500), - log({ category: LOGGING_NAMESPACE, message: /* istanbul ignore next */ (n) => `out: ${createNodeIdentifierForLogging(n)}` }), + log({ category: LOGGING_NAMESPACE, message: /* c8 ignore next */ (n) => `out: ${createNodeIdentifierForLogging(n)}` }), ); }; } @@ -140,7 +140,7 @@ function groupInstanceNodes( return from(currentHandler(curr?.ungrouped ?? nodes, curr?.grouped ?? [])).pipe( log({ category: LOGGING_NAMESPACE_PERFORMANCE_INTERNAL, - message: /* istanbul ignore next */ () => `Grouping handler ${handlerIndex} exclusively took ${timer.elapsedSeconds.toFixed(3)} s.`, + message: /* c8 ignore next */ () => `Grouping handler ${handlerIndex} exclusively took ${timer.elapsedSeconds.toFixed(3)} s.`, }), mergeMap((result) => { if (result.grouped.length === 0) { @@ -153,7 +153,7 @@ function groupInstanceNodes( map((r) => ({ handlerIndex: handlerIndex + 1, result: { ...r, grouped: mergeInPlace(curr?.grouped, r.grouped) } })), log({ category: LOGGING_NAMESPACE_PERFORMANCE_INTERNAL, - message: /* istanbul ignore next */ () => + message: /* c8 ignore next */ () => `Post-processing grouping handler ${handlerIndex} exclusively took ${groupingPostProcessingTimer.elapsedSeconds.toFixed(3)} s.`, }), delay(0), @@ -161,7 +161,7 @@ function groupInstanceNodes( }), log({ category: LOGGING_NAMESPACE_PERFORMANCE_INTERNAL, - message: /* istanbul ignore next */ () => `Total time for grouping handler ${handlerIndex}: ${timer.elapsedSeconds.toFixed(3)} s.`, + message: /* c8 ignore next */ () => `Total time for grouping handler ${handlerIndex}: ${timer.elapsedSeconds.toFixed(3)} s.`, }), ); }), @@ -221,7 +221,7 @@ export function createGroupingHandlers( subscribe: () => { doLog({ category: LOGGING_NAMESPACE_PERFORMANCE_INTERNAL, - message: /* istanbul ignore next */ () => `Start creating grouping handlers`, + message: /* c8 ignore next */ () => `Start creating grouping handlers`, }); timer.start(); }, @@ -229,7 +229,7 @@ export function createGroupingHandlers( finalize(() => { doLog({ category: LOGGING_NAMESPACE_PERFORMANCE_INTERNAL, - message: /* istanbul ignore next */ () => `Creating grouping handlers took ${timer.elapsedSeconds.toFixed(3)} s`, + message: /* c8 ignore next */ () => `Creating grouping handlers took ${timer.elapsedSeconds.toFixed(3)} s`, }); }), ); diff --git a/packages/hierarchies/src/hierarchies/imodel/operators/HideIfNoChildren.ts b/packages/hierarchies/src/hierarchies/imodel/operators/HideIfNoChildren.ts index 6179f5f88..9f08959be 100644 --- a/packages/hierarchies/src/hierarchies/imodel/operators/HideIfNoChildren.ts +++ b/packages/hierarchies/src/hierarchies/imodel/operators/HideIfNoChildren.ts @@ -20,7 +20,7 @@ export const LOGGING_NAMESPACE = createOperatorLoggingNamespace(OPERATOR_NAME, L */ export function createHideIfNoChildrenOperator(hasNodes: (node: ProcessedHierarchyNode) => Observable) { return function (nodes: Observable): Observable { - const inputNodes = nodes.pipe(log({ category: LOGGING_NAMESPACE, message: /* istanbul ignore next */ (n) => `in: ${createNodeIdentifierForLogging(n)}` })); + const inputNodes = nodes.pipe(log({ category: LOGGING_NAMESPACE, message: /* c8 ignore next */ (n) => `in: ${createNodeIdentifierForLogging(n)}` })); // split input into 3 pieces: // - `doesntNeedHide` - nodes without the flag (return no matter if they have children or not) // - `determinedChildren` - nodes with the flag and known children @@ -32,26 +32,24 @@ export function createHideIfNoChildrenOperator(hasNodes: (node: ProcessedHierarc ); const [determinedChildren, undeterminedChildren] = partition(needsHide, (n) => n.children !== undefined); return merge( - doesntNeedHide.pipe( - log({ category: LOGGING_NAMESPACE, message: /* istanbul ignore next */ (n) => `${createNodeIdentifierForLogging(n)}: doesn't need hide` }), - ), + doesntNeedHide.pipe(log({ category: LOGGING_NAMESPACE, message: /* c8 ignore next */ (n) => `${createNodeIdentifierForLogging(n)}: doesn't need hide` })), merge( determinedChildren.pipe( - log({ category: LOGGING_NAMESPACE, message: /* istanbul ignore next */ (n) => `${createNodeIdentifierForLogging(n)}: needs hide, has children` }), + log({ category: LOGGING_NAMESPACE, message: /* c8 ignore next */ (n) => `${createNodeIdentifierForLogging(n)}: needs hide, has children` }), ), undeterminedChildren.pipe( - log({ category: LOGGING_NAMESPACE, message: /* istanbul ignore next */ (n) => `${createNodeIdentifierForLogging(n)}: needs hide, needs children` }), + log({ category: LOGGING_NAMESPACE, message: /* c8 ignore next */ (n) => `${createNodeIdentifierForLogging(n)}: needs hide, needs children` }), mergeMap( (n) => defer(() => { doLog({ category: LOGGING_NAMESPACE, - message: /* istanbul ignore next */ () => `${createNodeIdentifierForLogging(n)}: requesting children flag`, + message: /* c8 ignore next */ () => `${createNodeIdentifierForLogging(n)}: requesting children flag`, }); return hasNodes(n).pipe( log({ category: LOGGING_NAMESPACE, - message: /* istanbul ignore next */ (childrenFlag) => `${createNodeIdentifierForLogging(n)}: determined children: ${childrenFlag}`, + message: /* c8 ignore next */ (childrenFlag) => `${createNodeIdentifierForLogging(n)}: determined children: ${childrenFlag}`, }), map((children) => Object.assign(n, { children })), ); @@ -65,10 +63,10 @@ export function createHideIfNoChildrenOperator(hasNodes: (node: ProcessedHierarc ), log({ category: LOGGING_NAMESPACE, - message: /* istanbul ignore next */ (n) => `${createNodeIdentifierForLogging(n)}: needs hide, determined children: ${hasChildren(n)}`, + message: /* c8 ignore next */ (n) => `${createNodeIdentifierForLogging(n)}: needs hide, determined children: ${hasChildren(n)}`, }), ), ).pipe(filter(hasChildren)), - ).pipe(log({ category: LOGGING_NAMESPACE, message: /* istanbul ignore next */ (n) => `out: ${createNodeIdentifierForLogging(n)}` })); + ).pipe(log({ category: LOGGING_NAMESPACE, message: /* c8 ignore next */ (n) => `out: ${createNodeIdentifierForLogging(n)}` })); }; } diff --git a/packages/hierarchies/src/hierarchies/imodel/operators/HideNodesInHierarchy.ts b/packages/hierarchies/src/hierarchies/imodel/operators/HideNodesInHierarchy.ts index d356de847..b65f7760d 100644 --- a/packages/hierarchies/src/hierarchies/imodel/operators/HideNodesInHierarchy.ts +++ b/packages/hierarchies/src/hierarchies/imodel/operators/HideNodesInHierarchy.ts @@ -27,7 +27,7 @@ export function createHideNodesInHierarchyOperator( stopOnFirstChild: boolean, ) { return function (nodes: Observable): Observable { - const inputNodes = nodes.pipe(log({ category: LOGGING_NAMESPACE, message: /* istanbul ignore next */ (n) => `in: ${createNodeIdentifierForLogging(n)}` })); + const inputNodes = nodes.pipe(log({ category: LOGGING_NAMESPACE, message: /* c8 ignore next */ (n) => `in: ${createNodeIdentifierForLogging(n)}` })); const [withFlag, withoutFlag] = partition( inputNodes, (n): n is ProcessedGenericHierarchyNode | ProcessedInstanceHierarchyNode => @@ -38,7 +38,7 @@ export function createHideNodesInHierarchyOperator( withFlag.pipe( log({ category: LOGGING_NAMESPACE, - message: /* istanbul ignore next */ (n) => `${createNodeIdentifierForLogging(n)} needs hide and needs children to be loaded`, + message: /* c8 ignore next */ (n) => `${createNodeIdentifierForLogging(n)} needs hide and needs children to be loaded`, }), filter((node) => node.children !== false), reduceToMergeMapItem( @@ -55,7 +55,7 @@ export function createHideNodesInHierarchyOperator( return node; }, ), - log({ category: LOGGING_NAMESPACE, message: /* istanbul ignore next */ (mm) => `created a merge map of size ${mm.size}` }), + log({ category: LOGGING_NAMESPACE, message: /* c8 ignore next */ (mm) => `created a merge map of size ${mm.size}` }), mergeMap((mm) => [...mm.values()].map((mergedNode) => defer(() => getNodes(mergedNode)))), mergeAll(), map((n): ProcessedHierarchyNode => n), @@ -66,7 +66,7 @@ export function createHideNodesInHierarchyOperator( withoutFlag.pipe( log({ category: LOGGING_NAMESPACE, - message: /* istanbul ignore next */ (n) => `${createNodeIdentifierForLogging(n)} doesn't need hide, return the node`, + message: /* c8 ignore next */ (n) => `${createNodeIdentifierForLogging(n)} doesn't need hide, return the node`, }), ), stopOnFirstChild @@ -77,7 +77,7 @@ export function createHideNodesInHierarchyOperator( filter(hasChildren), log({ category: LOGGING_NAMESPACE, - message: /* istanbul ignore next */ (n) => + message: /* c8 ignore next */ (n) => `\`stopOnFirstChild = true\` and node ${createNodeIdentifierForLogging(n)} is set to always have nodes - return the hidden node without loading children`, }), ), @@ -85,7 +85,7 @@ export function createHideNodesInHierarchyOperator( finalize(() => doLog({ category: LOGGING_NAMESPACE, - message: /* istanbul ignore next */ () => + message: /* c8 ignore next */ () => `\`stopOnFirstChild = true\` but none of the nodes had children determined to \`true\` - do load children`, }), ), @@ -93,7 +93,7 @@ export function createHideNodesInHierarchyOperator( withLoadedChildren, ).pipe(take(1)) : withLoadedChildren, - ).pipe(log({ category: LOGGING_NAMESPACE, message: /* istanbul ignore next */ (n) => `out: ${createNodeIdentifierForLogging(n)}` })); + ).pipe(log({ category: LOGGING_NAMESPACE, message: /* c8 ignore next */ (n) => `out: ${createNodeIdentifierForLogging(n)}` })); }; } diff --git a/packages/hierarchies/src/hierarchies/imodel/operators/grouping/BaseClassGrouping.ts b/packages/hierarchies/src/hierarchies/imodel/operators/grouping/BaseClassGrouping.ts index 3907604d7..c8473ea1f 100644 --- a/packages/hierarchies/src/hierarchies/imodel/operators/grouping/BaseClassGrouping.ts +++ b/packages/hierarchies/src/hierarchies/imodel/operators/grouping/BaseClassGrouping.ts @@ -63,7 +63,7 @@ export async function createBaseClassGroupsForSingleBaseClass( const fullCurrentNodeClassName = node.key.instanceKeys[0].className; const baseCheckerResult = classHierarchyInspector.classDerivesFrom(fullCurrentNodeClassName, baseClassFullName); - /* istanbul ignore next */ + /* c8 ignore next */ const isCurrentNodeClassOfBase = baseCheckerResult instanceof Promise ? await baseCheckerResult : baseCheckerResult; if (isCurrentNodeClassOfBase) { diff --git a/packages/hierarchies/src/hierarchies/internal/Common.ts b/packages/hierarchies/src/hierarchies/internal/Common.ts index bce793ebf..1da97037c 100644 --- a/packages/hierarchies/src/hierarchies/internal/Common.ts +++ b/packages/hierarchies/src/hierarchies/internal/Common.ts @@ -46,7 +46,7 @@ export function createOperatorLoggingNamespace( } /** @internal */ -/* istanbul ignore next */ +/* c8 ignore start */ export function createNodeIdentifierForLogging( node: { label: string | ConcatenatedValue; key: HierarchyNodeKey; parentKeys?: HierarchyNodeKey[] } | undefined, ) { @@ -57,6 +57,7 @@ export function createNodeIdentifierForLogging( const parentKeys = "parentKeys" in node ? node.parentKeys : ""; return JSON.stringify({ label, key, parentKeys }); } +/* c8 ignore end */ /** @internal */ export function hasChildren }>(node: TNode) { diff --git a/packages/hierarchies/src/hierarchies/internal/EachValueFrom.ts b/packages/hierarchies/src/hierarchies/internal/EachValueFrom.ts index cbf458608..3d7925241 100644 --- a/packages/hierarchies/src/hierarchies/internal/EachValueFrom.ts +++ b/packages/hierarchies/src/hierarchies/internal/EachValueFrom.ts @@ -52,6 +52,7 @@ export async function* eachValueFrom(source: Observable): AsyncIterableIte return; } if (error) { + // eslint-disable-next-line @typescript-eslint/only-throw-error throw error; } const result = await new Promise>((resolve, reject) => { @@ -65,7 +66,7 @@ export async function* eachValueFrom(source: Observable): AsyncIterableIte } catch (err) { throw err; /* https://github.com/bcoe/c8/issues/229#issuecomment-1248533082 */ - /* istanbul ignore next */ + /* c8 ignore next */ } finally { subs.unsubscribe(); } diff --git a/packages/hierarchies/src/test/imodel/FilteringHierarchyDefinition.test.ts b/packages/hierarchies/src/test/imodel/FilteringHierarchyDefinition.test.ts index cfda6637e..6b75b1cd2 100644 --- a/packages/hierarchies/src/test/imodel/FilteringHierarchyDefinition.test.ts +++ b/packages/hierarchies/src/test/imodel/FilteringHierarchyDefinition.test.ts @@ -5,6 +5,7 @@ import { assert, expect } from "chai"; import sinon from "sinon"; +import * as td from "testdouble"; import { ECClassHierarchyInspector, trimWhitespace } from "@itwin/presentation-shared"; import { FilterTargetGroupingNodeInfo, HierarchyFilteringPath, HierarchyFilteringPathOptions } from "../../hierarchies/HierarchyFiltering.js"; import { HierarchyNode } from "../../hierarchies/HierarchyNode.js"; @@ -14,7 +15,6 @@ import { ECSQL_COLUMN_NAME_FilterClassName, ECSQL_COLUMN_NAME_FilterECInstanceId, ECSQL_COLUMN_NAME_HasFilterTargetAncestor, - FilteringHierarchyDefinition, } from "../../hierarchies/imodel/FilteringHierarchyDefinition.js"; import { GenericHierarchyNodeDefinition, @@ -25,7 +25,6 @@ import { } from "../../hierarchies/imodel/IModelHierarchyDefinition.js"; import { ProcessedGenericHierarchyNode, ProcessedGroupingHierarchyNode, SourceGenericHierarchyNode } from "../../hierarchies/imodel/IModelHierarchyNode.js"; import { NodeSelectClauseColumnNames } from "../../hierarchies/imodel/NodeSelectQueryFactory.js"; -import * as reader from "../../hierarchies/imodel/TreeNodesReader.js"; import { createClassHierarchyInspectorStub, createTestGenericNodeKey, @@ -39,42 +38,44 @@ import { describe("FilteringHierarchyDefinition", () => { afterEach(() => { - sinon.restore(); + td.reset(); }); describe("parseNode", () => { - let classHierarchyInspector: ReturnType; - beforeEach(() => { - classHierarchyInspector = createClassHierarchyInspectorStub(); - }); - it("uses `defaultNodeParser` when source definitions factory doesn't have one", async () => { - const defaultParserSpy = sinon.spy(reader, "defaultNodesParser"); + const spy = sinon.spy(); + await td.replaceEsm("../../hierarchies/imodel/TreeNodesReader.js", { + defaultNodesParser: spy, + }); const row = { [NodeSelectClauseColumnNames.FullClassName]: "", }; - const filteringFactory = createFilteringHierarchyDefinition(); + const filteringFactory = await createFilteringHierarchyDefinition(); await filteringFactory.parseNode(row); - expect(defaultParserSpy).to.be.calledOnceWithExactly(row); + expect(spy).to.be.calledOnceWithExactly(row); }); it("uses source's node parser when it has one", async () => { const sourceFactory = { - parseNode: sinon.stub().returns({} as unknown as HierarchyNode), + parseNode: sinon.stub().resolves({} as unknown as HierarchyNode), } as unknown as HierarchyDefinition; - const defaultParserSpy = sinon.spy(reader, "defaultNodesParser"); + const spy = sinon.spy(); + await td.replaceEsm("../../hierarchies/imodel/TreeNodesReader.js", { + defaultNodesParser: spy, + }); const row = { [NodeSelectClauseColumnNames.FullClassName]: "", }; - const filteringFactory = createFilteringHierarchyDefinition({ + + const filteringFactory = await createFilteringHierarchyDefinition({ sourceFactory, }); await filteringFactory.parseNode(row); - expect(defaultParserSpy).to.not.be.called; + expect(spy).to.not.be.called; expect(sourceFactory.parseNode).to.be.calledOnceWithExactly(row); }); @@ -87,7 +88,7 @@ describe("FilteringHierarchyDefinition", () => { [createTestInstanceKey({ id: "0x5", className }), createTestInstanceKey({ id: "0x3" })], [createTestInstanceKey({ id: "0x5", className })], ]; - const filteringFactory = createFilteringHierarchyDefinition({ + const filteringFactory = await createFilteringHierarchyDefinition({ ...sourceFactory, nodeIdentifierPaths: paths, }); @@ -117,7 +118,7 @@ describe("FilteringHierarchyDefinition", () => { [createTestInstanceKey({ id: "0x5", className: className2 }), createTestInstanceKey({ id: "0x4" })], [createTestInstanceKey({ id: "0x5", className })], ]; - const filteringFactory = createFilteringHierarchyDefinition({ + const filteringFactory = await createFilteringHierarchyDefinition({ ...sourceFactory, // This is not necessary as parentNode paths will be used instead nodeIdentifierPaths: [], @@ -151,7 +152,7 @@ describe("FilteringHierarchyDefinition", () => { [createTestInstanceKey({ id: "0x4", className }), createTestInstanceKey({ id: "0x2" })], [createTestInstanceKey({ id: "0x3" }), createTestInstanceKey({ id: "0x4", className }), createTestInstanceKey({ id: "0x5" })], ]; - const filteringFactory = createFilteringHierarchyDefinition({ + const filteringFactory = await createFilteringHierarchyDefinition({ ...sourceFactory, // This is not necessary as parentNode paths will be used instead nodeIdentifierPaths: [], @@ -187,7 +188,7 @@ describe("FilteringHierarchyDefinition", () => { createTestInstanceKey({ id: "0x2" }), ], ]; - const filteringFactory = createFilteringHierarchyDefinition({ + const filteringFactory = await createFilteringHierarchyDefinition({ ...sourceFactory, nodeIdentifierPaths: paths, }); @@ -214,6 +215,7 @@ describe("FilteringHierarchyDefinition", () => { it("sets correct filteredChildrenIdentifierPaths when nodes have same id's and different classNames that derive from one another", async () => { const sourceFactory = {} as unknown as HierarchyDefinition; + const classHierarchyInspector = createClassHierarchyInspectorStub(); const class1 = classHierarchyInspector.stubEntityClass({ schemaName: "BisCore", @@ -230,7 +232,7 @@ describe("FilteringHierarchyDefinition", () => { [createTestInstanceKey({ id: "0x5", className: class1.fullName }), createTestInstanceKey({ id: "0x3" })], [createTestInstanceKey({ id: "0x5", className: class2.fullName }), createTestInstanceKey({ id: "0x4" })], ]; - const filteringFactory = createFilteringHierarchyDefinition({ + const filteringFactory = await createFilteringHierarchyDefinition({ imodelAccess: { ...classHierarchyInspector, imodelKey: "someKey" }, sourceFactory, nodeIdentifierPaths: [], @@ -259,7 +261,7 @@ describe("FilteringHierarchyDefinition", () => { }); it("doesn't set auto-expand when filtered children paths is not set", async () => { - const filteringFactory = createFilteringHierarchyDefinition(); + const filteringFactory = await createFilteringHierarchyDefinition(); const row = { [NodeSelectClauseColumnNames.FullClassName]: "", }; @@ -268,7 +270,7 @@ describe("FilteringHierarchyDefinition", () => { }); it("doesn't set auto-expand when filtered children paths list is empty", async () => { - const filteringFactory = createFilteringHierarchyDefinition({ nodeIdentifierPaths: [] }); + const filteringFactory = await createFilteringHierarchyDefinition({ nodeIdentifierPaths: [] }); const row = { [NodeSelectClauseColumnNames.FullClassName]: "", }; @@ -280,7 +282,7 @@ describe("FilteringHierarchyDefinition", () => { const paths: HierarchyNodeIdentifiersPath[] = [ [createTestInstanceKey({ id: "0x1", className: "TestSchema.TestName" }), createTestInstanceKey({ id: "0x2", className: "TestSchema.TestName" })], ]; - const filteringFactory = createFilteringHierarchyDefinition({ nodeIdentifierPaths: paths }); + const filteringFactory = await createFilteringHierarchyDefinition({ nodeIdentifierPaths: paths }); const row = { [NodeSelectClauseColumnNames.FullClassName]: "", [ECSQL_COLUMN_NAME_FilterECInstanceId]: "0x1", @@ -300,7 +302,7 @@ describe("FilteringHierarchyDefinition", () => { options: { autoExpand: false }, }, ]; - const filteringFactory = createFilteringHierarchyDefinition({ nodeIdentifierPaths: paths }); + const filteringFactory = await createFilteringHierarchyDefinition({ nodeIdentifierPaths: paths }); const row = { [NodeSelectClauseColumnNames.FullClassName]: "", [ECSQL_COLUMN_NAME_FilterECInstanceId]: "0x1", @@ -327,7 +329,7 @@ describe("FilteringHierarchyDefinition", () => { options: { autoExpand: true }, }, ]; - const filteringFactory = createFilteringHierarchyDefinition({ nodeIdentifierPaths: paths }); + const filteringFactory = await createFilteringHierarchyDefinition({ nodeIdentifierPaths: paths }); const row = { [NodeSelectClauseColumnNames.FullClassName]: "", [ECSQL_COLUMN_NAME_FilterECInstanceId]: "0x1", @@ -344,7 +346,7 @@ describe("FilteringHierarchyDefinition", () => { autoExpand: { key: { type: "class-grouping", className: "" }, depth: 0 }, }; const paths = [{ path: [createTestInstanceKey({ id: "0x5", className })], options: filteringOptions }, [createTestInstanceKey({ id: "0x5", className })]]; - const filteringFactory = createFilteringHierarchyDefinition({ + const filteringFactory = await createFilteringHierarchyDefinition({ ...sourceFactory, // This is not necessary as parentNode paths will be used instead nodeIdentifierPaths: [], @@ -371,7 +373,7 @@ describe("FilteringHierarchyDefinition", () => { describe("preProcessNode", () => { it("returns given node when source factory has no pre-processor", async () => { const node = createTestProcessedGenericNode(); - const filteringFactory = createFilteringHierarchyDefinition(); + const filteringFactory = await createFilteringHierarchyDefinition(); const result = await filteringFactory.preProcessNode(node); expect(result).to.eq(node); }); @@ -382,7 +384,7 @@ describe("FilteringHierarchyDefinition", () => { const sourceFactory = { preProcessNode: sinon.stub().returns(sourceFactoryNode), } as unknown as HierarchyDefinition; - const filteringFactory = createFilteringHierarchyDefinition({ + const filteringFactory = await createFilteringHierarchyDefinition({ sourceFactory, }); const result = await filteringFactory.preProcessNode(inputNode); @@ -402,7 +404,7 @@ describe("FilteringHierarchyDefinition", () => { hasFilterTargetAncestor: true, }, }; - const filteringFactory = createFilteringHierarchyDefinition(); + const filteringFactory = await createFilteringHierarchyDefinition(); const result = await filteringFactory.preProcessNode(inputNode); expect(result).to.eq(inputNode); }); @@ -419,7 +421,7 @@ describe("FilteringHierarchyDefinition", () => { hasFilterTargetAncestor: false, }, }; - const filteringFactory = createFilteringHierarchyDefinition(); + const filteringFactory = await createFilteringHierarchyDefinition(); const result = await filteringFactory.preProcessNode(inputNode); expect(result).to.be.undefined; }); @@ -428,7 +430,7 @@ describe("FilteringHierarchyDefinition", () => { describe("postProcessNode", () => { it("returns given node when source factory has no post-processor", async () => { const node = createTestProcessedGenericNode(); - const filteringFactory = createFilteringHierarchyDefinition(); + const filteringFactory = await createFilteringHierarchyDefinition(); const result = await filteringFactory.postProcessNode(node); expect(result).to.eq(node); }); @@ -439,7 +441,7 @@ describe("FilteringHierarchyDefinition", () => { const sourceFactory = { postProcessNode: sinon.stub().resolves(sourceFactoryNode), } as unknown as HierarchyDefinition; - const filteringFactory = createFilteringHierarchyDefinition({ + const filteringFactory = await createFilteringHierarchyDefinition({ sourceFactory, }); const result = await filteringFactory.postProcessNode(inputNode); @@ -452,7 +454,7 @@ describe("FilteringHierarchyDefinition", () => { const sourceFactory = { postProcessNode: sinon.stub().resolves(undefined), } as unknown as HierarchyDefinition; - const filteringFactory = createFilteringHierarchyDefinition({ + const filteringFactory = await createFilteringHierarchyDefinition({ sourceFactory, }); const result = await filteringFactory.postProcessNode(inputNode); @@ -463,7 +465,7 @@ describe("FilteringHierarchyDefinition", () => { const commonGroupingNodeExpansionTestCases = (createGroupingNode: () => ProcessedGroupingHierarchyNode) => { it("doesn't set auto-expand on grouping nodes if none of the children have filtered children paths", async () => { const inputNode = createGroupingNode(); - const filteringFactory = createFilteringHierarchyDefinition(); + const filteringFactory = await createFilteringHierarchyDefinition(); const result = await filteringFactory.postProcessNode(inputNode); expect(result.autoExpand).to.be.undefined; }); @@ -478,7 +480,7 @@ describe("FilteringHierarchyDefinition", () => { }, ], }; - const filteringFactory = createFilteringHierarchyDefinition(); + const filteringFactory = await createFilteringHierarchyDefinition(); const result = await filteringFactory.postProcessNode(inputNode); expect(result.autoExpand).to.be.undefined; }); @@ -495,7 +497,7 @@ describe("FilteringHierarchyDefinition", () => { }, ], }; - const filteringFactory = createFilteringHierarchyDefinition(); + const filteringFactory = await createFilteringHierarchyDefinition(); const result = await filteringFactory.postProcessNode(inputNode); expect(result.autoExpand).to.be.undefined; }); @@ -515,7 +517,7 @@ describe("FilteringHierarchyDefinition", () => { }, ], }; - const filteringFactory = createFilteringHierarchyDefinition(); + const filteringFactory = await createFilteringHierarchyDefinition(); const result = await filteringFactory.postProcessNode(inputNode); expect(result.autoExpand).to.be.true; }); @@ -530,7 +532,7 @@ describe("FilteringHierarchyDefinition", () => { }, ], }; - const filteringFactory = createFilteringHierarchyDefinition(); + const filteringFactory = await createFilteringHierarchyDefinition(); const result = await filteringFactory.postProcessNode(inputNode); expect(result.autoExpand).to.be.undefined; }); @@ -545,7 +547,7 @@ describe("FilteringHierarchyDefinition", () => { }, ], }; - const filteringFactory = createFilteringHierarchyDefinition(); + const filteringFactory = await createFilteringHierarchyDefinition(); const result = await filteringFactory.postProcessNode(inputNode); expect(result.autoExpand).to.be.true; }); @@ -573,7 +575,7 @@ describe("FilteringHierarchyDefinition", () => { }, ], }; - const filteringFactory = createFilteringHierarchyDefinition(); + const filteringFactory = await createFilteringHierarchyDefinition(); const result = await filteringFactory.postProcessNode(inputNode); expect(result.autoExpand).to.be.undefined; }); @@ -602,7 +604,7 @@ describe("FilteringHierarchyDefinition", () => { }, ], }; - const filteringFactory = createFilteringHierarchyDefinition(); + const filteringFactory = await createFilteringHierarchyDefinition(); const result = await filteringFactory.postProcessNode(inputNode); expect(result.autoExpand).to.be.undefined; }); @@ -627,7 +629,7 @@ describe("FilteringHierarchyDefinition", () => { }, ], }; - const filteringFactory = createFilteringHierarchyDefinition(); + const filteringFactory = await createFilteringHierarchyDefinition(); const result = await filteringFactory.postProcessNode(inputNode); expect(result.autoExpand).to.be.true; }); @@ -651,7 +653,7 @@ describe("FilteringHierarchyDefinition", () => { }, ], }; - const filteringFactory = createFilteringHierarchyDefinition(); + const filteringFactory = await createFilteringHierarchyDefinition(); const result = await filteringFactory.postProcessNode(inputNode); expect(result.autoExpand).to.be.true; }); @@ -675,7 +677,7 @@ describe("FilteringHierarchyDefinition", () => { }, ], }; - const filteringFactory = createFilteringHierarchyDefinition(); + const filteringFactory = await createFilteringHierarchyDefinition(); const result = await filteringFactory.postProcessNode(inputNode); expect(!!result.autoExpand).to.be.false; }); @@ -703,7 +705,7 @@ describe("FilteringHierarchyDefinition", () => { }, ], }; - const filteringFactory = createFilteringHierarchyDefinition(); + const filteringFactory = await createFilteringHierarchyDefinition(); const result = await filteringFactory.postProcessNode(inputNode); expect(!!result.autoExpand).to.be.false; }); @@ -808,7 +810,7 @@ describe("FilteringHierarchyDefinition", () => { const sourceFactory: HierarchyDefinition = { defineHierarchyLevel: async () => sourceDefinitions, }; - const filteringFactory = createFilteringHierarchyDefinition({ + const filteringFactory = await createFilteringHierarchyDefinition({ imodelAccess: { ...classHierarchyInspector, imodelKey: "test-imodel-key" }, sourceFactory, }); @@ -829,7 +831,7 @@ describe("FilteringHierarchyDefinition", () => { }, ], }; - const filteringFactory = createFilteringHierarchyDefinition({ + const filteringFactory = await createFilteringHierarchyDefinition({ imodelAccess: { ...classHierarchyInspector, imodelKey: "test-imodel-key" }, sourceFactory, }); @@ -849,7 +851,7 @@ describe("FilteringHierarchyDefinition", () => { const sourceFactory = { defineHierarchyLevel: async () => [sourceDefinition], } as unknown as HierarchyDefinition; - const filteringFactory = createFilteringHierarchyDefinition({ + const filteringFactory = await createFilteringHierarchyDefinition({ imodelAccess: { ...classHierarchyInspector, imodelKey: "test-imodel-key" }, sourceFactory, nodeIdentifierPaths: [[{ className: filterClass.fullName, id: "0x123" }]], @@ -868,7 +870,7 @@ describe("FilteringHierarchyDefinition", () => { const sourceFactory = { defineHierarchyLevel: async () => [sourceDefinition], } as unknown as HierarchyDefinition; - const filteringFactory = createFilteringHierarchyDefinition({ + const filteringFactory = await createFilteringHierarchyDefinition({ imodelAccess: { ...classHierarchyInspector, imodelKey: "test-imodel-key" }, sourceFactory, nodeIdentifierPaths: [[createTestGenericNodeKey({ id: "xxx" })]], @@ -887,7 +889,7 @@ describe("FilteringHierarchyDefinition", () => { const sourceFactory = { defineHierarchyLevel: async () => [sourceDefinition], } as unknown as HierarchyDefinition; - const filteringFactory = createFilteringHierarchyDefinition({ + const filteringFactory = await createFilteringHierarchyDefinition({ imodelAccess: { ...classHierarchyInspector, imodelKey: "test-imodel-key" }, sourceFactory, nodeIdentifierPaths: [[]], @@ -906,7 +908,7 @@ describe("FilteringHierarchyDefinition", () => { const sourceFactory = { defineHierarchyLevel: async () => [sourceDefinition], } as unknown as HierarchyDefinition; - const filteringFactory = createFilteringHierarchyDefinition({ + const filteringFactory = await createFilteringHierarchyDefinition({ imodelAccess: { ...classHierarchyInspector, imodelKey: "test-imodel-key" }, sourceFactory, nodeIdentifierPaths: [[createTestGenericNodeKey({ id: "xxx", source: "other-source" })]], @@ -931,7 +933,7 @@ describe("FilteringHierarchyDefinition", () => { const sourceFactory: HierarchyDefinition = { defineHierarchyLevel: async () => [sourceDefinition1, sourceDefinition2], }; - const filteringFactory = createFilteringHierarchyDefinition({ + const filteringFactory = await createFilteringHierarchyDefinition({ imodelAccess: { ...classHierarchyInspector, imodelKey: "test-imodel-key" }, sourceFactory, nodeIdentifierPaths: [[createTestGenericNodeKey({ id: "custom 2" })]], @@ -957,7 +959,7 @@ describe("FilteringHierarchyDefinition", () => { const sourceFactory = { defineHierarchyLevel: async () => [sourceDefinition], } as unknown as HierarchyDefinition; - const filteringFactory = createFilteringHierarchyDefinition({ + const filteringFactory = await createFilteringHierarchyDefinition({ imodelAccess: { ...classHierarchyInspector, imodelKey: "test-imodel-key" }, sourceFactory, nodeIdentifierPaths: [ @@ -989,7 +991,7 @@ describe("FilteringHierarchyDefinition", () => { defineHierarchyLevel: async () => [sourceDefinition], } as unknown as HierarchyDefinition; const groupingNode: FilterTargetGroupingNodeInfo = { key: { type: "class-grouping", className: "class" }, depth: 0 }; - const filteringFactory = createFilteringHierarchyDefinition({ + const filteringFactory = await createFilteringHierarchyDefinition({ imodelAccess: { ...classHierarchyInspector, imodelKey: "test-imodel-key" }, sourceFactory, nodeIdentifierPaths: [ @@ -1029,7 +1031,7 @@ describe("FilteringHierarchyDefinition", () => { const sourceFactory = { defineHierarchyLevel: async () => [sourceDefinition], } as unknown as HierarchyDefinition; - const filteringFactory = createFilteringHierarchyDefinition({ + const filteringFactory = await createFilteringHierarchyDefinition({ imodelAccess: { ...classHierarchyInspector, imodelKey: "test-imodel-key" }, sourceFactory, nodeIdentifierPaths: [ @@ -1067,7 +1069,7 @@ describe("FilteringHierarchyDefinition", () => { const sourceFactory = { defineHierarchyLevel: async () => [sourceDefinition], } as unknown as HierarchyDefinition; - const filteringFactory = createFilteringHierarchyDefinition({ + const filteringFactory = await createFilteringHierarchyDefinition({ imodelAccess: { ...classHierarchyInspector, imodelKey: "test-imodel-key" }, sourceFactory, nodeIdentifierPaths: [[createTestGenericNodeKey({ id: "xxx" })]], @@ -1088,7 +1090,7 @@ describe("FilteringHierarchyDefinition", () => { const sourceFactory = { defineHierarchyLevel: async () => [sourceDefinition], } as unknown as HierarchyDefinition; - const filteringFactory = createFilteringHierarchyDefinition({ + const filteringFactory = await createFilteringHierarchyDefinition({ imodelAccess: { ...classHierarchyInspector, imodelKey: "test-imodel-key" }, sourceFactory, nodeIdentifierPaths: [[{ className: filterPathClass.fullName, id: "0x123" }]], @@ -1108,7 +1110,7 @@ describe("FilteringHierarchyDefinition", () => { const sourceFactory = { defineHierarchyLevel: async () => [sourceDefinition], } as unknown as HierarchyDefinition; - const filteringFactory = createFilteringHierarchyDefinition({ + const filteringFactory = await createFilteringHierarchyDefinition({ imodelAccess: { ...classHierarchyInspector, imodelKey: "test-imodel-key" }, sourceFactory, nodeIdentifierPaths: [[]], @@ -1127,7 +1129,7 @@ describe("FilteringHierarchyDefinition", () => { const sourceFactory = { defineHierarchyLevel: async () => [sourceDefinition], } as unknown as HierarchyDefinition; - const filteringFactory = createFilteringHierarchyDefinition({ + const filteringFactory = await createFilteringHierarchyDefinition({ imodelAccess: { ...classHierarchyInspector, imodelKey: "test-imodel-key" }, sourceFactory, nodeIdentifierPaths: [[{ className: "filter.class", id: "0x123", imodelKey: "other-source" }]], @@ -1147,7 +1149,7 @@ describe("FilteringHierarchyDefinition", () => { const sourceFactory = { defineHierarchyLevel: async () => [sourceDefinition], } as unknown as HierarchyDefinition; - const filteringFactory = createFilteringHierarchyDefinition({ + const filteringFactory = await createFilteringHierarchyDefinition({ imodelAccess: { ...classHierarchyInspector, imodelKey: "test-imodel-key" }, sourceFactory, nodeIdentifierPaths: [], @@ -1181,7 +1183,7 @@ describe("FilteringHierarchyDefinition", () => { const sourceFactory = { defineHierarchyLevel: async () => [sourceDefinition], } as unknown as HierarchyDefinition; - const filteringFactory = createFilteringHierarchyDefinition({ + const filteringFactory = await createFilteringHierarchyDefinition({ imodelAccess: { ...classHierarchyInspector, imodelKey: "test-imodel-key" }, sourceFactory, nodeIdentifierPaths: [ @@ -1230,7 +1232,7 @@ describe("FilteringHierarchyDefinition", () => { const sourceFactory = { defineHierarchyLevel: async () => [sourceDefinition], } as unknown as HierarchyDefinition; - const filteringFactory = createFilteringHierarchyDefinition({ + const filteringFactory = await createFilteringHierarchyDefinition({ imodelAccess: { ...classHierarchyInspector, imodelKey: "test-imodel-key" }, sourceFactory, nodeIdentifierPaths: [[{ className: filterPathClass1.fullName, id: "0x123" }], [{ className: filterPathClass2.fullName, id: "0x456" }]], @@ -1270,7 +1272,7 @@ describe("FilteringHierarchyDefinition", () => { const sourceFactory = { defineHierarchyLevel: async () => [sourceDefinition], } as unknown as HierarchyDefinition; - const filteringFactory = createFilteringHierarchyDefinition({ + const filteringFactory = await createFilteringHierarchyDefinition({ imodelAccess: { ...classHierarchyInspector, imodelKey: "test-imodel-key" }, sourceFactory, nodeIdentifierPaths: [ @@ -1319,7 +1321,7 @@ describe("FilteringHierarchyDefinition", () => { const sourceFactory = { defineHierarchyLevel: async () => [sourceDefinition], } as unknown as HierarchyDefinition; - const filteringFactory = createFilteringHierarchyDefinition({ + const filteringFactory = await createFilteringHierarchyDefinition({ imodelAccess: { ...classHierarchyInspector, imodelKey: "test-imodel-key" }, sourceFactory, nodeIdentifierPaths: [ @@ -1365,7 +1367,7 @@ describe("FilteringHierarchyDefinition", () => { const sourceFactory = { defineHierarchyLevel: async () => [sourceDefinition], } as unknown as HierarchyDefinition; - const filteringFactory = createFilteringHierarchyDefinition({ + const filteringFactory = await createFilteringHierarchyDefinition({ imodelAccess: { ...classHierarchyInspector, imodelKey: "test-imodel-key" }, sourceFactory, nodeIdentifierPaths: [ @@ -1409,7 +1411,7 @@ describe("FilteringHierarchyDefinition", () => { const sourceFactory = { defineHierarchyLevel: async () => [sourceDefinition], } as unknown as HierarchyDefinition; - const filteringFactory = createFilteringHierarchyDefinition({ + const filteringFactory = await createFilteringHierarchyDefinition({ imodelAccess: { ...classHierarchyInspector, imodelKey: "test-imodel-key" }, sourceFactory, nodeIdentifierPaths: [ @@ -1458,7 +1460,7 @@ describe("FilteringHierarchyDefinition", () => { const sourceFactory: HierarchyDefinition = { defineHierarchyLevel: async () => [sourceDefinition], }; - const filteringFactory = createFilteringHierarchyDefinition({ + const filteringFactory = await createFilteringHierarchyDefinition({ imodelAccess: { ...classHierarchyInspector, imodelKey: "test-imodel-key" }, sourceFactory, nodeIdentifierPaths: [], // this doesn't matter as we're going to look at what's in the parent node @@ -1497,7 +1499,7 @@ describe("FilteringHierarchyDefinition", () => { const sourceFactory: HierarchyDefinition = { defineHierarchyLevel: async () => [matchingSourceDefinition, nonMatchingSourceDefinition], }; - const filteringFactory = createFilteringHierarchyDefinition({ + const filteringFactory = await createFilteringHierarchyDefinition({ imodelAccess: { ...classHierarchyInspector, imodelKey: "test-imodel-key" }, sourceFactory, nodeIdentifierPaths: [], // this doesn't matter as we're going to look at what's in the parent node @@ -1587,11 +1589,13 @@ describe("FilteringHierarchyDefinition", () => { }); }); -function createFilteringHierarchyDefinition(props?: { +async function createFilteringHierarchyDefinition(props?: { imodelAccess?: ECClassHierarchyInspector & { imodelKey: string }; sourceFactory?: HierarchyDefinition; nodeIdentifierPaths?: HierarchyFilteringPath[]; }) { + // eslint-disable-next-line @typescript-eslint/naming-convention + const { FilteringHierarchyDefinition } = await import("../../hierarchies/imodel/FilteringHierarchyDefinition.js"); const { imodelAccess, sourceFactory, nodeIdentifierPaths } = props ?? {}; return new FilteringHierarchyDefinition({ imodelAccess: imodelAccess ?? { classDerivesFrom: async () => false, imodelKey: "" }, diff --git a/packages/hierarchies/src/test/imodel/operators/Grouping.test.ts b/packages/hierarchies/src/test/imodel/operators/Grouping.test.ts index e58ba73ba..b21d0506b 100644 --- a/packages/hierarchies/src/test/imodel/operators/Grouping.test.ts +++ b/packages/hierarchies/src/test/imodel/operators/Grouping.test.ts @@ -7,14 +7,15 @@ import { expect } from "chai"; import { collect } from "presentation-test-utilities"; import { from } from "rxjs"; import sinon from "sinon"; +import * as td from "testdouble"; import { LogLevel } from "@itwin/core-bentley"; import { createDefaultValueFormatter, IPrimitiveValueFormatter } from "@itwin/presentation-shared"; -import { createGroupingHandlers, createGroupingOperator, GroupingHandlerResult, LOGGING_NAMESPACE } from "../../../hierarchies/imodel/operators/Grouping.js"; -import * as baseClassGrouping from "../../../hierarchies/imodel/operators/grouping/BaseClassGrouping.js"; -import * as classGrouping from "../../../hierarchies/imodel/operators/grouping/ClassGrouping.js"; -import * as groupHiding from "../../../hierarchies/imodel/operators/grouping/GroupHiding.js"; -import * as labelGrouping from "../../../hierarchies/imodel/operators/grouping/LabelGrouping.js"; -import * as propertiesGrouping from "../../../hierarchies/imodel/operators/grouping/PropertiesGrouping.js"; +import { + GroupingHandlerResult, + LOGGING_NAMESPACE, + createGroupingHandlers as originalCreateGroupingHandlers, + createGroupingOperator as originalCreateGroupingOperator, +} from "../../../hierarchies/imodel/operators/Grouping.js"; import { createIModelAccessStub, createTestProcessedGenericNode, @@ -35,9 +36,18 @@ describe("Grouping", () => { describe("createGroupingOperator", () => { let applyGroupingHidingParamsStub: sinon.SinonSpy<[GroupingHandlerResult, number], GroupingHandlerResult>; + let createGroupingOperator: typeof originalCreateGroupingOperator; beforeEach(async () => { - applyGroupingHidingParamsStub = sinon.stub(groupHiding, "applyGroupHidingParams").callsFake((props) => props); + applyGroupingHidingParamsStub = sinon.fake<[GroupingHandlerResult, number], GroupingHandlerResult>((props) => props); + await td.replaceEsm("../../../hierarchies/imodel/operators/grouping/GroupHiding.js", { + applyGroupHidingParams: applyGroupingHidingParamsStub, + }); + createGroupingOperator = (await import("../../../hierarchies/imodel/operators/Grouping.js")).createGroupingOperator; + }); + + afterEach(() => { + td.reset(); }); afterEach(() => { @@ -320,18 +330,35 @@ describe("Grouping", () => { let baseClassHandlerStub: sinon.SinonStub; let propertyHandlerStub: sinon.SinonStub; + let createGroupingHandlers: typeof originalCreateGroupingHandlers; + beforeEach(async () => { baseClassHandlerStub = sinon.stub(); propertyHandlerStub = sinon.stub(); - createBaseClassGroupingHandlersStub = sinon.stub(baseClassGrouping, "createBaseClassGroupingHandlers").resolves([baseClassHandlerStub]); - createPropertiesGroupingHandlersStub = sinon.stub(propertiesGrouping, "createPropertiesGroupingHandlers").resolves([propertyHandlerStub]); - createClassGroupsStub = sinon.stub(classGrouping, "createClassGroups"); - createLabelGroupsStub = sinon.stub(labelGrouping, "createLabelGroups"); + createBaseClassGroupingHandlersStub = sinon.fake(async () => [baseClassHandlerStub]); + createClassGroupsStub = sinon.stub(); + createPropertiesGroupingHandlersStub = sinon.fake(async () => [propertyHandlerStub]); + createLabelGroupsStub = sinon.stub(); + + await td.replaceEsm("../../../hierarchies/imodel/operators/grouping/BaseClassGrouping.js", { + createBaseClassGroupingHandlers: createBaseClassGroupingHandlersStub, + }); + await td.replaceEsm("../../../hierarchies/imodel/operators/grouping/ClassGrouping.js", { + createClassGroups: createClassGroupsStub, + }); + await td.replaceEsm("../../../hierarchies/imodel/operators/grouping/PropertiesGrouping.js", { + createPropertiesGroupingHandlers: createPropertiesGroupingHandlersStub, + }); + await td.replaceEsm("../../../hierarchies/imodel/operators/grouping/LabelGrouping.js", { + createLabelGroups: createLabelGroupsStub, + }); + + createGroupingHandlers = (await import("../../../hierarchies/imodel/operators/Grouping.js")).createGroupingHandlers; }); afterEach(() => { - sinon.restore(); + td.reset(); }); it("creates [base class, class, property, label] grouping handlers when requesting root nodes", async () => { diff --git a/packages/hierarchies/tsconfig.cjs.json b/packages/hierarchies/tsconfig.cjs.json index bf9364d76..1ce1d3b07 100644 --- a/packages/hierarchies/tsconfig.cjs.json +++ b/packages/hierarchies/tsconfig.cjs.json @@ -4,5 +4,6 @@ "module": "CommonJS", "moduleResolution": "Node", "outDir": "lib/cjs" - } + }, + "exclude": ["src/test/**/*"] } diff --git a/packages/opentelemetry/.mocharc.json b/packages/opentelemetry/.mocharc.json index 5e33d97ce..b3b51a93e 100644 --- a/packages/opentelemetry/.mocharc.json +++ b/packages/opentelemetry/.mocharc.json @@ -1,8 +1,8 @@ { - "require": ["./lib/cjs/test/setup"], + "require": ["./lib/esm/test/setup.js"], "checkLeaks": true, "timeout": 60000, "parallel": false, - "spec": ["./lib/cjs/test/**/*.test.js"], + "spec": ["./lib/esm/test/**/*.test.js"], "exclude": ["./lib/test/coverage/**/*"] } diff --git a/packages/opentelemetry/.nycrc b/packages/opentelemetry/.nycrc index 851acf080..ebd0b666c 100644 --- a/packages/opentelemetry/.nycrc +++ b/packages/opentelemetry/.nycrc @@ -4,7 +4,7 @@ "functions": 100, "branches": 100, "lines": 100, - "include": ["src/presentation-opentelemetry/**/*", "lib/cjs/presentation-opentelemetry/**/*"], + "include": ["src/presentation-opentelemetry/**/*", "lib/esm/presentation-opentelemetry/**/*"], "temp-dir": "./lib/test/coverage/.nyc_output", "report-dir": "./lib/test/coverage", "reporter": ["text-summary", "lcov", "cobertura"] diff --git a/packages/opentelemetry/package.json b/packages/opentelemetry/package.json index 05259c05b..a1dea747c 100644 --- a/packages/opentelemetry/package.json +++ b/packages/opentelemetry/package.json @@ -36,14 +36,14 @@ "build:cjs": "node ../../scripts/package-cjs.mjs ./lib/cjs && tsc -p tsconfig.cjs.json", "build:esm": "tsc -p tsconfig.esm.json", "clean": "rimraf lib build", - "cover": "nyc npm -s test", + "cover": "c8 npm -s test", "docs": "npm run -s docs:reference && npm run -s docs:extract && npm run -s docs:changelog", "docs:changelog": "cpx ./CHANGELOG.md ./build/docs/reference/presentation-opentelemetry", "docs:reference": "cross-env NODE_PROJECT_ROOT_DIRECTORY=../../ betools docs --includes=./build/docs/extract --json=./build/docs/reference/presentation-opentelemetry/file.json --tsIndexFile=presentation-opentelemetry.ts --onlyJson", "docs:extract": "betools extract --fileExt=ts --extractFrom=./src/test --recursive --out=./build/docs/extract", "lint": "eslint \"./src/**/*.ts\"", - "test": "mocha --enable-source-maps --config ./.mocharc.json", "test:dev": "mocha --enable-source-maps --config ./.mocharc.json", + "test": "npm run test:dev", "extract-api": "extract-api --entry=presentation-opentelemetry --apiReportFolder=./api --apiReportTempFolder=./api/temp --apiSummaryFolder=./api", "check-internal": "node ../../scripts/checkInternal.js --apiSummary ./api/presentation-opentelemetry.api.md" }, @@ -66,12 +66,12 @@ "@types/node": "catalog:build-tools", "@types/sinon": "catalog:test-tools", "@types/sinon-chai": "catalog:test-tools", + "c8": "catalog:test-tools", "chai": "catalog:test-tools", "cpx2": "catalog:build-tools", "cross-env": "catalog:build-tools", "eslint": "catalog:build-tools", "mocha": "catalog:test-tools", - "nyc": "catalog:test-tools", "presentation-build-tools": "workspace:^", "rimraf": "catalog:build-tools", "sinon": "catalog:test-tools", diff --git a/packages/opentelemetry/tsconfig.cjs.json b/packages/opentelemetry/tsconfig.cjs.json index bf9364d76..1ce1d3b07 100644 --- a/packages/opentelemetry/tsconfig.cjs.json +++ b/packages/opentelemetry/tsconfig.cjs.json @@ -4,5 +4,6 @@ "module": "CommonJS", "moduleResolution": "Node", "outDir": "lib/cjs" - } + }, + "exclude": ["src/test/**/*"] } diff --git a/packages/shared/.mocharc.json b/packages/shared/.mocharc.json index 5e33d97ce..b3b51a93e 100644 --- a/packages/shared/.mocharc.json +++ b/packages/shared/.mocharc.json @@ -1,8 +1,8 @@ { - "require": ["./lib/cjs/test/setup"], + "require": ["./lib/esm/test/setup.js"], "checkLeaks": true, "timeout": 60000, "parallel": false, - "spec": ["./lib/cjs/test/**/*.test.js"], + "spec": ["./lib/esm/test/**/*.test.js"], "exclude": ["./lib/test/coverage/**/*"] } diff --git a/packages/shared/.nycrc b/packages/shared/.nycrc index dc3e05946..b79c125cd 100644 --- a/packages/shared/.nycrc +++ b/packages/shared/.nycrc @@ -5,7 +5,7 @@ "branches": 100, "lines": 100, "all": true, - "include": ["src/shared/**/*", "lib/cjs/shared/**/*"], + "include": ["src/shared/**/*", "lib/esm/shared/**/*"], "temp-dir": "./lib/test/coverage/.nyc_output", "report-dir": "./lib/test/coverage", "reporter": ["text-summary", "lcov", "cobertura"] diff --git a/packages/shared/package.json b/packages/shared/package.json index eba2d0259..4b4e3a837 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -36,10 +36,10 @@ "build:cjs": "node ../../scripts/package-cjs.mjs ./lib/cjs && tsc -p tsconfig.cjs.json", "build:esm": "tsc -p tsconfig.esm.json", "clean": "rimraf lib temp", - "cover": "nyc npm -s test", + "cover": "c8 npm -s test", "lint": "eslint \"./src/**/*.ts\"", - "test": "mocha --enable-source-maps --config ./.mocharc.json", "test:dev": "mocha --enable-source-maps --config ./.mocharc.json", + "test": "npm run test:dev", "extract-api": "extract-api --entry=presentation-shared --apiReportFolder=./api --apiReportTempFolder=./api/temp --apiSummaryFolder=./api", "check-internal": "node ../../scripts/checkInternal.js --apiSummary ./api/presentation-shared.api.md", "validate-markdowns": "node ../../scripts/validateMarkdowns.js README.md" @@ -57,12 +57,12 @@ "@types/node": "catalog:build-tools", "@types/sinon": "catalog:test-tools", "@types/sinon-chai": "catalog:test-tools", + "c8": "catalog:test-tools", "chai": "catalog:test-tools", "chai-as-promised": "catalog:test-tools", "chai-subset": "catalog:test-tools", "eslint": "catalog:build-tools", "mocha": "catalog:test-tools", - "nyc": "catalog:test-tools", "presentation-build-tools": "workspace:^", "presentation-test-utilities": "workspace:^", "rimraf": "catalog:build-tools", diff --git a/packages/shared/src/shared/Logging.ts b/packages/shared/src/shared/Logging.ts index d82529640..f0d6a40e3 100644 --- a/packages/shared/src/shared/Logging.ts +++ b/packages/shared/src/shared/Logging.ts @@ -31,7 +31,7 @@ export interface ILogger { * A logger implementation that does nothing. * @beta */ -/* istanbul ignore next 7 */ +/* c8 ignore next 7 */ export const NOOP_LOGGER: ILogger = { isEnabled: () => false, logError: () => {}, diff --git a/packages/shared/src/shared/Utils.ts b/packages/shared/src/shared/Utils.ts index c17f32d65..4d1386542 100644 --- a/packages/shared/src/shared/Utils.ts +++ b/packages/shared/src/shared/Utils.ts @@ -44,7 +44,7 @@ export function trimWhitespace(str: string): string; export function trimWhitespace(str: string | undefined): string | undefined; /** @beta */ export function trimWhitespace(str: string | undefined): string | undefined { - /* istanbul ignore next 3 */ + /* c8 ignore next 3 */ if (!str) { return str; } diff --git a/packages/shared/src/shared/ecsql-snippets/ECSqlValueSelectorSnippets.ts b/packages/shared/src/shared/ecsql-snippets/ECSqlValueSelectorSnippets.ts index db5d2c3ab..c337b28a6 100644 --- a/packages/shared/src/shared/ecsql-snippets/ECSqlValueSelectorSnippets.ts +++ b/packages/shared/src/shared/ecsql-snippets/ECSqlValueSelectorSnippets.ts @@ -98,27 +98,27 @@ export async function createPrimitivePropertyValueSelectorProps({ return { selector: `json_object('x', ${propertySelector}.[x], 'y', ${propertySelector}.[y])`, type: "Point2d", - ...(extendedType ? { extendedType } : /* istanbul ignore next */ {}), + ...(extendedType ? { extendedType } : /* c8 ignore next */ {}), }; case "Point3d": return { selector: `json_object('x', ${propertySelector}.[x], 'y', ${propertySelector}.[y], 'z', ${propertySelector}.[z])`, type: "Point3d", - ...(extendedType ? { extendedType } : /* istanbul ignore next */ {}), + ...(extendedType ? { extendedType } : /* c8 ignore next */ {}), }; case "Double": const koqName = (await property.kindOfQuantity)?.fullName; return { selector: propertySelector, type: "Double", - ...(extendedType ? { extendedType } : /* istanbul ignore next */ {}), - ...(koqName ? { koqName } : /* istanbul ignore next */ {}), + ...(extendedType ? { extendedType } : /* c8 ignore next */ {}), + ...(koqName ? { koqName } : /* c8 ignore next */ {}), }; } return { selector: propertySelector, type: propertyValueType, - ...(extendedType ? { extendedType } : /* istanbul ignore next */ {}), + ...(extendedType ? { extendedType } : /* c8 ignore next */ {}), }; } diff --git a/packages/shared/tsconfig.cjs.json b/packages/shared/tsconfig.cjs.json index bf9364d76..1ce1d3b07 100644 --- a/packages/shared/tsconfig.cjs.json +++ b/packages/shared/tsconfig.cjs.json @@ -4,5 +4,6 @@ "module": "CommonJS", "moduleResolution": "Node", "outDir": "lib/cjs" - } + }, + "exclude": ["src/test/**/*"] } diff --git a/packages/test-utilities/node-hooks/ignore-styles-hook.cjs b/packages/test-utilities/node-hooks/ignore-styles-hook.cjs new file mode 100644 index 000000000..4fe9f8c46 --- /dev/null +++ b/packages/test-utilities/node-hooks/ignore-styles-hook.cjs @@ -0,0 +1,13 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Bentley Systems, Incorporated. All rights reserved. + * See LICENSE.md in the project root for license terms and full copyright notice. + *--------------------------------------------------------------------------------------------*/ + +const STYLE_FILE_EXTENSIONS = [".css", ".scss", ".less", ".sass"]; + +exports.load = (url, context, next) => { + if (STYLE_FILE_EXTENSIONS.some((ext) => url.endsWith(ext))) { + return { format: "module", shortCircuit: true, source: "" }; + } + return next(url, context); +}; diff --git a/packages/test-utilities/node-hooks/ignore-styles.cjs b/packages/test-utilities/node-hooks/ignore-styles.cjs new file mode 100644 index 000000000..fa1b46548 --- /dev/null +++ b/packages/test-utilities/node-hooks/ignore-styles.cjs @@ -0,0 +1,9 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Bentley Systems, Incorporated. All rights reserved. + * See LICENSE.md in the project root for license terms and full copyright notice. + *--------------------------------------------------------------------------------------------*/ + +const { register } = require("node:module"); +const { pathToFileURL } = require("node:url"); + +register("./ignore-styles-hook.cjs", pathToFileURL(__filename)); diff --git a/packages/test-utilities/package.json b/packages/test-utilities/package.json index f4a055f31..7e39bce5d 100644 --- a/packages/test-utilities/package.json +++ b/packages/test-utilities/package.json @@ -18,7 +18,8 @@ "import": "./lib/esm/presentation-test-utilities.js", "require": "./lib/cjs/presentation-test-utilities.js" }, - "./package.json": "./package.json" + "./package.json": "./package.json", + "./node-hooks/ignore-styles": "./node-hooks/ignore-styles.cjs" }, "dependencies": { "@itwin/core-bentley": "catalog:itwinjs-core", diff --git a/packages/testing/.mocharc.json b/packages/testing/.mocharc.json index 2286fb814..07caedab9 100644 --- a/packages/testing/.mocharc.json +++ b/packages/testing/.mocharc.json @@ -1,8 +1,8 @@ { - "require": ["global-jsdom/register", "ignore-styles", "./lib/cjs/test/setup.js"], + "require": ["global-jsdom/register", "ignore-styles", "./lib/esm/test/setup.js"], "checkLeaks": true, "timeout": 60000, "parallel": false, - "spec": ["./lib/cjs/test/**/*.test.js"], + "spec": ["./lib/esm/test/**/*.test.js"], "exclude": ["./lib/test/coverage/**/*"] } diff --git a/packages/testing/.nycrc b/packages/testing/.nycrc index a365e9d16..6242b16d1 100644 --- a/packages/testing/.nycrc +++ b/packages/testing/.nycrc @@ -4,7 +4,7 @@ "functions": 100, "branches": 100, "lines": 100, - "include": ["src/presentation-testing/**/*", "lib/cjs/presentation-testing/**/*"], + "include": ["src/presentation-testing/**/*", "lib/esm/presentation-testing/**/*"], "temp-dir": "./lib/test/coverage/.nyc_output", "report-dir": "./lib/test/coverage", "reporter": ["text-summary", "lcov", "cobertura"] diff --git a/packages/testing/eslint.config.cjs b/packages/testing/eslint.config.cjs index cd1cdeb68..57ba1d295 100644 --- a/packages/testing/eslint.config.cjs +++ b/packages/testing/eslint.config.cjs @@ -10,5 +10,11 @@ module.exports = [ files: ["**/*.ts"], ...iTwinPlugin.configs.iTwinjsRecommendedConfig, }, + { + files: ["src/presentation-testing/Helpers.ts"], + rules: { + "@typescript-eslint/ban-ts-comment": "warn", + }, + }, ...eslintBaseConfig, ]; diff --git a/packages/testing/package.json b/packages/testing/package.json index 10e4ed869..dd1eb13d3 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -34,13 +34,13 @@ "build:cjs": "node ../../scripts/package-cjs.mjs ./lib/cjs && tsc -p tsconfig.cjs.json", "build:esm": "tsc -p tsconfig.esm.json", "clean": "rimraf lib build", - "cover": "nyc npm -s test", + "cover": "c8 npm -s test", "docs": "npm run -s docs:reference && npm run -s docs:changelog", "docs:changelog": "cpx ./CHANGELOG.md ./build/docs/reference/presentation-testing", "docs:reference": "cross-env NODE_PROJECT_ROOT_DIRECTORY=../../ betools docs --includes=./build/docs/extract --json=./build/docs/reference/presentation-testing/file.json --tsIndexFile=presentation-testing.ts --onlyJson --testExcludeGlob=./src/test/**", "lint": "eslint ./src/**/*.ts", - "test": "mocha --enable-source-maps --config ./.mocharc.json", - "test:dev": "mocha --enable-source-maps --config ./.mocharc.json", + "test:dev": "cross-env NODE_OPTIONS=\"--import presentation-test-utilities/node-hooks/ignore-styles\" mocha --enable-source-maps --config ./.mocharc.json", + "test": "npm run test:dev", "extract-api": "extract-api --entry=presentation-testing --apiReportFolder=./api --apiReportTempFolder=./api/temp --apiSummaryFolder=./api", "check-internal": "node ../../scripts/checkInternal.js --apiSummary ./api/presentation-testing.api.md" }, @@ -86,6 +86,7 @@ "@types/node": "catalog:build-tools", "@types/sinon": "catalog:test-tools", "@types/sinon-chai": "catalog:test-tools", + "c8": "catalog:test-tools", "chai": "catalog:test-tools", "chai-as-promised": "catalog:test-tools", "chai-jest-snapshot": "catalog:test-tools", @@ -97,7 +98,6 @@ "inversify": "catalog:itwinjs-core", "jsdom": "catalog:test-tools", "mocha": "catalog:test-tools", - "nyc": "catalog:test-tools", "presentation-build-tools": "workspace:^", "presentation-test-utilities": "workspace:^", "react": "catalog:react", @@ -105,6 +105,7 @@ "reflect-metadata": "catalog:itwinjs-core", "sinon": "catalog:test-tools", "sinon-chai": "catalog:test-tools", + "testdouble": "catalog:test-tools", "typescript": "catalog:build-tools" } } diff --git a/packages/testing/src/presentation-testing/Helpers.ts b/packages/testing/src/presentation-testing/Helpers.ts index 2c702c058..da8f42a70 100644 --- a/packages/testing/src/presentation-testing/Helpers.ts +++ b/packages/testing/src/presentation-testing/Helpers.ts @@ -31,10 +31,12 @@ function initializeRpcInterfaces(interfaces: RpcInterfaceDefinition[]) { try { RpcConfiguration.initializeInterfaces(instance); + /* c8 ignore start */ } catch { // this may fail with "Error: RPC interface "xxx" is already initialized." because // multiple different tests want to set up rpc interfaces } + /* c8 ignore end */ } let isInitialized = false; @@ -90,7 +92,11 @@ export const initialize = async (props?: PresentationTestingInitProps) => { if (!props.backendProps.id) { props.backendProps.id = `test-${Guid.createValue()}`; // eslint-disable-line @itwin/no-internal } - await IModelHost.startup({ cacheDir: join(__dirname, ".cache"), ...props.backendHostProps }); + await IModelHost.startup({ + // @ts-ignore TS1343 + cacheDir: join(typeof __dirname !== "undefined" ? __dirname : import.meta.url, ".cache", `${process.pid}`), + ...props.backendHostProps, + }); PresentationBackend.initialize(props.backendProps); // init frontend diff --git a/packages/testing/src/test/Helpers.test.ts b/packages/testing/src/test/Helpers.test.ts index f3d4c5a57..733bb9535 100644 --- a/packages/testing/src/test/Helpers.test.ts +++ b/packages/testing/src/test/Helpers.test.ts @@ -4,14 +4,18 @@ *--------------------------------------------------------------------------------------------*/ import { expect } from "chai"; -import * as rimraf from "rimraf"; +import * as rimrafModule from "rimraf"; import * as sinon from "sinon"; +import * as td from "testdouble"; import { IModelHost } from "@itwin/core-backend"; import { Guid } from "@itwin/core-bentley"; import { IModelApp, NoRenderApp } from "@itwin/core-frontend"; import { Presentation as PresentationBackend, PresentationProps } from "@itwin/presentation-backend"; import { Presentation as PresentationFrontend } from "@itwin/presentation-frontend"; -import { HierarchyCacheMode, initialize, PresentationTestingInitProps, terminate } from "../presentation-testing/Helpers.js"; +import { HierarchyCacheMode, PresentationTestingInitProps } from "../presentation-testing/Helpers.js"; + +// this is needed for mocking external module +const rimrafModulePath = import.meta.resolve("rimraf"); describe("Helpers", () => { let backendInitializationStub: sinon.SinonStub; @@ -30,7 +34,14 @@ describe("Helpers", () => { }); describe("initialize", () => { + let initialize: (props?: PresentationTestingInitProps) => Promise; + + beforeEach(async () => { + initialize = (await import("../presentation-testing/Helpers.js")).initialize; + }); + afterEach(async () => { + const { terminate } = await import("../presentation-testing/Helpers.js"); await terminate(); }); @@ -69,9 +80,22 @@ describe("Helpers", () => { describe("terminate", () => { let rimrafSyncStub: sinon.SinonStub; + let initialize: (props?: PresentationTestingInitProps) => Promise; + let terminate: () => Promise; + + beforeEach(async () => { + rimrafSyncStub = sinon.stub(); + await td.replaceEsm(rimrafModulePath, { + ...rimrafModule, + sync: rimrafSyncStub, + }); + const helpers = await import("../presentation-testing/Helpers.js"); + initialize = helpers.initialize; + terminate = helpers.terminate; + }); - beforeEach(() => { - rimrafSyncStub = sinon.stub(rimraf, "sync"); + afterEach(() => { + td.reset(); }); it("terminates PresentationBackend and PresentationFrontend on terminate", async () => { diff --git a/packages/testing/src/test/setup.ts b/packages/testing/src/test/setup.ts index fb221405d..e2f12e8e7 100644 --- a/packages/testing/src/test/setup.ts +++ b/packages/testing/src/test/setup.ts @@ -22,7 +22,7 @@ export const mochaHooks = { beforeEach() { // set up snapshot name const currentTest = (this as unknown as Mocha.Context).currentTest!; - const sourceFilePath = currentTest.file!.replace(`lib${path.sep}cjs${path.sep}test`, `src${path.sep}test`).replace(/\.(jsx?|tsx?)$/, ""); + const sourceFilePath = currentTest.file!.replace(`lib${path.sep}esm${path.sep}test`, `src${path.sep}test`).replace(/\.(jsx?|tsx?)$/, ""); const snapPath = `${sourceFilePath}.snap`; chaiJestSnapshot.setFilename(snapPath); chaiJestSnapshot.setTestName(currentTest.fullTitle()); diff --git a/packages/testing/tsconfig.cjs.json b/packages/testing/tsconfig.cjs.json index bf9364d76..1ce1d3b07 100644 --- a/packages/testing/tsconfig.cjs.json +++ b/packages/testing/tsconfig.cjs.json @@ -4,5 +4,6 @@ "module": "CommonJS", "moduleResolution": "Node", "outDir": "lib/cjs" - } + }, + "exclude": ["src/test/**/*"] } diff --git a/packages/unified-selection/.mocharc.json b/packages/unified-selection/.mocharc.json index d1499ee43..b3b51a93e 100644 --- a/packages/unified-selection/.mocharc.json +++ b/packages/unified-selection/.mocharc.json @@ -1,8 +1,8 @@ { - "require": ["ignore-styles", "./lib/cjs/test/setup"], + "require": ["./lib/esm/test/setup.js"], "checkLeaks": true, "timeout": 60000, "parallel": false, - "spec": ["./lib/cjs/test/**/*.test.js"], + "spec": ["./lib/esm/test/**/*.test.js"], "exclude": ["./lib/test/coverage/**/*"] } diff --git a/packages/unified-selection/.nycrc b/packages/unified-selection/.nycrc index 17b8219b4..a9d64e7f8 100644 --- a/packages/unified-selection/.nycrc +++ b/packages/unified-selection/.nycrc @@ -4,7 +4,7 @@ "functions": 100, "branches": 100, "lines": 100, - "include": ["src/unified-selection/**/*", "lib/cjs/unified-selection/**/*"], + "include": ["src/unified-selection/**/*", "lib/esm/unified-selection/**/*"], "temp-dir": "./lib/test/coverage/.nyc_output", "report-dir": "./lib/test/coverage", "reporter": ["text-summary", "lcov", "cobertura"] diff --git a/packages/unified-selection/package.json b/packages/unified-selection/package.json index 2259c6796..dad83f747 100644 --- a/packages/unified-selection/package.json +++ b/packages/unified-selection/package.json @@ -40,10 +40,10 @@ "build:cjs": "node ../../scripts/package-cjs.mjs ./lib/cjs && tsc -p tsconfig.cjs.json", "build:esm": "tsc -p tsconfig.esm.json", "clean": "rimraf lib build", - "cover": "nyc npm -s test", + "cover": "c8 npm -s test", "lint": "eslint ./src/**/*.ts", - "test": "mocha --enable-source-maps --config ./.mocharc.json", "test:dev": "mocha --enable-source-maps --config ./.mocharc.json", + "test": "npm run test:dev", "extract-api": "extract-api --entry=unified-selection --apiReportFolder=./api --apiReportTempFolder=./api/temp --apiSummaryFolder=./api", "check-internal": "node ../../scripts/checkInternal.js --apiSummary ./api/unified-selection.api.md", "validate-markdowns": "node ../../scripts/validateMarkdowns.js README.md" @@ -63,17 +63,18 @@ "@types/node": "catalog:build-tools", "@types/sinon": "catalog:test-tools", "@types/sinon-chai": "catalog:test-tools", + "c8": "catalog:test-tools", "chai": "catalog:test-tools", "chai-as-promised": "catalog:test-tools", "cpx2": "catalog:build-tools", "eslint": "catalog:build-tools", "mocha": "catalog:test-tools", - "nyc": "catalog:test-tools", "presentation-build-tools": "workspace:^", "presentation-test-utilities": "workspace:^", "rimraf": "catalog:build-tools", "sinon": "catalog:test-tools", "sinon-chai": "catalog:test-tools", + "testdouble": "catalog:test-tools", "typescript": "catalog:build-tools" } } diff --git a/packages/unified-selection/src/test/CachingHiliteSetProvider.test.ts b/packages/unified-selection/src/test/CachingHiliteSetProvider.test.ts index 223986acf..a55797e11 100644 --- a/packages/unified-selection/src/test/CachingHiliteSetProvider.test.ts +++ b/packages/unified-selection/src/test/CachingHiliteSetProvider.test.ts @@ -6,10 +6,10 @@ import { expect } from "chai"; import { createAsyncIterator } from "presentation-test-utilities"; import sinon from "sinon"; +import * as td from "testdouble"; import { ECClassHierarchyInspector, ECSqlQueryExecutor } from "@itwin/presentation-shared"; -import { CachingHiliteSetProvider, createCachingHiliteSetProvider } from "../unified-selection/CachingHiliteSetProvider.js"; +import { CachingHiliteSetProvider } from "../unified-selection/CachingHiliteSetProvider.js"; import { HiliteSet, HiliteSetProvider, HiliteSetProviderProps } from "../unified-selection/HiliteSetProvider.js"; -import * as hiliteSetProvider from "../unified-selection/HiliteSetProvider.js"; import { SelectableInstanceKey } from "../unified-selection/Selectable.js"; import { createStorage, SelectionStorage } from "../unified-selection/SelectionStorage.js"; import { createSelectableInstanceKey } from "./_helpers/SelectablesCreator.js"; @@ -56,10 +56,14 @@ describe("CachingHiliteSetProvider", () => { } beforeEach(async () => { - factory = sinon.stub(hiliteSetProvider, "createHiliteSetProvider").returns(provider as unknown as hiliteSetProvider.HiliteSetProvider); + factory = sinon.stub<[props: HiliteSetProviderProps], HiliteSetProvider>().returns(provider as unknown as HiliteSetProvider); + await td.replaceEsm("../unified-selection/HiliteSetProvider.js", { + createHiliteSetProvider: factory, + }); selectionStorage = createStorage(); + const { createCachingHiliteSetProvider } = await import("../unified-selection/CachingHiliteSetProvider.js"); hiliteSetCache = createCachingHiliteSetProvider({ selectionStorage, imodelProvider, @@ -78,7 +82,7 @@ describe("CachingHiliteSetProvider", () => { }); afterEach(() => { - factory.restore(); + td.reset(); }); describe("getHiliteSet", () => { diff --git a/packages/unified-selection/src/test/EnableUnifiedSelectionSyncWithIModel.test.ts b/packages/unified-selection/src/test/EnableUnifiedSelectionSyncWithIModel.test.ts index 65302f5a6..a17c8a011 100644 --- a/packages/unified-selection/src/test/EnableUnifiedSelectionSyncWithIModel.test.ts +++ b/packages/unified-selection/src/test/EnableUnifiedSelectionSyncWithIModel.test.ts @@ -6,17 +6,12 @@ import { expect } from "chai"; import { createAsyncIterator, ResolvablePromise, waitFor } from "presentation-test-utilities"; import sinon from "sinon"; +import * as td from "testdouble"; import { BeEvent, Id64Arg, using } from "@itwin/core-bentley"; import { ECSqlQueryDef, ECSqlQueryExecutor, ECSqlQueryReaderOptions, ECSqlQueryRow } from "@itwin/presentation-shared"; import { CachingHiliteSetProvider, CachingHiliteSetProviderProps } from "../unified-selection/CachingHiliteSetProvider.js"; -import * as cachingHiliteSetProvider from "../unified-selection/CachingHiliteSetProvider.js"; -import { - enableUnifiedSelectionSyncWithIModel, - EnableUnifiedSelectionSyncWithIModelProps, - IModelSelectionHandler, -} from "../unified-selection/EnableUnifiedSelectionSyncWithIModel.js"; -import { HiliteSet, HiliteSetProvider, HiliteSetProviderProps } from "../unified-selection/HiliteSetProvider.js"; -import * as hiliteSetProvider from "../unified-selection/HiliteSetProvider.js"; +import { EnableUnifiedSelectionSyncWithIModelProps } from "../unified-selection/EnableUnifiedSelectionSyncWithIModel.js"; +import { HiliteSet, HiliteSetProvider } from "../unified-selection/HiliteSetProvider.js"; import { Selectable, SelectableInstanceKey, Selectables } from "../unified-selection/Selectable.js"; import { StorageSelectionChangesListener, StorageSelectionChangeType } from "../unified-selection/SelectionChangeEvent.js"; import { createStorage, SelectionStorage } from "../unified-selection/SelectionStorage.js"; @@ -56,17 +51,20 @@ describe("enableUnifiedSelectionSyncWithIModel", () => { provider.getHiliteSet.reset(); provider.getHiliteSet.callsFake(() => createAsyncIterator([])); - sinon.stub(cachingHiliteSetProvider, "createCachingHiliteSetProvider").returns(provider as unknown as cachingHiliteSetProvider.CachingHiliteSetProvider); + await td.replaceEsm("../unified-selection/CachingHiliteSetProvider.js", { + createCachingHiliteSetProvider: () => provider as unknown as CachingHiliteSetProvider, + }); resetListeners(); selectionStorage.selectionChangeEvent.addListener.returns(selectionStorage.selectionChangeEvent.removeListener); }); afterEach(() => { - sinon.restore(); + td.reset(); }); it("creates and disposes IModelSelectionHandler", async () => { + const { enableUnifiedSelectionSyncWithIModel } = await import("../unified-selection/EnableUnifiedSelectionSyncWithIModel.js"); const cleanup = enableUnifiedSelectionSyncWithIModel({ imodelAccess: imodelAccess as unknown as EnableUnifiedSelectionSyncWithIModelProps["imodelAccess"], selectionStorage: selectionStorage as unknown as SelectionStorage, @@ -85,7 +83,6 @@ describe("enableUnifiedSelectionSyncWithIModel", () => { }); describe("IModelSelectionHandler", () => { - let hiliteSetProviderFactory: sinon.SinonStub<[HiliteSetProviderProps], HiliteSetProvider>; let cachingHiliteSetProviderFactory: sinon.SinonStub<[CachingHiliteSetProviderProps], CachingHiliteSetProvider>; const cachingProvider = { @@ -158,7 +155,9 @@ describe("IModelSelectionHandler", () => { resetHiliteSetStub(); } - function createHandler(props: Partial & { selectionStorage: SelectionStorage }) { + async function createHandler(props: Partial & { selectionStorage: SelectionStorage }) { + // eslint-disable-next-line @typescript-eslint/naming-convention + const { IModelSelectionHandler } = await import("../unified-selection/EnableUnifiedSelectionSyncWithIModel.js"); const selectionHandler = new IModelSelectionHandler({ imodelAccess, activeScopeProvider: () => "element", @@ -169,17 +168,20 @@ describe("IModelSelectionHandler", () => { beforeEach(async () => { cachingHiliteSetProviderFactory = sinon - .stub(cachingHiliteSetProvider, "createCachingHiliteSetProvider") - .returns(cachingProvider as unknown as cachingHiliteSetProvider.CachingHiliteSetProvider); - - hiliteSetProviderFactory = sinon.stub(hiliteSetProvider, "createHiliteSetProvider").returns(provider as unknown as hiliteSetProvider.HiliteSetProvider); + .stub<[CachingHiliteSetProviderProps], CachingHiliteSetProvider>() + .returns(cachingProvider as unknown as CachingHiliteSetProvider); + await td.replaceEsm("../unified-selection/CachingHiliteSetProvider.js", { + createCachingHiliteSetProvider: cachingHiliteSetProviderFactory, + }); + await td.replaceEsm("../unified-selection/HiliteSetProvider.js", { + createHiliteSetProvider: () => provider as unknown as HiliteSetProvider, + }); }); afterEach(() => { - hiliteSetProviderFactory.reset(); + td.reset(); cachingHiliteSetProviderFactory.reset(); resetStubs(); - sinon.restore(); }); describe("reacting to core/tool selection changes", () => { @@ -224,7 +226,7 @@ describe("IModelSelectionHandler", () => { }; customCachingHiliteSetProviderStub.getHiliteSet.callsFake(emptyGenerator); using( - createHandler({ + await createHandler({ selectionStorage: selectionStorageStub as unknown as SelectionStorage, cachingHiliteSetProvider: customCachingHiliteSetProviderStub, }), @@ -237,7 +239,7 @@ describe("IModelSelectionHandler", () => { it("creates `CachingHiliteSetProvider` when not provided", async () => { using( - createHandler({ + await createHandler({ selectionStorage: selectionStorageStub as unknown as SelectionStorage, }), (_) => { @@ -253,7 +255,7 @@ describe("IModelSelectionHandler", () => { it("clears selection", async () => { await using( - createHandler({ + await createHandler({ selectionStorage: selectionStorageStub as unknown as SelectionStorage, }), async (_) => { @@ -267,7 +269,7 @@ describe("IModelSelectionHandler", () => { it("adds elements to selection", async () => { await using( - createHandler({ + await createHandler({ selectionStorage: selectionStorageStub as unknown as SelectionStorage, }), async (_) => { @@ -285,7 +287,7 @@ describe("IModelSelectionHandler", () => { it("removes elements from selection", async () => { await using( - createHandler({ + await createHandler({ selectionStorage: selectionStorageStub as unknown as SelectionStorage, }), async (_) => { @@ -303,7 +305,7 @@ describe("IModelSelectionHandler", () => { it("replaces selection", async () => { await using( - createHandler({ + await createHandler({ selectionStorage: selectionStorageStub as unknown as SelectionStorage, }), async (_) => { @@ -326,7 +328,7 @@ describe("IModelSelectionHandler", () => { it("ignores changes when suspended", async () => { await using( - createHandler({ + await createHandler({ selectionStorage: selectionStorageStub as unknown as SelectionStorage, }), async (handler) => { @@ -410,7 +412,7 @@ describe("IModelSelectionHandler", () => { ]), ); - await using(createHandler({ selectionStorage }), async (_) => { + await using(await createHandler({ selectionStorage }), async (_) => { await waitFor(() => { expect(hiliteSet.clear).to.be.calledOnce; expect(hiliteSet.elements.addIds).to.be.calledOnceWith([instanceKey.id]); @@ -421,7 +423,7 @@ describe("IModelSelectionHandler", () => { }); it("ignores selection changes to other imodels", async () => { - await using(createHandler({ selectionStorage }), async (_) => { + await using(await createHandler({ selectionStorage }), async (_) => { resetStubs(); triggerUnifiedSelectionChange({ imodelKey: "otherIModel" }); await waitFor(() => { @@ -435,7 +437,7 @@ describe("IModelSelectionHandler", () => { }); it("ignores selection changes to selection levels other than 0", async () => { - await using(createHandler({ selectionStorage }), async (_) => { + await using(await createHandler({ selectionStorage }), async (_) => { resetStubs(); triggerUnifiedSelectionChange({ level: 1 }); await waitFor(() => { @@ -449,7 +451,7 @@ describe("IModelSelectionHandler", () => { }); it("clears selection set when hilite list is empty", async () => { - await using(createHandler({ selectionStorage }), async (_) => { + await using(await createHandler({ selectionStorage }), async (_) => { resetStubs(); cachingProvider.getHiliteSet.callsFake(() => createAsyncIterator([])); @@ -463,7 +465,7 @@ describe("IModelSelectionHandler", () => { }); it("sets elements hilite after replace event", async () => { - await using(createHandler({ selectionStorage }), async (_) => { + await using(await createHandler({ selectionStorage }), async (_) => { resetStubs(); const id = "0x2"; @@ -481,7 +483,7 @@ describe("IModelSelectionHandler", () => { }); it("sets models hilite after replace event", async () => { - await using(createHandler({ selectionStorage }), async (_) => { + await using(await createHandler({ selectionStorage }), async (_) => { resetStubs(); const id = "0x1"; @@ -499,7 +501,7 @@ describe("IModelSelectionHandler", () => { }); it("sets subcategories hilite after replace event", async () => { - await using(createHandler({ selectionStorage }), async (_) => { + await using(await createHandler({ selectionStorage }), async (_) => { resetStubs(); const id = "0x1"; @@ -517,7 +519,7 @@ describe("IModelSelectionHandler", () => { }); it("sets combined hilite after replace event", async () => { - await using(createHandler({ selectionStorage }), async (_) => { + await using(await createHandler({ selectionStorage }), async (_) => { resetStubs(); const modelId = "0x1"; @@ -539,7 +541,7 @@ describe("IModelSelectionHandler", () => { }); it("adds elements to hilite after add event", async () => { - await using(createHandler({ selectionStorage }), async (_) => { + await using(await createHandler({ selectionStorage }), async (_) => { resetStubs(); const instanceKey = createSelectableInstanceKey(4); @@ -557,7 +559,7 @@ describe("IModelSelectionHandler", () => { }); it("adds models to hilite after add event", async () => { - await using(createHandler({ selectionStorage }), async (_) => { + await using(await createHandler({ selectionStorage }), async (_) => { resetStubs(); const instanceKey = createSelectableInstanceKey(4); @@ -576,7 +578,7 @@ describe("IModelSelectionHandler", () => { }); it("adds subcategories to hilite after add event", async () => { - await using(createHandler({ selectionStorage }), async (_) => { + await using(await createHandler({ selectionStorage }), async (_) => { resetStubs(); const instanceKey = createSelectableInstanceKey(4); @@ -595,7 +597,7 @@ describe("IModelSelectionHandler", () => { }); it("removes elements from hilite after remove event", async () => { - await using(createHandler({ selectionStorage }), async (_) => { + await using(await createHandler({ selectionStorage }), async (_) => { resetStubs(); const instanceKey = createSelectableInstanceKey(); @@ -613,7 +615,7 @@ describe("IModelSelectionHandler", () => { }); it("removes and re-adds elements to hilite after remove event", async () => { - await using(createHandler({ selectionStorage }), async (_) => { + await using(await createHandler({ selectionStorage }), async (_) => { resetStubs(); const removedIds = ["0x1", "0x2"]; @@ -652,7 +654,7 @@ describe("IModelSelectionHandler", () => { }); it("removes and re-adds models to hilite after remove event", async () => { - await using(createHandler({ selectionStorage }), async (_) => { + await using(await createHandler({ selectionStorage }), async (_) => { resetStubs(); const removedIds = ["0x1", "0x2"]; @@ -691,7 +693,7 @@ describe("IModelSelectionHandler", () => { }); it("removes and re-adds subcategories to hilite after remove event", async () => { - await using(createHandler({ selectionStorage }), async (_) => { + await using(await createHandler({ selectionStorage }), async (_) => { resetStubs(); const removedIds = ["0x1", "0x2"]; @@ -730,7 +732,7 @@ describe("IModelSelectionHandler", () => { }); it("handles hilite set in batches", async () => { - await using(createHandler({ selectionStorage }), async (_) => { + await using(await createHandler({ selectionStorage }), async (_) => { resetStubs(); const firstElementId = "0x1"; @@ -776,7 +778,7 @@ describe("IModelSelectionHandler", () => { }); it("cancels ongoing selection change handling when selection replaced", async () => { - await using(createHandler({ selectionStorage }), async (_) => { + await using(await createHandler({ selectionStorage }), async (_) => { resetStubs(); const initialElementId = "0x1"; @@ -838,7 +840,7 @@ describe("IModelSelectionHandler", () => { }); it("cancels ongoing selection change handling when selection cleared", async () => { - await using(createHandler({ selectionStorage }), async (_) => { + await using(await createHandler({ selectionStorage }), async (_) => { resetStubs(); const initialElementId = "0x1"; @@ -900,7 +902,7 @@ describe("IModelSelectionHandler", () => { }); it("does not cancel ongoing changes when added or removed from selection", async () => { - await using(createHandler({ selectionStorage }), async (_) => { + await using(await createHandler({ selectionStorage }), async (_) => { resetStubs(); const initialElementId = "0x1"; @@ -988,7 +990,7 @@ describe("IModelSelectionHandler", () => { }); it("does not clear selection set if unified selection change was caused by viewport", async () => { - await using(createHandler({ selectionStorage }), async (_) => { + await using(await createHandler({ selectionStorage }), async (_) => { resetStubs(); const elementId = "0x1"; diff --git a/packages/unified-selection/tsconfig.cjs.json b/packages/unified-selection/tsconfig.cjs.json index bf9364d76..1ce1d3b07 100644 --- a/packages/unified-selection/tsconfig.cjs.json +++ b/packages/unified-selection/tsconfig.cjs.json @@ -4,5 +4,6 @@ "module": "CommonJS", "moduleResolution": "Node", "outDir": "lib/cjs" - } + }, + "exclude": ["src/test/**/*"] } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2e463ef8c..416e82919 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -180,6 +180,9 @@ catalogs: '@types/sinon-chai': specifier: ^3.2.12 version: 3.2.12 + c8: + specifier: ^10.1.2 + version: 10.1.2 chai: specifier: ^4.4.1 version: 4.4.1 @@ -193,26 +196,26 @@ catalogs: specifier: ^1.6.0 version: 1.6.0 global-jsdom: - specifier: ^24.0.0 - version: 24.0.0 + specifier: ^25.0.0 + version: 25.0.0 ignore-styles: specifier: ^5.0.1 version: 5.0.1 jsdom: - specifier: ^24.1.0 - version: 24.1.0 + specifier: ^25.0.1 + version: 25.0.1 mocha: - specifier: ^10.6.0 - version: 10.6.0 - nyc: - specifier: ^17.0.0 - version: 17.0.0 + specifier: ^10.7.3 + version: 10.7.3 sinon: specifier: ^18.0.0 version: 18.0.0 sinon-chai: specifier: ^3.7.0 version: 3.7.0 + testdouble: + specifier: ^3.20.2 + version: 3.20.2 overrides: '@opentelemetry/exporter-metrics-otlp-grpc@^0.41.2': ^0.52.0 @@ -278,10 +281,10 @@ importers: dependencies: '@itwin/build-tools': specifier: catalog:build-tools - version: 4.10.0-dev.33(@types/node@20.14.6) + version: 4.10.0-dev.33(@types/node@20.12.12) '@microsoft/api-extractor': specifier: ~7.47.11 - version: 7.47.11(@types/node@20.14.6) + version: 7.47.11(@types/node@20.12.12) yargs: specifier: ^17.7.2 version: 17.7.2 @@ -302,7 +305,7 @@ importers: version: 4.17.0(@itwin/appui-abstract@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/core-bentley@4.9.0)(@itwin/core-react@4.17.0(@itwin/appui-abstract@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/core-bentley@4.9.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@itwin/core-backend': specifier: catalog:itwinjs-core - version: 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0)(encoding@0.1.13) + version: 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0) '@itwin/core-bentley': specifier: catalog:itwinjs-core version: 4.9.0 @@ -335,19 +338,19 @@ importers: version: 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))) '@itwin/ecschema-rpcinterface-impl': specifier: catalog:itwinjs-core - version: 4.9.0(@itwin/core-backend@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0)(encoding@0.1.13))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))(@itwin/ecschema-rpcinterface-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))) + version: 4.9.0(@itwin/core-backend@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))(@itwin/ecschema-rpcinterface-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))) '@itwin/eslint-plugin': specifier: catalog:build-tools version: 5.0.0-dev.1(eslint@9.13.0)(typescript@5.6.3) '@itwin/imodel-components-react': specifier: catalog:appui - version: 4.17.0(5bxgqeyspavecgkyhfymyjxjri) + version: 4.17.0(w6sgngvtulzkoge55lgz26tzie) '@itwin/itwinui-react': specifier: catalog:itwinui version: 3.14.1(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@itwin/presentation-backend': specifier: catalog:itwinjs-core - version: 4.9.0(@itwin/core-backend@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0)(encoding@0.1.13))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))(@itwin/presentation-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))) + version: 4.9.0(@itwin/core-backend@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))(@itwin/presentation-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))) '@itwin/presentation-common': specifier: catalog:itwinjs-core version: 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))) @@ -359,7 +362,7 @@ importers: version: link:../../packages/core-interop '@itwin/presentation-frontend': specifier: catalog:itwinjs-core - version: 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-frontend@4.9.0(@itwin/appui-abstract@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@itwin/core-orbitgt@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(encoding@0.1.13)(inversify@6.0.2)(reflect-metadata@0.1.14))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))(@itwin/presentation-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))) + version: 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-frontend@4.9.0(@itwin/appui-abstract@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@itwin/core-orbitgt@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(inversify@6.0.2)(reflect-metadata@0.1.14))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))(@itwin/presentation-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))) '@itwin/presentation-hierarchies': specifier: workspace:^ version: link:../../packages/hierarchies @@ -441,6 +444,9 @@ importers: cpx2: specifier: catalog:build-tools version: 7.0.1 + cross-env: + specifier: catalog:build-tools + version: 7.0.3 eslint: specifier: catalog:build-tools version: 9.13.0 @@ -449,7 +455,7 @@ importers: version: 4.5.0 global-jsdom: specifier: catalog:test-tools - version: 24.0.0(jsdom@24.1.0) + version: 25.0.0(jsdom@25.0.1) i18next-http-backend: specifier: ^1.4.5 version: 1.4.5(encoding@0.1.13) @@ -461,10 +467,10 @@ importers: version: 6.0.2 jsdom: specifier: catalog:test-tools - version: 24.1.0 + version: 25.0.1 mocha: specifier: catalog:test-tools - version: 10.6.0 + version: 10.7.3 object-hash: specifier: ^3.0.0 version: 3.0.0 @@ -506,7 +512,7 @@ importers: version: 4.10.0-dev.33(@types/node@20.12.12) '@itwin/core-backend': specifier: catalog:itwinjs-core - version: 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0)(encoding@0.1.13) + version: 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0) '@itwin/core-bentley': specifier: catalog:itwinjs-core version: 4.9.0 @@ -533,16 +539,16 @@ importers: version: 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))) '@itwin/ecschema-rpcinterface-impl': specifier: catalog:itwinjs-core - version: 4.9.0(@itwin/core-backend@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0)(encoding@0.1.13))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))(@itwin/ecschema-rpcinterface-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))) + version: 4.9.0(@itwin/core-backend@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))(@itwin/ecschema-rpcinterface-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))) '@itwin/eslint-plugin': specifier: catalog:build-tools version: 5.0.0-dev.1(eslint@9.13.0)(typescript@5.6.3) '@itwin/express-server': specifier: catalog:itwinjs-core - version: 4.9.0(@itwin/core-backend@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0)(encoding@0.1.13))(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0)) + version: 4.9.0(@itwin/core-backend@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0))(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0)) '@itwin/presentation-backend': specifier: catalog:itwinjs-core - version: 4.9.0(@itwin/core-backend@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0)(encoding@0.1.13))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))(@itwin/presentation-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))) + version: 4.9.0(@itwin/core-backend@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))(@itwin/presentation-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))) '@itwin/presentation-common': specifier: catalog:itwinjs-core version: 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))) @@ -623,7 +629,7 @@ importers: version: 20.12.12 artillery: specifier: 2.0.15 - version: 2.0.15(@aws-sdk/client-sso-oidc@3.600.0)(@types/node@20.12.12)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + version: 2.0.15(@aws-sdk/client-sso-oidc@3.679.0(@aws-sdk/client-sts@3.679.0))(@types/node@20.12.12)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) brotli: specifier: ^1.3.3 version: 1.3.3 @@ -647,7 +653,7 @@ importers: version: 1.0.4 '@itwin/core-backend': specifier: catalog:itwinjs-core - version: 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.9.0)(encoding@0.1.13) + version: 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.9.0) '@itwin/core-bentley': specifier: catalog:itwinjs-core version: 4.9.0 @@ -686,7 +692,7 @@ importers: version: 4.4.1 mocha: specifier: catalog:test-tools - version: 10.6.0 + version: 10.7.3 presentation-test-utilities: specifier: workspace:^ version: link:../../packages/test-utilities @@ -729,10 +735,10 @@ importers: version: 4.9.0(@itwin/core-bentley@4.9.0) '@itwin/build-tools': specifier: catalog:build-tools - version: 4.10.0-dev.33(@types/node@20.14.6) + version: 4.10.0-dev.33(@types/node@20.12.12) '@itwin/core-backend': specifier: catalog:itwinjs-core - version: 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0)(encoding@0.1.13) + version: 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0) '@itwin/core-bentley': specifier: catalog:itwinjs-core version: 4.9.0 @@ -741,7 +747,7 @@ importers: version: 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0) '@itwin/core-electron': specifier: catalog:itwinjs-core - version: 4.9.0(@itwin/core-backend@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0)(encoding@0.1.13))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-frontend@4.9.0(@itwin/appui-abstract@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@itwin/core-orbitgt@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(encoding@0.1.13)(inversify@6.0.2)(reflect-metadata@0.1.14))(electron@28.3.1) + version: 4.9.0(@itwin/core-backend@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-frontend@4.9.0(@itwin/appui-abstract@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@itwin/core-orbitgt@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(inversify@6.0.2)(reflect-metadata@0.1.14))(electron@28.3.1) '@itwin/core-frontend': specifier: catalog:itwinjs-core version: 4.9.0(@itwin/appui-abstract@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@itwin/core-orbitgt@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(encoding@0.1.13)(inversify@6.0.2)(reflect-metadata@0.1.14) @@ -762,16 +768,16 @@ importers: version: 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))) '@itwin/ecschema-rpcinterface-impl': specifier: catalog:itwinjs-core - version: 4.9.0(@itwin/core-backend@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0)(encoding@0.1.13))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))(@itwin/ecschema-rpcinterface-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))) + version: 4.9.0(@itwin/core-backend@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))(@itwin/ecschema-rpcinterface-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))) '@itwin/eslint-plugin': specifier: catalog:build-tools version: 5.0.0-dev.1(eslint@9.13.0)(typescript@5.6.3) '@itwin/express-server': specifier: catalog:itwinjs-core - version: 4.9.0(@itwin/core-backend@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0)(encoding@0.1.13))(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0)) + version: 4.9.0(@itwin/core-backend@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0))(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0)) '@itwin/presentation-backend': specifier: catalog:itwinjs-core - version: 4.9.0(@itwin/core-backend@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0)(encoding@0.1.13))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))(@itwin/presentation-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))) + version: 4.9.0(@itwin/core-backend@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))(@itwin/presentation-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))) '@itwin/presentation-common': specifier: catalog:itwinjs-core version: 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))) @@ -825,7 +831,7 @@ importers: dependencies: '@itwin/build-tools': specifier: catalog:build-tools - version: 4.10.0-dev.33(@types/node@20.14.6) + version: 4.10.0-dev.33(@types/node@20.12.12) '@itwin/core-bentley': specifier: catalog:itwinjs-core version: 4.9.0 @@ -870,7 +876,7 @@ importers: version: 4.9.0(@itwin/core-bentley@4.9.0) '@itwin/appui-react': specifier: catalog:appui - version: 4.17.0(jgrsh243ki6dc6ozg2qm5xy6by) + version: 4.17.0(3itgo2wmfjvnqs3pwhhk4ricni) '@itwin/build-tools': specifier: catalog:build-tools version: 4.10.0-dev.33(@types/node@20.12.12) @@ -879,7 +885,7 @@ importers: version: 4.17.0(@itwin/appui-abstract@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/core-bentley@4.9.0)(@itwin/core-react@4.17.0(@itwin/appui-abstract@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/core-bentley@4.9.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@itwin/core-backend': specifier: catalog:itwinjs-core - version: 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0)(encoding@0.1.13) + version: 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0) '@itwin/core-bentley': specifier: catalog:itwinjs-core version: 4.9.0 @@ -888,7 +894,7 @@ importers: version: 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0) '@itwin/core-electron': specifier: catalog:itwinjs-core - version: 4.9.0(@itwin/core-backend@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0)(encoding@0.1.13))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-frontend@4.9.0(@itwin/appui-abstract@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@itwin/core-orbitgt@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(encoding@0.1.13)(inversify@6.0.2)(reflect-metadata@0.1.14))(electron@28.3.1) + version: 4.9.0(@itwin/core-backend@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-frontend@4.9.0(@itwin/appui-abstract@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@itwin/core-orbitgt@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(inversify@6.0.2)(reflect-metadata@0.1.14))(electron@28.3.1) '@itwin/core-frontend': specifier: catalog:itwinjs-core version: 4.9.0(@itwin/appui-abstract@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@itwin/core-orbitgt@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(encoding@0.1.13)(inversify@6.0.2)(reflect-metadata@0.1.14) @@ -921,7 +927,7 @@ importers: version: 5.0.0-dev.1(eslint@9.13.0)(typescript@5.6.3) '@itwin/imodel-components-react': specifier: catalog:appui - version: 4.17.0(5bxgqeyspavecgkyhfymyjxjri) + version: 4.17.0(w6sgngvtulzkoge55lgz26tzie) '@itwin/itwinui-icons-react': specifier: catalog:itwinui version: 2.8.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -939,7 +945,7 @@ importers: version: link:../../../packages/core-interop '@itwin/presentation-frontend': specifier: catalog:itwinjs-core - version: 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-frontend@4.9.0(@itwin/appui-abstract@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@itwin/core-orbitgt@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(encoding@0.1.13)(inversify@6.0.2)(reflect-metadata@0.1.14))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))(@itwin/presentation-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))) + version: 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-frontend@4.9.0(@itwin/appui-abstract@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@itwin/core-orbitgt@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(inversify@6.0.2)(reflect-metadata@0.1.14))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))(@itwin/presentation-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))) '@itwin/presentation-hierarchies': specifier: workspace:* version: link:../../../packages/hierarchies @@ -1069,7 +1075,7 @@ importers: version: 4.9.0(@itwin/core-bentley@4.9.0) '@itwin/build-tools': specifier: catalog:build-tools - version: 4.10.0-dev.33(@types/node@20.14.6) + version: 4.10.0-dev.33(@types/node@20.12.12) '@itwin/components-react': specifier: catalog:appui version: 4.17.0(@itwin/appui-abstract@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/core-bentley@4.9.0)(@itwin/core-react@4.17.0(@itwin/appui-abstract@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/core-bentley@4.9.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -1105,7 +1111,7 @@ importers: version: 5.0.0-dev.1(eslint@9.13.0)(typescript@5.6.3) '@itwin/imodel-components-react': specifier: catalog:appui - version: 4.17.0(5bxgqeyspavecgkyhfymyjxjri) + version: 4.17.0(w6sgngvtulzkoge55lgz26tzie) '@itwin/itwinui-react': specifier: catalog:itwinui version: 3.14.1(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -1114,7 +1120,7 @@ importers: version: 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))) '@itwin/presentation-frontend': specifier: catalog:itwinjs-core - version: 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-frontend@4.9.0(@itwin/appui-abstract@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@itwin/core-orbitgt@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(encoding@0.1.13)(inversify@6.0.2)(reflect-metadata@0.1.14))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))(@itwin/presentation-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))) + version: 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-frontend@4.9.0(@itwin/appui-abstract@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@itwin/core-orbitgt@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(inversify@6.0.2)(reflect-metadata@0.1.14))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))(@itwin/presentation-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))) '@itwin/webgl-compatibility': specifier: catalog:itwinjs-core version: 4.9.0 @@ -1157,6 +1163,9 @@ importers: '@types/sinon-chai': specifier: catalog:test-tools version: 3.2.12 + c8: + specifier: catalog:test-tools + version: 10.1.2 chai: specifier: catalog:test-tools version: 4.4.1 @@ -1183,19 +1192,16 @@ importers: version: 7.37.2(eslint@9.13.0) global-jsdom: specifier: catalog:test-tools - version: 24.0.0(jsdom@24.1.0) + version: 25.0.0(jsdom@25.0.1) ignore-styles: specifier: catalog:test-tools version: 5.0.1 jsdom: specifier: catalog:test-tools - version: 24.1.0 + version: 25.0.1 mocha: specifier: catalog:test-tools - version: 10.6.0 - nyc: - specifier: catalog:test-tools - version: 17.0.0 + version: 10.7.3 presentation-build-tools: specifier: workspace:^ version: link:../../apps/build-tools @@ -1217,6 +1223,9 @@ importers: sinon-chai: specifier: catalog:test-tools version: 3.7.0(chai@4.4.1)(sinon@18.0.0) + testdouble: + specifier: catalog:test-tools + version: 3.20.2 typescript: specifier: catalog:build-tools version: 5.6.3 @@ -1232,7 +1241,7 @@ importers: devDependencies: '@itwin/build-tools': specifier: catalog:build-tools - version: 4.10.0-dev.33(@types/node@20.14.6) + version: 4.10.0-dev.33(@types/node@20.12.12) '@itwin/core-bentley': specifier: catalog:itwinjs-core version: 4.9.0 @@ -1266,6 +1275,9 @@ importers: '@types/sinon-chai': specifier: catalog:test-tools version: 3.2.12 + c8: + specifier: catalog:test-tools + version: 10.1.2 chai: specifier: catalog:test-tools version: 4.4.1 @@ -1280,10 +1292,7 @@ importers: version: 9.13.0 mocha: specifier: catalog:test-tools - version: 10.6.0 - nyc: - specifier: catalog:test-tools - version: 17.0.0 + version: 10.7.3 presentation-build-tools: specifier: workspace:^ version: link:../../apps/build-tools @@ -1354,6 +1363,9 @@ importers: '@types/sinon-chai': specifier: catalog:test-tools version: 3.2.12 + c8: + specifier: catalog:test-tools + version: 10.1.2 chai: specifier: catalog:test-tools version: 4.4.1 @@ -1371,10 +1383,7 @@ importers: version: 9.13.0 mocha: specifier: catalog:test-tools - version: 10.6.0 - nyc: - specifier: catalog:test-tools - version: 17.0.0 + version: 10.7.3 presentation-build-tools: specifier: workspace:^ version: link:../../apps/build-tools @@ -1390,6 +1399,9 @@ importers: sinon-chai: specifier: catalog:test-tools version: 3.7.0(chai@4.4.1)(sinon@18.0.0) + testdouble: + specifier: catalog:test-tools + version: 3.20.2 typescript: specifier: catalog:build-tools version: 5.6.3 @@ -1429,7 +1441,7 @@ importers: devDependencies: '@itwin/build-tools': specifier: catalog:build-tools - version: 4.10.0-dev.33(@types/node@20.14.6) + version: 4.10.0-dev.33(@types/node@20.12.12) '@itwin/itwinui-react': specifier: catalog:itwinui version: 3.14.1(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -1469,6 +1481,9 @@ importers: '@types/sinon-chai': specifier: catalog:test-tools version: 3.2.12 + c8: + specifier: catalog:test-tools + version: 10.1.2 chai: specifier: catalog:test-tools version: 4.4.1 @@ -1481,6 +1496,9 @@ importers: cpx2: specifier: catalog:build-tools version: 7.0.1 + cross-env: + specifier: catalog:build-tools + version: 7.0.3 eslint: specifier: catalog:build-tools version: 9.13.0 @@ -1489,19 +1507,16 @@ importers: version: 7.37.2(eslint@9.13.0) global-jsdom: specifier: catalog:test-tools - version: 24.0.0(jsdom@24.1.0) + version: 25.0.0(jsdom@25.0.1) ignore-styles: specifier: catalog:test-tools version: 5.0.1 jsdom: specifier: catalog:test-tools - version: 24.1.0 + version: 25.0.1 mocha: specifier: catalog:test-tools - version: 10.6.0 - nyc: - specifier: catalog:test-tools - version: 17.0.0 + version: 10.7.3 presentation-build-tools: specifier: workspace:^ version: link:../../apps/build-tools @@ -1523,6 +1538,9 @@ importers: sinon-chai: specifier: catalog:test-tools version: 3.7.0(chai@4.4.1)(sinon@18.0.0) + testdouble: + specifier: catalog:test-tools + version: 3.20.2 typescript: specifier: catalog:build-tools version: 5.6.3 @@ -1541,7 +1559,7 @@ importers: devDependencies: '@itwin/build-tools': specifier: catalog:build-tools - version: 4.10.0-dev.33(@types/node@20.14.6) + version: 4.10.0-dev.33(@types/node@20.12.12) '@itwin/eslint-plugin': specifier: catalog:build-tools version: 5.0.0-dev.1(eslint@9.13.0)(typescript@5.6.3) @@ -1605,6 +1623,9 @@ importers: '@types/sinon-chai': specifier: catalog:test-tools version: 3.2.12 + c8: + specifier: catalog:test-tools + version: 10.1.2 chai: specifier: catalog:test-tools version: 4.4.1 @@ -1619,10 +1640,7 @@ importers: version: 9.13.0 mocha: specifier: catalog:test-tools - version: 10.6.0 - nyc: - specifier: catalog:test-tools - version: 17.0.0 + version: 10.7.3 presentation-build-tools: specifier: workspace:^ version: link:../../apps/build-tools @@ -1672,6 +1690,9 @@ importers: '@types/sinon-chai': specifier: catalog:test-tools version: 3.2.12 + c8: + specifier: catalog:test-tools + version: 10.1.2 chai: specifier: catalog:test-tools version: 4.4.1 @@ -1686,10 +1707,7 @@ importers: version: 9.13.0 mocha: specifier: catalog:test-tools - version: 10.6.0 - nyc: - specifier: catalog:test-tools - version: 17.0.0 + version: 10.7.3 presentation-build-tools: specifier: workspace:^ version: link:../../apps/build-tools @@ -1763,7 +1781,7 @@ importers: version: 4.17.0(@itwin/appui-abstract@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/core-bentley@4.9.0)(@itwin/core-react@4.17.0(@itwin/appui-abstract@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/core-bentley@4.9.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@itwin/core-backend': specifier: catalog:itwinjs-core - version: 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0)(encoding@0.1.13) + version: 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0) '@itwin/core-bentley': specifier: catalog:itwinjs-core version: 4.9.0 @@ -1793,13 +1811,13 @@ importers: version: 5.0.0-dev.1(eslint@9.13.0)(typescript@5.6.3) '@itwin/presentation-backend': specifier: catalog:itwinjs-core - version: 4.9.0(@itwin/core-backend@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0)(encoding@0.1.13))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))(@itwin/presentation-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))) + version: 4.9.0(@itwin/core-backend@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))(@itwin/presentation-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))) '@itwin/presentation-common': specifier: catalog:itwinjs-core version: 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))) '@itwin/presentation-frontend': specifier: catalog:itwinjs-core - version: 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-frontend@4.9.0(@itwin/appui-abstract@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@itwin/core-orbitgt@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(encoding@0.1.13)(inversify@6.0.2)(reflect-metadata@0.1.14))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))(@itwin/presentation-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))) + version: 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-frontend@4.9.0(@itwin/appui-abstract@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@itwin/core-orbitgt@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(inversify@6.0.2)(reflect-metadata@0.1.14))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))(@itwin/presentation-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))) '@itwin/webgl-compatibility': specifier: catalog:itwinjs-core version: 4.9.0 @@ -1827,6 +1845,9 @@ importers: '@types/sinon-chai': specifier: catalog:test-tools version: 3.2.12 + c8: + specifier: catalog:test-tools + version: 10.1.2 chai: specifier: catalog:test-tools version: 4.4.1 @@ -1847,7 +1868,7 @@ importers: version: 9.13.0 global-jsdom: specifier: catalog:test-tools - version: 24.0.0(jsdom@24.1.0) + version: 25.0.0(jsdom@25.0.1) ignore-styles: specifier: catalog:test-tools version: 5.0.1 @@ -1856,13 +1877,10 @@ importers: version: 6.0.2 jsdom: specifier: catalog:test-tools - version: 24.1.0 + version: 25.0.1 mocha: specifier: catalog:test-tools - version: 10.6.0 - nyc: - specifier: catalog:test-tools - version: 17.0.0 + version: 10.7.3 presentation-build-tools: specifier: workspace:^ version: link:../../apps/build-tools @@ -1884,6 +1902,9 @@ importers: sinon-chai: specifier: catalog:test-tools version: 3.7.0(chai@4.4.1)(sinon@18.0.0) + testdouble: + specifier: catalog:test-tools + version: 3.20.2 typescript: specifier: catalog:build-tools version: 5.6.3 @@ -1927,6 +1948,9 @@ importers: '@types/sinon-chai': specifier: catalog:test-tools version: 3.2.12 + c8: + specifier: catalog:test-tools + version: 10.1.2 chai: specifier: catalog:test-tools version: 4.4.1 @@ -1941,10 +1965,7 @@ importers: version: 9.13.0 mocha: specifier: catalog:test-tools - version: 10.6.0 - nyc: - specifier: catalog:test-tools - version: 17.0.0 + version: 10.7.3 presentation-build-tools: specifier: workspace:^ version: link:../../apps/build-tools @@ -1960,6 +1981,9 @@ importers: sinon-chai: specifier: catalog:test-tools version: 3.7.0(chai@4.4.1)(sinon@18.0.0) + testdouble: + specifier: catalog:test-tools + version: 3.20.2 typescript: specifier: catalog:build-tools version: 5.6.3 @@ -1996,113 +2020,115 @@ packages: '@aws-crypto/util@5.2.0': resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} - '@aws-sdk/client-cloudwatch@3.600.0': - resolution: {integrity: sha512-1+EOoKyqQGKyYvqXVIqtPtOE1df7XDYazdZOFdb7DqX69YMXovRTlFzz/+auh7fccsGVIkRdk1e+rJ2TFeMEBw==} + '@aws-sdk/client-cloudwatch@3.679.0': + resolution: {integrity: sha512-jBppHbNUN4M6zMSmyWesbjmBCSrJWH9DvJAumYKYE+81UON2q8iFAdfzD2DGCTgQjZMGfGhgGQrYIeYRIDS97g==} engines: {node: '>=16.0.0'} - '@aws-sdk/client-cognito-identity@3.600.0': - resolution: {integrity: sha512-8dYsnDLiD0rjujRiZZl0E57heUkHqMSFZHBi0YMs57SM8ODPxK3tahwDYZtS7bqanvFKZwGy+o9jIcij7jBOlA==} + '@aws-sdk/client-cognito-identity@3.679.0': + resolution: {integrity: sha512-vJzQ6QpaMu8itJMe3FH1/0rwMjL0ELh63iLTxiAmhiV/SvCwNNoSFLd2HdKxbV0Bg/x8lUiPVq3pl6+cxaIrEQ==} engines: {node: '>=16.0.0'} - '@aws-sdk/client-sso-oidc@3.600.0': - resolution: {integrity: sha512-7+I8RWURGfzvChyNQSyj5/tKrqRbzRl7H+BnTOf/4Vsw1nFOi5ROhlhD4X/Y0QCTacxnaoNcIrqnY7uGGvVRzw==} + '@aws-sdk/client-sso-oidc@3.679.0': + resolution: {integrity: sha512-/dBYWcCwbA/id4sFCIVZvf0UsvzHCC68SryxeNQk/PDkY9N4n5yRcMUkZDaEyQCjowc3kY4JOXp2AdUP037nhA==} engines: {node: '>=16.0.0'} + peerDependencies: + '@aws-sdk/client-sts': ^3.679.0 - '@aws-sdk/client-sso@3.598.0': - resolution: {integrity: sha512-nOI5lqPYa+YZlrrzwAJywJSw3MKVjvu6Ge2fCqQUNYMfxFB0NAaDFnl0EPjXi+sEbtCuz/uWE77poHbqiZ+7Iw==} + '@aws-sdk/client-sso@3.679.0': + resolution: {integrity: sha512-/0cAvYnpOZTo/Y961F1kx2fhDDLUYZ0SQQ5/75gh3xVImLj7Zw+vp74ieqFbqWLYGMaq8z1Arr9A8zG95mbLdg==} engines: {node: '>=16.0.0'} - '@aws-sdk/client-sts@3.600.0': - resolution: {integrity: sha512-KQG97B7LvTtTiGmjlrG1LRAY8wUvCQzrmZVV5bjrJ/1oXAU7DITYwVbSJeX9NWg6hDuSk0VE3MFwIXS2SvfLIA==} + '@aws-sdk/client-sts@3.679.0': + resolution: {integrity: sha512-3CvrT8w1RjFu1g8vKA5Azfr5V83r2/b68Ock43WE003Bq/5Y38mwmYX7vk0fPHzC3qejt4YMAWk/C3fSKOy25g==} engines: {node: '>=16.0.0'} - '@aws-sdk/core@3.598.0': - resolution: {integrity: sha512-HaSjt7puO5Cc7cOlrXFCW0rtA0BM9lvzjl56x0A20Pt+0wxXGeTOZZOkXQIepbrFkV2e/HYukuT9e99vXDm59g==} + '@aws-sdk/core@3.679.0': + resolution: {integrity: sha512-CS6PWGX8l4v/xyvX8RtXnBisdCa5+URzKd0L6GvHChype9qKUVxO/Gg6N/y43Hvg7MNWJt9FBPNWIxUB+byJwg==} engines: {node: '>=16.0.0'} - '@aws-sdk/credential-provider-cognito-identity@3.600.0': - resolution: {integrity: sha512-AIM+B06d1+71EuBrk2UR9ZZgRS3a+ARxE3oZKMZYlfqtZ3kY8w4DkhEt7OVruc6uSsMhkrcQT6nxsOxFSi4RtA==} + '@aws-sdk/credential-provider-cognito-identity@3.679.0': + resolution: {integrity: sha512-XvWd6RPk7TA7tmqITT+NXvJ6ltJP8BUtLO1NAvja4HKExPKR9HAyoOeeH7KM3lVRED4e4LUnLb3fzteH20IXaA==} engines: {node: '>=16.0.0'} - '@aws-sdk/credential-provider-env@3.598.0': - resolution: {integrity: sha512-vi1khgn7yXzLCcgSIzQrrtd2ilUM0dWodxj3PQ6BLfP0O+q1imO3hG1nq7DVyJtq7rFHs6+9N8G4mYvTkxby2w==} + '@aws-sdk/credential-provider-env@3.679.0': + resolution: {integrity: sha512-EdlTYbzMm3G7VUNAMxr9S1nC1qUNqhKlAxFU8E7cKsAe8Bp29CD5HAs3POc56AVo9GC4yRIS+/mtlZSmrckzUA==} engines: {node: '>=16.0.0'} - '@aws-sdk/credential-provider-http@3.598.0': - resolution: {integrity: sha512-N7cIafi4HVlQvEgvZSo1G4T9qb/JMLGMdBsDCT5XkeJrF0aptQWzTFH0jIdZcLrMYvzPcuEyO3yCBe6cy/ba0g==} + '@aws-sdk/credential-provider-http@3.679.0': + resolution: {integrity: sha512-ZoKLubW5DqqV1/2a3TSn+9sSKg0T8SsYMt1JeirnuLJF0mCoYFUaWMyvxxKuxPoqvUsaycxKru4GkpJ10ltNBw==} engines: {node: '>=16.0.0'} - '@aws-sdk/credential-provider-ini@3.598.0': - resolution: {integrity: sha512-/ppcIVUbRwDIwJDoYfp90X3+AuJo2mvE52Y1t2VSrvUovYn6N4v95/vXj6LS8CNDhz2jvEJYmu+0cTMHdhI6eA==} + '@aws-sdk/credential-provider-ini@3.679.0': + resolution: {integrity: sha512-Rg7t8RwUzKcumpipG4neZqaeJ6DF+Bco1+FHn5BZB68jpvwvjBjcQUuWkxj18B6ctYHr1fkunnzeKEn/+vy7+w==} engines: {node: '>=16.0.0'} peerDependencies: - '@aws-sdk/client-sts': ^3.598.0 + '@aws-sdk/client-sts': ^3.679.0 - '@aws-sdk/credential-provider-node@3.600.0': - resolution: {integrity: sha512-1pC7MPMYD45J7yFjA90SxpR0yaSvy+yZiq23aXhAPZLYgJBAxHLu0s0mDCk/piWGPh8+UGur5K0bVdx4B1D5hw==} + '@aws-sdk/credential-provider-node@3.679.0': + resolution: {integrity: sha512-E3lBtaqCte8tWs6Rkssc8sLzvGoJ10TLGvpkijOlz43wPd6xCRh1YLwg6zolf9fVFtEyUs/GsgymiASOyxhFtw==} engines: {node: '>=16.0.0'} - '@aws-sdk/credential-provider-process@3.598.0': - resolution: {integrity: sha512-rM707XbLW8huMk722AgjVyxu2tMZee++fNA8TJVNgs1Ma02Wx6bBrfIvlyK0rCcIRb0WdQYP6fe3Xhiu4e8IBA==} + '@aws-sdk/credential-provider-process@3.679.0': + resolution: {integrity: sha512-u/p4TV8kQ0zJWDdZD4+vdQFTMhkDEJFws040Gm113VHa/Xo1SYOjbpvqeuFoz6VmM0bLvoOWjxB9MxnSQbwKpQ==} engines: {node: '>=16.0.0'} - '@aws-sdk/credential-provider-sso@3.598.0': - resolution: {integrity: sha512-5InwUmrAuqQdOOgxTccRayMMkSmekdLk6s+az9tmikq0QFAHUCtofI+/fllMXSR9iL6JbGYi1940+EUmS4pHJA==} + '@aws-sdk/credential-provider-sso@3.679.0': + resolution: {integrity: sha512-SAtWonhi9asxn0ukEbcE81jkyanKgqpsrtskvYPpO9Z9KOednM4Cqt6h1bfcS9zaHjN2zu815Gv8O7WiV+F/DQ==} engines: {node: '>=16.0.0'} - '@aws-sdk/credential-provider-web-identity@3.598.0': - resolution: {integrity: sha512-GV5GdiMbz5Tz9JO4NJtRoFXjW0GPEujA0j+5J/B723rTN+REHthJu48HdBKouHGhdzkDWkkh1bu52V02Wprw8w==} + '@aws-sdk/credential-provider-web-identity@3.679.0': + resolution: {integrity: sha512-a74tLccVznXCaBefWPSysUcLXYJiSkeUmQGtalNgJ1vGkE36W5l/8czFiiowdWdKWz7+x6xf0w+Kjkjlj42Ung==} engines: {node: '>=16.0.0'} peerDependencies: - '@aws-sdk/client-sts': ^3.598.0 + '@aws-sdk/client-sts': ^3.679.0 - '@aws-sdk/credential-providers@3.600.0': - resolution: {integrity: sha512-cC9uqmX0rgx1efiJGqeR+i0EXr8RQ5SAzH7M45WNBZpYiLEe6reWgIYJY9hmOxuaoMdWSi8kekuN3IjTIORRjw==} + '@aws-sdk/credential-providers@3.679.0': + resolution: {integrity: sha512-ZjZZb6OERw/UKlSqcJ24AUJIf/ekDLPZrPpo0kPMV70EQ0GkBiklIZ8qULu9bEcI2I4UIapBKRiXTrK4gA6YHg==} engines: {node: '>=16.0.0'} - '@aws-sdk/middleware-host-header@3.598.0': - resolution: {integrity: sha512-WiaG059YBQwQraNejLIi0gMNkX7dfPZ8hDIhvMr5aVPRbaHH8AYF3iNSsXYCHvA2Cfa1O9haYXsuMF9flXnCmA==} + '@aws-sdk/middleware-host-header@3.679.0': + resolution: {integrity: sha512-y176HuQ8JRY3hGX8rQzHDSbCl9P5Ny9l16z4xmaiLo+Qfte7ee4Yr3yaAKd7GFoJ3/Mhud2XZ37fR015MfYl2w==} engines: {node: '>=16.0.0'} - '@aws-sdk/middleware-logger@3.598.0': - resolution: {integrity: sha512-bxBjf/VYiu3zfu8SYM2S9dQQc3tz5uBAOcPz/Bt8DyyK3GgOpjhschH/2XuUErsoUO1gDJqZSdGOmuHGZQn00Q==} + '@aws-sdk/middleware-logger@3.679.0': + resolution: {integrity: sha512-0vet8InEj7nvIvGKk+ch7bEF5SyZ7Us9U7YTEgXPrBNStKeRUsgwRm0ijPWWd0a3oz2okaEwXsFl7G/vI0XiEA==} engines: {node: '>=16.0.0'} - '@aws-sdk/middleware-recursion-detection@3.598.0': - resolution: {integrity: sha512-vjT9BeFY9FeN0f8hm2l6F53tI0N5bUq6RcDkQXKNabXBnQxKptJRad6oP2X5y3FoVfBLOuDkQgiC2940GIPxtQ==} + '@aws-sdk/middleware-recursion-detection@3.679.0': + resolution: {integrity: sha512-sQoAZFsQiW/LL3DfKMYwBoGjYDEnMbA9WslWN8xneCmBAwKo6IcSksvYs23PP8XMIoBGe2I2J9BSr654XWygTQ==} engines: {node: '>=16.0.0'} - '@aws-sdk/middleware-user-agent@3.598.0': - resolution: {integrity: sha512-4tjESlHG5B5MdjUaLK7tQs/miUtHbb6deauQx8ryqSBYOhfHVgb1ZnzvQR0bTrhpqUg0WlybSkDaZAICf9xctg==} + '@aws-sdk/middleware-user-agent@3.679.0': + resolution: {integrity: sha512-4hdeXhPDURPqQLPd9jCpUEo9fQITXl3NM3W1MwcJpE0gdUM36uXkQOYsTPeeU/IRCLVjK8Htlh2oCaM9iJrLCA==} engines: {node: '>=16.0.0'} - '@aws-sdk/region-config-resolver@3.598.0': - resolution: {integrity: sha512-oYXhmTokSav4ytmWleCr3rs/1nyvZW/S0tdi6X7u+dLNL5Jee+uMxWGzgOrWK6wrQOzucLVjS4E/wA11Kv2GTw==} + '@aws-sdk/region-config-resolver@3.679.0': + resolution: {integrity: sha512-Ybx54P8Tg6KKq5ck7uwdjiKif7n/8g1x+V0V9uTjBjRWqaIgiqzXwKWoPj6NCNkE7tJNtqI4JrNxp/3S3HvmRw==} engines: {node: '>=16.0.0'} - '@aws-sdk/token-providers@3.598.0': - resolution: {integrity: sha512-TKY1EVdHVBnZqpyxyTHdpZpa1tUpb6nxVeRNn1zWG8QB5MvH4ALLd/jR+gtmWDNQbIG4cVuBOZFVL8hIYicKTA==} + '@aws-sdk/token-providers@3.679.0': + resolution: {integrity: sha512-1/+Zso/x2jqgutKixYFQEGli0FELTgah6bm7aB+m2FAWH4Hz7+iMUsazg6nSWm714sG9G3h5u42Dmpvi9X6/hA==} engines: {node: '>=16.0.0'} peerDependencies: - '@aws-sdk/client-sso-oidc': ^3.598.0 + '@aws-sdk/client-sso-oidc': ^3.679.0 - '@aws-sdk/types@3.598.0': - resolution: {integrity: sha512-742uRl6z7u0LFmZwDrFP6r1wlZcgVPw+/TilluDJmCAR8BgRw3IR+743kUXKBGd8QZDRW2n6v/PYsi/AWCDDMQ==} + '@aws-sdk/types@3.679.0': + resolution: {integrity: sha512-NwVq8YvInxQdJ47+zz4fH3BRRLC6lL+WLkvr242PVBbUOLRyK/lkwHlfiKUoeVIMyK5NF+up6TRg71t/8Bny6Q==} engines: {node: '>=16.0.0'} - '@aws-sdk/util-endpoints@3.598.0': - resolution: {integrity: sha512-Qo9UoiVVZxcOEdiOMZg3xb1mzkTxrhd4qSlg5QQrfWPJVx/QOg+Iy0NtGxPtHtVZNHZxohYwDwV/tfsnDSE2gQ==} + '@aws-sdk/util-endpoints@3.679.0': + resolution: {integrity: sha512-YL6s4Y/1zC45OvddvgE139fjeWSKKPgLlnfrvhVL7alNyY9n7beR4uhoDpNrt5mI6sn9qiBF17790o+xLAXjjg==} engines: {node: '>=16.0.0'} - '@aws-sdk/util-locate-window@3.568.0': - resolution: {integrity: sha512-3nh4TINkXYr+H41QaPelCceEB2FXP3fxp93YZXB/kqJvX0U9j0N0Uk45gvsjmEPzG8XxkPEeLIfT2I1M7A6Lig==} + '@aws-sdk/util-locate-window@3.679.0': + resolution: {integrity: sha512-zKTd48/ZWrCplkXpYDABI74rQlbR0DNHs8nH95htfSLj9/mWRSwaGptoxwcihaq/77vi/fl2X3y0a1Bo8bt7RA==} engines: {node: '>=16.0.0'} - '@aws-sdk/util-user-agent-browser@3.598.0': - resolution: {integrity: sha512-36Sxo6F+ykElaL1mWzWjlg+1epMpSe8obwhCN1yGE7Js9ywy5U6k6l+A3q3YM9YRbm740sNxncbwLklMvuhTKw==} + '@aws-sdk/util-user-agent-browser@3.679.0': + resolution: {integrity: sha512-CusSm2bTBG1kFypcsqU8COhnYc6zltobsqs3nRrvYqYaOqtMnuE46K4XTWpnzKgwDejgZGOE+WYyprtAxrPvmQ==} - '@aws-sdk/util-user-agent-node@3.598.0': - resolution: {integrity: sha512-oyWGcOlfTdzkC6SVplyr0AGh54IMrDxbhg5RxJ5P+V4BKfcDoDcZV9xenUk9NsOi9MuUjxMumb9UJGkDhM1m0A==} + '@aws-sdk/util-user-agent-node@3.679.0': + resolution: {integrity: sha512-Bw4uXZ+NU5ed6TNfo4tBbhBSW+2eQxXYjYBGl5gLUNUpg2pDFToQAP6rXBFiwcG52V2ny5oLGiD82SoYuYkAVg==} engines: {node: '>=16.0.0'} peerDependencies: aws-crt: '>=1.0.0' @@ -2110,152 +2136,135 @@ packages: aws-crt: optional: true - '@azure/abort-controller@1.1.0': - resolution: {integrity: sha512-TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw==} - engines: {node: '>=12.0.0'} - '@azure/abort-controller@2.1.2': resolution: {integrity: sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA==} engines: {node: '>=18.0.0'} - '@azure/core-auth@1.7.2': - resolution: {integrity: sha512-Igm/S3fDYmnMq1uKS38Ae1/m37B3zigdlZw+kocwEhh5GjyKjPrXKO2J6rzpC1wAxrNil/jX9BJRqBshyjnF3g==} + '@azure/core-auth@1.9.0': + resolution: {integrity: sha512-FPwHpZywuyasDSLMqJ6fhbOK3TqUdviZNF8OqRGA4W5Ewib2lEEZ+pBsYcBa88B2NGO/SEnYPGhyBqNlE8ilSw==} engines: {node: '>=18.0.0'} - '@azure/core-http@3.0.4': - resolution: {integrity: sha512-Fok9VVhMdxAFOtqiiAtg74fL0UJkt0z3D+ouUUxcRLzZNBioPRAMJFVxiWoJljYpXsRi4GDQHzQHDc9AiYaIUQ==} - engines: {node: '>=14.0.0'} - deprecated: This package is no longer supported. Please migrate to use @azure/core-rest-pipeline + '@azure/core-client@1.9.2': + resolution: {integrity: sha512-kRdry/rav3fUKHl/aDLd/pDLcB+4pOFwPPTVEExuMyaI5r+JBbMWqRbCY1pn5BniDaU3lRxO9eaQ1AmSMehl/w==} + engines: {node: '>=18.0.0'} + + '@azure/core-http-compat@2.1.2': + resolution: {integrity: sha512-5MnV1yqzZwgNLLjlizsU3QqOeQChkIXw781Fwh1xdAqJR5AA32IUaq6xv1BICJvfbHoa+JYcaij2HFkhLbNTJQ==} + engines: {node: '>=18.0.0'} '@azure/core-lro@2.7.2': resolution: {integrity: sha512-0YIpccoX8m/k00O7mDDMdJpbr6mf1yWo2dfmxt5A8XVZVVMz2SSKaEbMCeJRvgQ0IaSlqhjT47p4hVIRRy90xw==} engines: {node: '>=18.0.0'} - '@azure/core-paging@1.5.0': - resolution: {integrity: sha512-zqWdVIt+2Z+3wqxEOGzR5hXFZ8MGKK52x4vFLw8n58pR6ZfKRx3EXYTxTaYxYHc/PexPUTyimcTWFJbji9Z6Iw==} - engines: {node: '>=14.0.0'} - - '@azure/core-tracing@1.0.0-preview.13': - resolution: {integrity: sha512-KxDlhXyMlh2Jhj2ykX6vNEU0Vou4nHr025KoSEiz7cS3BNiHNaZcdECk/DmLkEB0as5T7b/TpRcehJ5yV6NeXQ==} - engines: {node: '>=12.0.0'} + '@azure/core-paging@1.6.2': + resolution: {integrity: sha512-YKWi9YuCU04B55h25cnOYZHxXYtEvQEbKST5vqRga7hWY9ydd3FZHdeQF8pyh+acWZvppw13M/LMGx0LABUVMA==} + engines: {node: '>=18.0.0'} - '@azure/core-util@1.9.0': - resolution: {integrity: sha512-AfalUQ1ZppaKuxPPMsFEUdX6GZPB3d9paR9d/TTL7Ow2De8cJaC7ibi7kWVlFAVPCYo31OcnGymc0R89DX8Oaw==} + '@azure/core-rest-pipeline@1.17.0': + resolution: {integrity: sha512-62Vv8nC+uPId3j86XJ0WI+sBf0jlqTqPUFCBNrGtlaUeQUIXWV/D8GE5A1d+Qx8H7OQojn2WguC8kChD6v0shA==} engines: {node: '>=18.0.0'} - '@azure/logger@1.1.2': - resolution: {integrity: sha512-l170uE7bsKpIU6B/giRc9i4NI0Mj+tANMMMxf7Zi/5cKzEqPayP7+X1WPrG7e+91JgY8N+7K7nF2WOi7iVhXvg==} + '@azure/core-tracing@1.2.0': + resolution: {integrity: sha512-UKTiEJPkWcESPYJz3X5uKRYyOcJD+4nYph+KpfdPRnQJVrZfk0KJgdnaAWKfhsBBtAf/D58Az4AvCJEmWgIBAg==} engines: {node: '>=18.0.0'} - '@azure/storage-blob@12.17.0': - resolution: {integrity: sha512-sM4vpsCpcCApagRW5UIjQNlNylo02my2opgp0Emi8x888hZUvJ3dN69Oq20cEGXkMUWnoCrBaB0zyS3yeB87sQ==} - engines: {node: '>=14.0.0'} + '@azure/core-util@1.11.0': + resolution: {integrity: sha512-DxOSLua+NdpWoSqULhjDyAZTXFdP/LKkqtYuxxz1SCN289zk3OG8UOpnCQAz/tygyACBtWp/BoO72ptK7msY8g==} + engines: {node: '>=18.0.0'} - '@babel/code-frame@7.24.7': - resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} - engines: {node: '>=6.9.0'} + '@azure/core-xml@1.4.4': + resolution: {integrity: sha512-J4FYAqakGXcbfeZjwjMzjNcpcH4E+JtEBv+xcV1yL0Ydn/6wbQfeFKTCHh9wttAi0lmajHw7yBbHPRG+YHckZQ==} + engines: {node: '>=18.0.0'} - '@babel/compat-data@7.24.7': - resolution: {integrity: sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==} - engines: {node: '>=6.9.0'} + '@azure/logger@1.1.4': + resolution: {integrity: sha512-4IXXzcCdLdlXuCG+8UKEwLA1T1NHqUfanhXYHiQTn+6sfWCZXduqbtXDGceg3Ce5QxTGo7EqmbV6Bi+aqKuClQ==} + engines: {node: '>=18.0.0'} - '@babel/core@7.24.7': - resolution: {integrity: sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==} - engines: {node: '>=6.9.0'} + '@azure/storage-blob@12.25.0': + resolution: {integrity: sha512-oodouhA3nCCIh843tMMbxty3WqfNT+Vgzj3Xo5jqR9UPnzq3d7mzLjlHAYz7lW+b4km3SIgz+NAgztvhm7Z6kQ==} + engines: {node: '>=18.0.0'} - '@babel/generator@7.24.7': - resolution: {integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==} + '@babel/code-frame@7.26.0': + resolution: {integrity: sha512-INCKxTtbXtcNbUZ3YXutwMpEleqttcswhAdee7dhuoVrD2cnuc3PqtERBtxkX5nziX9vnBL8WXmSGwv8CuPV6g==} engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.24.7': - resolution: {integrity: sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==} + '@babel/compat-data@7.26.0': + resolution: {integrity: sha512-qETICbZSLe7uXv9VE8T/RWOdIE5qqyTucOt4zLYMafj2MRO271VGgLd4RACJMeBO37UPWhXiKMBk7YlJ0fOzQA==} engines: {node: '>=6.9.0'} - '@babel/helper-environment-visitor@7.24.7': - resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} + '@babel/core@7.26.0': + resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==} engines: {node: '>=6.9.0'} - '@babel/helper-function-name@7.24.7': - resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==} + '@babel/generator@7.26.0': + resolution: {integrity: sha512-/AIkAmInnWwgEAJGQr9vY0c66Mj6kjkE2ZPB1PurTRaRAh3U+J45sAQMjQDJdh4WbR3l0x5xkimXBKyBXXAu2w==} engines: {node: '>=6.9.0'} - '@babel/helper-hoist-variables@7.24.7': - resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} + '@babel/helper-compilation-targets@7.25.9': + resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==} engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.24.7': - resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} + '@babel/helper-module-imports@7.25.9': + resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} engines: {node: '>=6.9.0'} - '@babel/helper-module-transforms@7.24.7': - resolution: {integrity: sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==} + '@babel/helper-module-transforms@7.26.0': + resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-plugin-utils@7.24.7': - resolution: {integrity: sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==} - engines: {node: '>=6.9.0'} - - '@babel/helper-simple-access@7.24.7': - resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} - engines: {node: '>=6.9.0'} - - '@babel/helper-split-export-declaration@7.24.7': - resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-string-parser@7.24.7': - resolution: {integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==} + '@babel/helper-plugin-utils@7.25.9': + resolution: {integrity: sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.24.7': - resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} + '@babel/helper-string-parser@7.25.9': + resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.24.7': - resolution: {integrity: sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==} + '@babel/helper-validator-identifier@7.25.9': + resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.24.7': - resolution: {integrity: sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==} + '@babel/helper-validator-option@7.25.9': + resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.24.7': - resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} + '@babel/helpers@7.26.0': + resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==} engines: {node: '>=6.9.0'} - '@babel/parser@7.24.7': - resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==} + '@babel/parser@7.26.1': + resolution: {integrity: sha512-reoQYNiAJreZNsJzyrDNzFQ+IQ5JFiIzAHJg9bn94S3l+4++J7RsIhNMoB+lgP/9tpmiAQqspv+xfdxTSzREOw==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/plugin-transform-react-jsx-self@7.24.7': - resolution: {integrity: sha512-fOPQYbGSgH0HUp4UJO4sMBFjY6DuWq+2i8rixyUMb3CdGixs/gccURvYOAhajBdKDoGajFr3mUq5rH3phtkGzw==} + '@babel/plugin-transform-react-jsx-self@7.25.9': + resolution: {integrity: sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-jsx-source@7.24.7': - resolution: {integrity: sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ==} + '@babel/plugin-transform-react-jsx-source@7.25.9': + resolution: {integrity: sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/runtime@7.24.7': - resolution: {integrity: sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==} + '@babel/runtime@7.26.0': + resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} engines: {node: '>=6.9.0'} - '@babel/template@7.24.7': - resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==} + '@babel/template@7.25.9': + resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.24.7': - resolution: {integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==} + '@babel/traverse@7.25.9': + resolution: {integrity: sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==} engines: {node: '>=6.9.0'} - '@babel/types@7.24.7': - resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==} + '@babel/types@7.26.0': + resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==} engines: {node: '>=6.9.0'} '@base2/pretty-print-object@1.0.1': @@ -2271,16 +2280,16 @@ packages: resolution: {integrity: sha512-5zZgs+himE2vjf39CVlDXMHCFAwSfcoORqJBk3Vji8QVCF8AIX4IX2DO6HlsIAM7szxMNqhz1kd07Xfppro6MA==} '@bentley/icons-generic@1.0.34': - resolution: {integrity: sha1-D5iN4fyJxSllctL0zRrkDukYyfQ=} + resolution: {integrity: sha512-IIs1wDcY2oZ8tJ3EZRw0U51M+0ZL3MvwoDYYmhUXaa9/UZqpFoOyLBGaxjirQteWXqTIMm3mFvmC+Nbn1ok4Iw==} '@bentley/imodeljs-native@4.9.28': - resolution: {integrity: sha1-ij9js8JvBIdXuVEG7kC3ssy0FaA=} + resolution: {integrity: sha512-CqmMTKaW6VBioI6xhdamPlDYSlZyfa45AUvEwJ1nNwxxJdiSIbWtSKChQG4XnyiC6Pa9vQoKHd8W58248LSQAA==} - '@changesets/apply-release-plan@7.0.4': - resolution: {integrity: sha512-HLFwhKWayKinWAul0Vj+76jVx1Pc2v55MGPVjZ924Y/ROeSsBMFutv9heHmCUj48lJyRfOTJG5+ar+29FUky/A==} + '@changesets/apply-release-plan@7.0.5': + resolution: {integrity: sha512-1cWCk+ZshEkSVEZrm2fSj1Gz8sYvxgUL4Q78+1ZZqeqfuevPTPk033/yUZ3df8BKMohkqqHfzj0HOOrG0KtXTw==} - '@changesets/assemble-release-plan@6.0.3': - resolution: {integrity: sha512-bLNh9/Lgl1VwkjWZTq8JmRqH+hj7/Yzfz0jsQ/zJJ+FTmVqmqPj3szeKOri8O/hEM8JmHW019vh2gTO9iq5Cuw==} + '@changesets/assemble-release-plan@6.0.4': + resolution: {integrity: sha512-nqICnvmrwWj4w2x0fOhVj2QEGdlUuwVAwESrUo5HLzWMI1rE5SWfsr9ln+rDqWB6RQ2ZyaMZHUcU7/IRaUJS+Q==} '@changesets/changelog-git@0.2.0': resolution: {integrity: sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==} @@ -2289,38 +2298,38 @@ packages: resolution: {integrity: sha512-6lr8JltiiXPIjDeYg4iM2MeePP6VN/JkmqBsVA5XRiy01hGS3y629LtSDvKcycj/w/5Eur1rEwby/MjcYS+e2A==} hasBin: true - '@changesets/config@3.0.2': - resolution: {integrity: sha512-cdEhS4t8woKCX2M8AotcV2BOWnBp09sqICxKapgLHf9m5KdENpWjyrFNMjkLqGJtUys9U+w93OxWT0czorVDfw==} + '@changesets/config@3.0.3': + resolution: {integrity: sha512-vqgQZMyIcuIpw9nqFIpTSNyc/wgm/Lu1zKN5vECy74u95Qx/Wa9g27HdgO4NkVAaq+BGA8wUc/qvbvVNs93n6A==} '@changesets/errors@0.2.0': resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} - '@changesets/get-dependents-graph@2.1.1': - resolution: {integrity: sha512-LRFjjvigBSzfnPU2n/AhFsuWR5DK++1x47aq6qZ8dzYsPtS/I5mNhIGAS68IAxh1xjO9BTtz55FwefhANZ+FCA==} + '@changesets/get-dependents-graph@2.1.2': + resolution: {integrity: sha512-sgcHRkiBY9i4zWYBwlVyAjEM9sAzs4wYVwJUdnbDLnVG3QwAaia1Mk5P8M7kraTOZN+vBET7n8KyB0YXCbFRLQ==} - '@changesets/get-release-plan@4.0.3': - resolution: {integrity: sha512-6PLgvOIwTSdJPTtpdcr3sLtGatT+Jr22+cQwEBJBy6wP0rjB4yJ9lv583J9fVpn1bfQlBkDa8JxbS2g/n9lIyA==} + '@changesets/get-release-plan@4.0.4': + resolution: {integrity: sha512-SicG/S67JmPTrdcc9Vpu0wSQt7IiuN0dc8iR5VScnnTVPfIaLvKmEGRvIaF0kcn8u5ZqLbormZNTO77bCEvyWw==} '@changesets/get-version-range-type@0.4.0': resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} - '@changesets/git@3.0.0': - resolution: {integrity: sha512-vvhnZDHe2eiBNRFHEgMiGd2CT+164dfYyrJDhwwxTVD/OW0FUD6G7+4DIx1dNwkwjHyzisxGAU96q0sVNBns0w==} + '@changesets/git@3.0.1': + resolution: {integrity: sha512-pdgHcYBLCPcLd82aRcuO0kxCDbw/yISlOtkmwmE8Odo1L6hSiZrBOsRl84eYG7DRCab/iHnOkWqExqc4wxk2LQ==} - '@changesets/logger@0.1.0': - resolution: {integrity: sha512-pBrJm4CQm9VqFVwWnSqKEfsS2ESnwqwH+xR7jETxIErZcfd1u2zBSqrHbRHR7xjhSgep9x2PSKFKY//FAshA3g==} + '@changesets/logger@0.1.1': + resolution: {integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==} '@changesets/parse@0.4.0': resolution: {integrity: sha512-TS/9KG2CdGXS27S+QxbZXgr8uPsP4yNJYb4BC2/NeFUj80Rni3TeD2qwWmabymxmrLo7JEsytXH1FbpKTbvivw==} - '@changesets/pre@2.0.0': - resolution: {integrity: sha512-HLTNYX/A4jZxc+Sq8D1AMBsv+1qD6rmmJtjsCJa/9MSRybdxh0mjbTvE6JYZQ/ZiQ0mMlDOlGPXTm9KLTU3jyw==} + '@changesets/pre@2.0.1': + resolution: {integrity: sha512-vvBJ/If4jKM4tPz9JdY2kGOgWmCowUYOi5Ycv8dyLnEE8FgpYYUo1mgJZxcdtGGP3aG8rAQulGLyyXGSLkIMTQ==} - '@changesets/read@0.6.0': - resolution: {integrity: sha512-ZypqX8+/im1Fm98K4YcZtmLKgjs1kDQ5zHpc2U1qdtNBmZZfo/IBiG162RoP0CUF05tvp2y4IspH11PLnPxuuw==} + '@changesets/read@0.6.1': + resolution: {integrity: sha512-jYMbyXQk3nwP25nRzQQGa1nKLY0KfoOV7VLgwucI0bUO8t8ZLCr6LZmgjXsiKuRDc+5A6doKPr9w2d+FEJ55zQ==} - '@changesets/should-skip-package@0.1.0': - resolution: {integrity: sha512-FxG6Mhjw7yFStlSM7Z0Gmg3RiyQ98d/9VpQAZ3Fzr59dCOM9G6ZdYbjiSAt0XtFr9JR5U2tBaJWPjrkGGc618g==} + '@changesets/should-skip-package@0.1.1': + resolution: {integrity: sha512-H9LjLbF6mMHLtJIc/eHR9Na+MifJ3VxtgP/Y+XLn4BF7tDTEN1HNYtH6QMcjP1uxp9sjaFYmW8xqloaCi/ckTg==} '@changesets/types@4.1.0': resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} @@ -2328,8 +2337,8 @@ packages: '@changesets/types@6.0.0': resolution: {integrity: sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ==} - '@changesets/write@0.3.1': - resolution: {integrity: sha512-SyGtMXzH3qFqlHKcvFY2eX+6b0NGiFcNav8AFsYwy5l8hejOeoeTDemu5Yjmke2V5jpzY+pBvM0vCCQ3gdZpfw==} + '@changesets/write@0.3.2': + resolution: {integrity: sha512-kDxDrPNpUgsjDbWBvUo27PzKX4gqeKOlhibaOXDJA6kuBisGqNHv/HwGJrAu8U/dSf8ZEFIeHIPtvSlZI1kULw==} '@colors/colors@1.5.0': resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} @@ -2489,14 +2498,14 @@ packages: cpu: [x64] os: [win32] - '@eslint-community/eslint-utils@4.4.0': - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + '@eslint-community/eslint-utils@4.4.1': + resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.11.1': - resolution: {integrity: sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==} + '@eslint-community/regexpp@4.12.1': + resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} '@eslint/config-array@0.18.0': @@ -2519,33 +2528,33 @@ packages: resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/plugin-kit@0.2.1': - resolution: {integrity: sha512-HFZ4Mp26nbWk9d/BpvP0YNL6W4UoZF0VFcTw/aPPA8RpOxeFQgK+ClABGgAUXs9Y/RGX/l1vOmrqz1MQt9MNuw==} + '@eslint/plugin-kit@0.2.2': + resolution: {integrity: sha512-CXtq5nR4Su+2I47WPOlWud98Y5Lv8Kyxp2ukhgFx/eW6Blm18VXJO5WuQylPugRo8nbluoi6GvvxBLqHcvqUUw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@floating-ui/core@1.6.2': - resolution: {integrity: sha512-+2XpQV9LLZeanU4ZevzRnGFg2neDeKHgFLjP6YLW+tly0IvrhqT4u8enLGjLH3qeh85g19xY5rsAusfwTdn5lg==} + '@floating-ui/core@1.6.8': + resolution: {integrity: sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==} - '@floating-ui/dom@1.6.5': - resolution: {integrity: sha512-Nsdud2X65Dz+1RHjAIP0t8z5e2ff/IRbei6BqFrl1urT8sDVzM1HMQ+R0XcU5ceRfyO3I6ayeqIfh+6Wb8LGTw==} + '@floating-ui/dom@1.6.11': + resolution: {integrity: sha512-qkMCxSR24v2vGkhYDo/UzxfJN3D4syqSjyuTFz6C7XcpU1pASPRieNI0Kj5VP3/503mOfYiGY891ugBX1GlABQ==} - '@floating-ui/react-dom@2.1.1': - resolution: {integrity: sha512-4h84MJt3CHrtG18mGsXuLCHMrug49d7DFkU0RMIyshRveBeyV2hmV/pDaF2Uxtu8kgq5r46llp5E5FQiR0K2Yg==} + '@floating-ui/react-dom@2.1.2': + resolution: {integrity: sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' - '@floating-ui/react@0.26.23': - resolution: {integrity: sha512-9u3i62fV0CFF3nIegiWiRDwOs7OW/KhSUJDNx2MkQM3LbE5zQOY01sL3nelcVBXvX7Ovvo3A49I8ql+20Wg/Hw==} + '@floating-ui/react@0.26.25': + resolution: {integrity: sha512-hZOmgN0NTOzOuZxI1oIrDu3Gcl8WViIkvPMpB4xdd4QD6xAMtwgwr3VPoiyH/bLtRcS1cDnhxLSD1NsMJmwh/A==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' - '@floating-ui/utils@0.2.7': - resolution: {integrity: sha512-X8R8Oj771YRl/w+c1HqAC1szL8zWQRwFvgDwT129k9ACdBoud/+/rX9V0qiMl6LWUdP9voC2nDVZYPMQQsb6eA==} + '@floating-ui/utils@0.2.8': + resolution: {integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==} - '@grpc/grpc-js@1.10.9': - resolution: {integrity: sha512-5tcgUctCG0qoNyfChZifz2tJqbRbXVO9J7X6duFcOjY3HUNCxg5D0ZCK7EP9vIcZ0zRpLU9bWkyCqVCLZ46IbQ==} + '@grpc/grpc-js@1.12.2': + resolution: {integrity: sha512-bgxdZmgTrJZX50OjyVwz3+mNEnCTNkh3cIqGPWVNeW9jX6bn1ZkU80uPd+67/ZpIJIjRQ9qaHCjhavyoWYxumg==} engines: {node: '>=12.10.0'} '@grpc/proto-loader@0.7.13': @@ -2559,12 +2568,12 @@ packages: '@hapi/topo@5.1.0': resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} - '@humanfs/core@0.19.0': - resolution: {integrity: sha512-2cbWIHbZVEweE853g8jymffCA+NCMiuqeECeBBLm8dg2oFdjuGJhgN4UAbI+6v0CKbbhvtXA4qV8YR5Ji86nmw==} + '@humanfs/core@0.19.1': + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} engines: {node: '>=18.18.0'} - '@humanfs/node@0.16.5': - resolution: {integrity: sha512-KSPA4umqSG4LHYRodq31VDwKAvaTF4xmVlzM8Aeh4PlU1JQ3IG0wiA8C25d3RQ9nJyM3mBHyI53K06VVL/oFFg==} + '@humanfs/node@0.16.6': + resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} engines: {node: '>=18.18.0'} '@humanwhocodes/module-importer@1.0.1': @@ -2593,10 +2602,6 @@ packages: '@swc/wasm': optional: true - '@istanbuljs/load-nyc-config@1.1.0': - resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} - engines: {node: '>=8'} - '@istanbuljs/schema@0.1.3': resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} engines: {node: '>=8'} @@ -2770,6 +2775,12 @@ packages: react: '>=16.8.6' react-dom: '>=16.8.6' + '@itwin/itwinui-icons-react@2.9.0': + resolution: {integrity: sha512-48oxHUuqEaJOwVRFED0yssfIriX/IQrHd67ffxvEAu7yW1f5a/qFDyImAlwjlzr+4+obBMweshJ8sI+OgziyvA==} + peerDependencies: + react: '>=16.8.6' + react-dom: '>=16.8.6' + '@itwin/itwinui-illustrations-react@2.1.0': resolution: {integrity: sha512-5JR2A3mZy0d0qwwHpveSG3fsXLheJkO6a0GoWb8NQWw5edNZMRynJg0l3hVw3CHMgaaCGbUoKC77MuG0jWDzuA==} peerDependencies: @@ -2782,14 +2793,20 @@ packages: react: '>=16.8.6 < 19.0.0' react-dom: '>=16.8.6 < 19.0.0' + '@itwin/itwinui-react@3.14.0': + resolution: {integrity: sha512-JEVDGyK9PdhyBBTasz3hrPD/+JYzW/cYEZvPQReTKT424Z3EMfA3PkMifLzFcZHp3JIX9HSGdU6MCtbvT9E83Q==} + peerDependencies: + react: '>= 17.0.0 < 19.0.0' + react-dom: '>=17.0.0 < 19.0.0' + '@itwin/itwinui-react@3.14.1': resolution: {integrity: sha512-uTNzkYzYTFrM6BEuRXDeinvJIM7RUeJ2ywGXFhd0KqX2vR4YPAxoKoWem37yCQWKfDDaVYyAsbZENhMCM39SBA==} peerDependencies: react: '>= 17.0.0 < 19.0.0' react-dom: '>=17.0.0 < 19.0.0' - '@itwin/itwinui-variables@3.2.0': - resolution: {integrity: sha512-YuJ3IyqRRynQRKPiTz6odF8hVxmAVABxitrqj2VZ1ZtKRVO6EyrWMgZP90cYF1l0EjqzOxG71focaHcZH5C6Ow==} + '@itwin/itwinui-variables@3.3.0': + resolution: {integrity: sha512-bnMlOaX+0Bh+bFdXD1KWBcsgeQTJDvaOY7HXI3ZIADRFy4qnx70DmRMp7w+ZA1FxrX2XTQNjt+kmcphaXTPGCw==} '@itwin/object-storage-azure@2.2.5': resolution: {integrity: sha512-LvnQupvyK28UhIimnEnZqKoBRSMwl3cw8wJ30mYu0UD5c+xuKAaphFCy79QXF2mENqC68uh0JKrFbaSAphwDHQ==} @@ -2849,8 +2866,8 @@ packages: resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} engines: {node: '>=6.0.0'} - '@jridgewell/sourcemap-codec@1.4.15': - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} @@ -2918,8 +2935,8 @@ packages: resolution: {integrity: sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - '@npmcli/git@5.0.7': - resolution: {integrity: sha512-WaOVvto604d5IpdCRV2KjQu8PzkfE96d50CQGKgywXh2GxXmDeUO5EWcBC4V57uFyrNqx83+MewuJh3WTR3xPA==} + '@npmcli/git@5.0.8': + resolution: {integrity: sha512-liASfw5cqhjNW9UFd+ruwwdEf/lbOAQjLL2XY2dFW/bkJheXDYZgOyul/4gVvEV4BWkTXjYGmDqMw9uegdbJNQ==} engines: {node: ^16.14.0 || >=18.0.0} '@npmcli/installed-package-contents@2.1.0': @@ -2931,8 +2948,8 @@ packages: resolution: {integrity: sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - '@npmcli/package-json@5.2.0': - resolution: {integrity: sha512-qe/kiqqkW0AGtvBjL8TJKZk/eBBSpnJkUWvHdQ9jM2lKHXRYYJuyNpJPlJw3c8QjC2ow6NZYiLExhUaeJelbxQ==} + '@npmcli/package-json@5.2.1': + resolution: {integrity: sha512-f7zYC6kQautXHvNbLEWgD/uGu1+xCn9izgqBfgItWSx22U0ZDekxN08A1vM8cTxj/cRVe0Q94Ode+tdoYmIOOQ==} engines: {node: ^16.14.0 || >=18.0.0} '@npmcli/promise-spawn@7.0.2': @@ -2966,8 +2983,8 @@ packages: resolution: {integrity: sha512-JdZuKrhOYggqOpUljAq4WWNi5nB10PmgoF0y2CvedLGXd0kSawb/UBnWT8gg1ND3bHCNHStAIVT0ELlxJJRqrA==} engines: {node: '>=14'} - '@opentelemetry/api-logs@0.52.0': - resolution: {integrity: sha512-HxjD7xH9iAE4OyhNaaSec65i1H6QZYBWSwWkowFfsc5YAcDvJG30/J1sRKXEQqdmUcKTXEAnA66UciqZha/4+Q==} + '@opentelemetry/api-logs@0.52.1': + resolution: {integrity: sha512-qnSqB2DQ9TPP96dl8cDubDvrUyWc0/sK81xHTK8eSUspzDM3bsewX903qclQFvVhgStjRWdC5bLb3kQqMkfV5A==} engines: {node: '>=14'} '@opentelemetry/api@1.8.0': @@ -2984,8 +3001,8 @@ packages: peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' - '@opentelemetry/context-async-hooks@1.25.0': - resolution: {integrity: sha512-sBW313mnMyFg0cp/40BRzrZBWG+581s2j5gIsa5fgGadswyILk4mNFATsqrCOpAx945RDuZ2B7ThQLgor9OpfA==} + '@opentelemetry/context-async-hooks@1.27.0': + resolution: {integrity: sha512-CdZ3qmHCwNhFAzjTgHqrDQ44Qxcpz43cVxZRhOs+Ns/79ug+Mr84Bkb626bkJLkA3+BLimA5YAEVRlJC6pFb7g==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' @@ -2996,26 +3013,32 @@ packages: peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' - '@opentelemetry/core@1.25.0': - resolution: {integrity: sha512-n0B3s8rrqGrasTgNkXLKXzN0fXo+6IYP7M5b7AMsrZM33f/y6DS6kJ0Btd7SespASWq8bgL3taLo0oe0vB52IQ==} + '@opentelemetry/core@1.25.1': + resolution: {integrity: sha512-GeT/l6rBYWVQ4XArluLVB6WWQ8flHbdb6r2FCHC3smtdOAbrJBIv35tpV/yp9bmYUJf+xmZpu9DRTIeJVhFbEQ==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.10.0' + + '@opentelemetry/core@1.27.0': + resolution: {integrity: sha512-yQPKnK5e+76XuiqUH/gKyS8wv/7qITd5ln56QkBTf3uggr0VkXOXfcaAuG330UfdYu83wsyoBwqwxigpIG+Jkg==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' - '@opentelemetry/exporter-metrics-otlp-grpc@0.52.0': - resolution: {integrity: sha512-vNIorrZsSmCSC5XmbbNv6ricxydvQ7pKCdxVqFTE0cCblBbQ+RnoxgThdrxn4tvQskiJ+6zTwEPjlcSfibtWFA==} + '@opentelemetry/exporter-metrics-otlp-grpc@0.52.1': + resolution: {integrity: sha512-CE0f1IEE1GQj8JWl/BxKvKwx9wBTLR09OpPQHaIs5LGBw3ODu8ek5kcbrHPNsFYh/pWh+pcjbZQoxq3CqvQVnA==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/exporter-metrics-otlp-http@0.52.0': - resolution: {integrity: sha512-fpIYQ+h2k74eAyhSMI6dhmWr4w2Tzh6L8lbJZKqqQtiZ/gLlLAoTLBIxADFKXywoTqEZi5SC+HyjpxFinpWcLQ==} + '@opentelemetry/exporter-metrics-otlp-http@0.52.1': + resolution: {integrity: sha512-oAHPOy1sZi58bwqXaucd19F/v7+qE2EuVslQOEeLQT94CDuZJJ4tbWzx8DpYBTrOSzKqqrMtx9+PMxkrcbxOyQ==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/exporter-metrics-otlp-proto@0.52.0': - resolution: {integrity: sha512-SwJFiURq6vNPX6VObvdGr9mgUCLLyo3nFBMhXwNLdxftmmRlDNJboAw6a5Zmp5hJZUnFwZvxnFNBdS5D2A8Xdw==} + '@opentelemetry/exporter-metrics-otlp-proto@0.52.1': + resolution: {integrity: sha512-m9aEOzKkjznNxm+0NbyEV834Wza9asRaFA4VyWY3b1XltqbdStRmOYSZHq0VzcecOe24uD41zFqHweL2fA3y6g==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 @@ -3026,8 +3049,8 @@ packages: peerDependencies: '@opentelemetry/api': ^1.0.0 - '@opentelemetry/exporter-trace-otlp-grpc@0.52.0': - resolution: {integrity: sha512-Ln3HU54/ytTeEMrDGNDj01357YV8Kk9PkGDHvBRo1n7bWhwZoTEnX/cTuXLYOiygBIJJjCCM+VMfWCnvtFl4Kw==} + '@opentelemetry/exporter-trace-otlp-grpc@0.52.1': + resolution: {integrity: sha512-pVkSH20crBwMTqB3nIN4jpQKUEoB0Z94drIHpYyEqs7UBr+I0cpYyOR3bqjA/UasQUMROb3GX8ZX4/9cVRqGBQ==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 @@ -3038,8 +3061,8 @@ packages: peerDependencies: '@opentelemetry/api': ^1.0.0 - '@opentelemetry/exporter-trace-otlp-http@0.52.0': - resolution: {integrity: sha512-umj9tOSEAuUdqw2EZua1Dby3c+FZ6xWGT2OF/KGLFLtyIvxhtTOSeMfBy/9CaxHn4vF8mAynmAP5MvVKnRYunA==} + '@opentelemetry/exporter-trace-otlp-http@0.52.1': + resolution: {integrity: sha512-05HcNizx0BxcFKKnS5rwOV+2GevLTVIRA0tRgWYyw4yCgR53Ic/xk83toYKts7kbzcI+dswInUg/4s8oyA+tqg==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 @@ -3050,8 +3073,8 @@ packages: peerDependencies: '@opentelemetry/api': ^1.0.0 - '@opentelemetry/exporter-trace-otlp-proto@0.52.0': - resolution: {integrity: sha512-mpMEZFGaGnvon5pbjLieh7ffE9BuYnrG7qd4O5P3j1fk/4PCR3BcGfGhIfyZi0X8kBcjEhipiBfaHYqI7rxcXg==} + '@opentelemetry/exporter-trace-otlp-proto@0.52.1': + resolution: {integrity: sha512-pt6uX0noTQReHXNeEslQv7x311/F1gJzMnp1HD2qgypLRPbXDeMzzeTngRTUaUbP6hqWNtPxuLr4DEoZG+TcEQ==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 @@ -3062,8 +3085,8 @@ packages: peerDependencies: '@opentelemetry/api': ^1.0.0 - '@opentelemetry/exporter-zipkin@1.25.0': - resolution: {integrity: sha512-nnhY0e5DHg8BfUSNCQZoGZnGeqz+zMTeEUOh1dfgtaXmF99uM0QPuTa1i2lH+eZqebP8w1WDWZlewu9FUlHqIg==} + '@opentelemetry/exporter-zipkin@1.27.0': + resolution: {integrity: sha512-eGMY3s4QprspFZojqsuQyQpWNFpo+oNVE/aosTbtvAlrJBAlvXcwwsOROOHOd8Y9lkU4i0FpQW482rcXkgwCSw==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 @@ -3080,8 +3103,8 @@ packages: peerDependencies: '@opentelemetry/api': ^1.0.0 - '@opentelemetry/otlp-exporter-base@0.52.0': - resolution: {integrity: sha512-rlyg5UKW9yMTNMUxYYib9XxEE/krpH7Q6mIuJNOBMbjLwmqe1WQ2MNKNzobVZTKop/FX4CvyNN3wUEl/6gnvfw==} + '@opentelemetry/otlp-exporter-base@0.52.1': + resolution: {integrity: sha512-z175NXOtX5ihdlshtYBe5RpGeBoTXVCKPPLiQlD6FHvpM4Ch+p2B0yWKYSrBfLH24H9zjJiBdTrtD+hLlfnXEQ==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 @@ -3092,8 +3115,8 @@ packages: peerDependencies: '@opentelemetry/api': ^1.0.0 - '@opentelemetry/otlp-grpc-exporter-base@0.52.0': - resolution: {integrity: sha512-iVq3wCElOoKUkxBOuvV8cfaELG8WO/zfLWIZil6iw/6hj6rktLodnJ7kVOneVmLki7Po1BjE1K7JOp2G3UPgYg==} + '@opentelemetry/otlp-grpc-exporter-base@0.52.1': + resolution: {integrity: sha512-zo/YrSDmKMjG+vPeA9aBBrsQM9Q/f2zo6N04WMB3yNldJRsgpRBeLLwvAt/Ba7dpehDLOEFBd1i2JCoaFtpCoQ==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 @@ -3110,8 +3133,8 @@ packages: peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.9.0' - '@opentelemetry/otlp-transformer@0.52.0': - resolution: {integrity: sha512-40acy3JxCAqQYcYepypF/64GVB8jerC6Oiz1HRUXxiSTVwg+ud7UtywfOkPRpc9bjHiyJouWxTjiUPQ9VBMKbg==} + '@opentelemetry/otlp-transformer@0.52.1': + resolution: {integrity: sha512-I88uCZSZZtVa0XniRqQWKbjAUm73I8tpEy/uJYPPYw5d7BRdVk0RfTBQw8kSUl01oVWEuqxLDa802222MYyWHg==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.10.0' @@ -3134,8 +3157,14 @@ packages: peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' - '@opentelemetry/resources@1.25.0': - resolution: {integrity: sha512-iHjydPMYJ+Li1auveJCq2rp5U2h6Mhq8BidiyE0jfVlDTFyR1ny8AfJHfmFzJ/RAM8vT8L7T21kcmGybxZC7lQ==} + '@opentelemetry/resources@1.25.1': + resolution: {integrity: sha512-pkZT+iFYIZsVn6+GzM0kSX+u3MSLCY9md+lIJOoKl/P+gJFfxJte/60Usdp8Ce4rOs8GduUpSPNe1ddGyDT1sQ==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.10.0' + + '@opentelemetry/resources@1.27.0': + resolution: {integrity: sha512-jOwt2VJ/lUD5BLc+PMNymDrUCpm5PKi1E9oSVYAvz01U/VdndGmrtV3DU1pG4AwlYhJRHbHfOUIlpBeXCPw6QQ==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' @@ -3147,8 +3176,8 @@ packages: '@opentelemetry/api': '>=1.4.0 <1.9.0' '@opentelemetry/api-logs': '>=0.39.1' - '@opentelemetry/sdk-logs@0.52.0': - resolution: {integrity: sha512-Dp6g7w7WglrDZMn2yHBMAKRGqQy8C0PUbFovkSwcSsmL47n4FSEc3eeGblZTtueOUW+rTsPJpLHoUpEdS0Wibw==} + '@opentelemetry/sdk-logs@0.52.1': + resolution: {integrity: sha512-MBYh+WcPPsN8YpRHRmK1Hsca9pVlyyKd4BxOC4SsgHACnl/bPp4Cri9hWhVm5+2tiQ9Zf4qSc1Jshw9tOLGWQA==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.4.0 <1.10.0' @@ -3159,8 +3188,14 @@ packages: peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.9.0' - '@opentelemetry/sdk-metrics@1.25.0': - resolution: {integrity: sha512-IF+Sv4VHgBr/BPMKabl+GouJIhEqAOexCHgXVTISdz3q9P9H/uA8ScCF+22gitQ69aFtESbdYOV+Fen5+avQng==} + '@opentelemetry/sdk-metrics@1.25.1': + resolution: {integrity: sha512-9Mb7q5ioFL4E4dDrc4wC/A3NTHDat44v4I3p2pLPSxRvqUbDIQyMVr9uK+EU69+HWhlET1VaSrRzwdckWqY15Q==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': '>=1.3.0 <1.10.0' + + '@opentelemetry/sdk-metrics@1.27.0': + resolution: {integrity: sha512-JzWgzlutoXCydhHWIbLg+r76m+m3ncqvkCcsswXAQ4gqKS+LOHKhq+t6fx1zNytvLuaOUBur7EvWxECc4jPQKg==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.10.0' @@ -3177,8 +3212,14 @@ packages: peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' - '@opentelemetry/sdk-trace-base@1.25.0': - resolution: {integrity: sha512-6+g2fiRQUG39guCsKVeY8ToeuUf3YUnPkN6DXRA1qDmFLprlLvZm9cS6+chgbW70cZJ406FTtSCDnJwxDC5sGQ==} + '@opentelemetry/sdk-trace-base@1.25.1': + resolution: {integrity: sha512-C8k4hnEbc5FamuZQ92nTOp8X/diCY56XUTnMiv9UTuJitCzaNNHAVsdm5+HLCdI8SLQsLWIrG38tddMxLVoftw==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.10.0' + + '@opentelemetry/sdk-trace-base@1.27.0': + resolution: {integrity: sha512-btz6XTQzwsyJjombpeqCX6LhiMQYpzt2pIYNPnw0IPO/3AhT6yjnf8Mnv3ZC2A4eRYOjqrg+bfaXg9XHDRJDWQ==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' @@ -3193,8 +3234,12 @@ packages: resolution: {integrity: sha512-MiqFvfOzfR31t8cc74CTP1OZfz7MbqpAnLCra8NqQoaHJX6ncIRTdYOQYBDQ2uFISDq0WY8Y9dDTWvsgzzBYRg==} engines: {node: '>=14'} - '@opentelemetry/semantic-conventions@1.25.0': - resolution: {integrity: sha512-M+kkXKRAIAiAP6qYyesfrC5TOmDpDVtsxuGfPcqd9B/iBrac+E14jYwrgm0yZBUIbIP2OnqC3j+UgkXLm1vxUQ==} + '@opentelemetry/semantic-conventions@1.25.1': + resolution: {integrity: sha512-ZDjMJJQRlyk8A1KZFCc+bCbsyrn1wTwdNt56F7twdfUfnHUZUq77/WfONCj8p72NZOyP7pNTdUWSTYC3GTbuuQ==} + engines: {node: '>=14'} + + '@opentelemetry/semantic-conventions@1.27.0': + resolution: {integrity: sha512-sAay1RrB+ONOem0OZanAR1ZI/k7yDpnOQSQmTMuGImUQb2y8EbSaCJ94FQluM74xoU03vlb2d2U90hZluL6nQg==} engines: {node: '>=14'} '@pkgjs/parseargs@0.11.0': @@ -3256,83 +3301,93 @@ packages: '@protobufjs/utf8@1.1.0': resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} - '@rollup/rollup-android-arm-eabi@4.18.0': - resolution: {integrity: sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==} + '@rollup/rollup-android-arm-eabi@4.24.2': + resolution: {integrity: sha512-ufoveNTKDg9t/b7nqI3lwbCG/9IJMhADBNjjz/Jn6LxIZxD7T5L8l2uO/wD99945F1Oo8FvgbbZJRguyk/BdzA==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.18.0': - resolution: {integrity: sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==} + '@rollup/rollup-android-arm64@4.24.2': + resolution: {integrity: sha512-iZoYCiJz3Uek4NI0J06/ZxUgwAfNzqltK0MptPDO4OR0a88R4h0DSELMsflS6ibMCJ4PnLvq8f7O1d7WexUvIA==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.18.0': - resolution: {integrity: sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==} + '@rollup/rollup-darwin-arm64@4.24.2': + resolution: {integrity: sha512-/UhrIxobHYCBfhi5paTkUDQ0w+jckjRZDZ1kcBL132WeHZQ6+S5v9jQPVGLVrLbNUebdIRpIt00lQ+4Z7ys4Rg==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.18.0': - resolution: {integrity: sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==} + '@rollup/rollup-darwin-x64@4.24.2': + resolution: {integrity: sha512-1F/jrfhxJtWILusgx63WeTvGTwE4vmsT9+e/z7cZLKU8sBMddwqw3UV5ERfOV+H1FuRK3YREZ46J4Gy0aP3qDA==} cpu: [x64] os: [darwin] - '@rollup/rollup-linux-arm-gnueabihf@4.18.0': - resolution: {integrity: sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==} + '@rollup/rollup-freebsd-arm64@4.24.2': + resolution: {integrity: sha512-1YWOpFcGuC6iGAS4EI+o3BV2/6S0H+m9kFOIlyFtp4xIX5rjSnL3AwbTBxROX0c8yWtiWM7ZI6mEPTI7VkSpZw==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.24.2': + resolution: {integrity: sha512-3qAqTewYrCdnOD9Gl9yvPoAoFAVmPJsBvleabvx4bnu1Kt6DrB2OALeRVag7BdWGWLhP1yooeMLEi6r2nYSOjg==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.24.2': + resolution: {integrity: sha512-ArdGtPHjLqWkqQuoVQ6a5UC5ebdX8INPuJuJNWRe0RGa/YNhVvxeWmCTFQ7LdmNCSUzVZzxAvUznKaYx645Rig==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.18.0': - resolution: {integrity: sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==} + '@rollup/rollup-linux-arm-musleabihf@4.24.2': + resolution: {integrity: sha512-B6UHHeNnnih8xH6wRKB0mOcJGvjZTww1FV59HqJoTJ5da9LCG6R4SEBt6uPqzlawv1LoEXSS0d4fBlHNWl6iYw==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.18.0': - resolution: {integrity: sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==} + '@rollup/rollup-linux-arm64-gnu@4.24.2': + resolution: {integrity: sha512-kr3gqzczJjSAncwOS6i7fpb4dlqcvLidqrX5hpGBIM1wtt0QEVtf4wFaAwVv8QygFU8iWUMYEoJZWuWxyua4GQ==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.18.0': - resolution: {integrity: sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==} + '@rollup/rollup-linux-arm64-musl@4.24.2': + resolution: {integrity: sha512-TDdHLKCWgPuq9vQcmyLrhg/bgbOvIQ8rtWQK7MRxJ9nvaxKx38NvY7/Lo6cYuEnNHqf6rMqnivOIPIQt6H2AoA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.18.0': - resolution: {integrity: sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==} + '@rollup/rollup-linux-powerpc64le-gnu@4.24.2': + resolution: {integrity: sha512-xv9vS648T3X4AxFFZGWeB5Dou8ilsv4VVqJ0+loOIgDO20zIhYfDLkk5xoQiej2RiSQkld9ijF/fhLeonrz2mw==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.18.0': - resolution: {integrity: sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==} + '@rollup/rollup-linux-riscv64-gnu@4.24.2': + resolution: {integrity: sha512-tbtXwnofRoTt223WUZYiUnbxhGAOVul/3StZ947U4A5NNjnQJV5irKMm76G0LGItWs6y+SCjUn/Q0WaMLkEskg==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.18.0': - resolution: {integrity: sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==} + '@rollup/rollup-linux-s390x-gnu@4.24.2': + resolution: {integrity: sha512-gc97UebApwdsSNT3q79glOSPdfwgwj5ELuiyuiMY3pEWMxeVqLGKfpDFoum4ujivzxn6veUPzkGuSYoh5deQ2Q==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.18.0': - resolution: {integrity: sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==} + '@rollup/rollup-linux-x64-gnu@4.24.2': + resolution: {integrity: sha512-jOG/0nXb3z+EM6SioY8RofqqmZ+9NKYvJ6QQaa9Mvd3RQxlH68/jcB/lpyVt4lCiqr04IyaC34NzhUqcXbB5FQ==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.18.0': - resolution: {integrity: sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==} + '@rollup/rollup-linux-x64-musl@4.24.2': + resolution: {integrity: sha512-XAo7cJec80NWx9LlZFEJQxqKOMz/lX3geWs2iNT5CHIERLFfd90f3RYLLjiCBm1IMaQ4VOX/lTC9lWfzzQm14Q==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.18.0': - resolution: {integrity: sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==} + '@rollup/rollup-win32-arm64-msvc@4.24.2': + resolution: {integrity: sha512-A+JAs4+EhsTjnPQvo9XY/DC0ztaws3vfqzrMNMKlwQXuniBKOIIvAAI8M0fBYiTCxQnElYu7mLk7JrhlQ+HeOw==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.18.0': - resolution: {integrity: sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==} + '@rollup/rollup-win32-ia32-msvc@4.24.2': + resolution: {integrity: sha512-ZhcrakbqA1SCiJRMKSU64AZcYzlZ/9M5LaYil9QWxx9vLnkQ9Vnkve17Qn4SjlipqIIBFKjBES6Zxhnvh0EAEw==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.18.0': - resolution: {integrity: sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==} + '@rollup/rollup-win32-x64-msvc@4.24.2': + resolution: {integrity: sha512-2mLH46K1u3r6uwc95hU+OR9q/ggYMpnS7pSp83Ece1HUQgF9Nh/QwTK5rcgbFnV9j+08yBrU5sA/P0RK2MSBNA==} cpu: [x64] os: [win32] @@ -3398,46 +3453,49 @@ packages: resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} engines: {node: '>=10'} - '@sinonjs/commons@2.0.0': - resolution: {integrity: sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==} - '@sinonjs/commons@3.0.1': resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} - '@sinonjs/fake-timers@11.2.2': - resolution: {integrity: sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==} + '@sinonjs/fake-timers@11.3.1': + resolution: {integrity: sha512-EVJO7nW5M/F5Tur0Rf2z/QoMo+1Ia963RiMtapiQrEWvY0iBUvADo8Beegwjpnle5BHkyHuoxSTW3jF43H1XRA==} - '@sinonjs/samsam@8.0.0': - resolution: {integrity: sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==} + '@sinonjs/fake-timers@13.0.4': + resolution: {integrity: sha512-wpUq+QiKxrWk7U2pdvNSY9fNX62/k+7eEdlQMO0A3rU8tQ+vvzY/WzBhMz+GbQlATXZlXWYQqFWNFcn1SVvThA==} - '@sinonjs/text-encoding@0.7.2': - resolution: {integrity: sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==} + '@sinonjs/samsam@8.0.2': + resolution: {integrity: sha512-v46t/fwnhejRSFTGqbpn9u+LQ9xJDse10gNnPgAcxgdoCDMXj/G2asWAC/8Qs+BAZDicX+MNZouXT1A7c83kVw==} - '@smithy/abort-controller@3.1.0': - resolution: {integrity: sha512-XOm4LkuC0PsK1sf2bBJLIlskn5ghmVxiEBVlo/jg0R8hxASBKYYgOoJEhKWgOr4vWGkN+5rC+oyBAqHYtxjnwQ==} + '@sinonjs/text-encoding@0.7.3': + resolution: {integrity: sha512-DE427ROAphMQzU4ENbliGYrBSYPXF+TtLg9S8vzeA+OF4ZKzoDdzfL8sxuMUGS/lgRhM6j1URSk9ghf7Xo1tyA==} + + '@smithy/abort-controller@3.1.6': + resolution: {integrity: sha512-0XuhuHQlEqbNQZp7QxxrFTdVWdwxch4vjxYgfInF91hZFkPxf9QDrdQka0KfxFMPqLNzSw0b95uGTrLliQUavQ==} engines: {node: '>=16.0.0'} - '@smithy/config-resolver@3.0.3': - resolution: {integrity: sha512-4wHqCMkdfVDP4qmr4fVPYOFOH+vKhOv3X4e6KEU9wIC8xXUQ24tnF4CW+sddGDX1zU86GGyQ7A+rg2xmUD6jpQ==} + '@smithy/config-resolver@3.0.10': + resolution: {integrity: sha512-Uh0Sz9gdUuz538nvkPiyv1DZRX9+D15EKDtnQP5rYVAzM/dnYk3P8cg73jcxyOitPgT3mE3OVj7ky7sibzHWkw==} engines: {node: '>=16.0.0'} - '@smithy/core@2.2.3': - resolution: {integrity: sha512-SpyLOL2vgE6sUYM6nQfu82OirCPkCDKctyG3aMgjMlDPTJpUlmlNH0ttu9ZWwzEjrzzr8uABmPjJTRI7gk1HFQ==} + '@smithy/core@2.5.1': + resolution: {integrity: sha512-DujtuDA7BGEKExJ05W5OdxCoyekcKT3Rhg1ZGeiUWaz2BJIWXjZmsG/DIP4W48GHno7AQwRsaCb8NcBgH3QZpg==} engines: {node: '>=16.0.0'} - '@smithy/credential-provider-imds@3.1.2': - resolution: {integrity: sha512-gqVmUaNoeqyrOAjgZg+rTmFLsphh/vS59LCMdFfVpthVS0jbfBzvBmEPktBd+y9ME4DYMGHFAMSYJDK8q0noOQ==} + '@smithy/credential-provider-imds@3.2.5': + resolution: {integrity: sha512-4FTQGAsuwqTzVMmiRVTn0RR9GrbRfkP0wfu/tXWVHd2LgNpTY0uglQpIScXK4NaEyXbB3JmZt8gfVqO50lP8wg==} engines: {node: '>=16.0.0'} - '@smithy/fetch-http-handler@3.1.0': - resolution: {integrity: sha512-s7oQjEOUH9TYjctpITtWF4qxOdg7pBrP9eigEQ8SBsxF3dRFV0S28pGMllC83DUr7ECmErhO/BUwnULfoNhKgQ==} + '@smithy/fetch-http-handler@3.2.9': + resolution: {integrity: sha512-hYNVQOqhFQ6vOpenifFME546f0GfJn2OiQ3M0FDmuUu8V/Uiwy2wej7ZXxFBNqdx0R5DZAqWM1l6VRhGz8oE6A==} + + '@smithy/fetch-http-handler@4.0.0': + resolution: {integrity: sha512-MLb1f5tbBO2X6K4lMEKJvxeLooyg7guq48C2zKr4qM7F2Gpkz4dc+hdSgu77pCJ76jVqFBjZczHYAs6dp15N+g==} - '@smithy/hash-node@3.0.2': - resolution: {integrity: sha512-43uGA6o6QJQdXwAogybdTDHDd3SCdKyoiHIHb8PpdE2rKmVicjG9b1UgVwdgO8QPytmVqHFaUw27M3LZKwu8Yg==} + '@smithy/hash-node@3.0.8': + resolution: {integrity: sha512-tlNQYbfpWXHimHqrvgo14DrMAgUBua/cNoz9fMYcDmYej7MAmUcjav/QKQbFc3NrcPxeJ7QClER4tWZmfwoPng==} engines: {node: '>=16.0.0'} - '@smithy/invalid-dependency@3.0.2': - resolution: {integrity: sha512-+BAY3fMhomtq470tswXyrdVBSUhiLuhBVT+rOmpbz5e04YX+s1dX4NxTLzZGwBjCpeWZNtTxP8zbIvvFk81gUg==} + '@smithy/invalid-dependency@3.0.8': + resolution: {integrity: sha512-7Qynk6NWtTQhnGTTZwks++nJhQ1O54Mzi7fz4PqZOiYXb4Z1Flpb2yRvdALoggTS8xjtohWUM+RygOtB30YL3Q==} '@smithy/is-array-buffer@2.2.0': resolution: {integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==} @@ -3447,76 +3505,76 @@ packages: resolution: {integrity: sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==} engines: {node: '>=16.0.0'} - '@smithy/middleware-compression@3.0.3': - resolution: {integrity: sha512-iR39VTty6oP2WyK94501IQOyKMzdhFGgw/hI0FFWJIzGf+fu+71E2RagZ4G8DdPirhOa7FWNB8rLsvRdrrLKRQ==} + '@smithy/middleware-compression@3.1.1': + resolution: {integrity: sha512-4DTraaYI7sNO1JqJrWWWd8/rlwfffrEV2EmYBp6DEj6FCbX0AFp0BaWvC4TuJhJR8+wpjDwJ//sACpWR3Zoiew==} engines: {node: '>=16.0.0'} - '@smithy/middleware-content-length@3.0.2': - resolution: {integrity: sha512-/Havz3PkYIEmwpqkyRTR21yJsWnFbD1ec4H1pUL+TkDnE7RCQkAVUQepLL/UeCaZeCBXvfdoKbOjSbV01xIinQ==} + '@smithy/middleware-content-length@3.0.10': + resolution: {integrity: sha512-T4dIdCs1d/+/qMpwhJ1DzOhxCZjZHbHazEPJWdB4GDi2HjIZllVzeBEcdJUN0fomV8DURsgOyrbEUzg3vzTaOg==} engines: {node: '>=16.0.0'} - '@smithy/middleware-endpoint@3.0.3': - resolution: {integrity: sha512-ARAXHodhj4tttKa9y75zvENdSoHq6VGsSi7XS3+yLutrnxttJs6N10UMInCC1yi3/bopT8xug3iOP/y9R6sKJQ==} + '@smithy/middleware-endpoint@3.2.1': + resolution: {integrity: sha512-wWO3xYmFm6WRW8VsEJ5oU6h7aosFXfszlz3Dj176pTij6o21oZnzkCLzShfmRaaCHDkBXWBdO0c4sQAvLFP6zA==} engines: {node: '>=16.0.0'} - '@smithy/middleware-retry@3.0.6': - resolution: {integrity: sha512-ICsFKp8eAyIMmxN5UT3IU37S6886L879TKtgxPsn/VD/laYNwqTLmJaCAn5//+2fRIrV0dnHp6LFlMwdXlWoUQ==} + '@smithy/middleware-retry@3.0.25': + resolution: {integrity: sha512-m1F70cPaMBML4HiTgCw5I+jFNtjgz5z5UdGnUbG37vw6kh4UvizFYjqJGHvicfgKMkDL6mXwyPp5mhZg02g5sg==} engines: {node: '>=16.0.0'} - '@smithy/middleware-serde@3.0.2': - resolution: {integrity: sha512-oT2abV5zLhBucJe1LIIFEcRgIBDbZpziuMPswTMbBQNcaEUycLFvX63zsFmqfwG+/ZQKsNx+BSE8W51CMuK7Yw==} + '@smithy/middleware-serde@3.0.8': + resolution: {integrity: sha512-Xg2jK9Wc/1g/MBMP/EUn2DLspN8LNt+GMe7cgF+Ty3vl+Zvu+VeZU5nmhveU+H8pxyTsjrAkci8NqY6OuvZnjA==} engines: {node: '>=16.0.0'} - '@smithy/middleware-stack@3.0.2': - resolution: {integrity: sha512-6fRcxomlNKBPIy/YjcnC7YHpMAjRvGUYlYVJAfELqZjkW0vQegNcImjY7T1HgYA6u3pAcCxKVBLYnkTw8z/l0A==} + '@smithy/middleware-stack@3.0.8': + resolution: {integrity: sha512-d7ZuwvYgp1+3682Nx0MD3D/HtkmZd49N3JUndYWQXfRZrYEnCWYc8BHcNmVsPAp9gKvlurdg/mubE6b/rPS9MA==} engines: {node: '>=16.0.0'} - '@smithy/node-config-provider@3.1.2': - resolution: {integrity: sha512-388fEAa7+6ORj/BDC70peg3fyFBTTXJyXfXJ0Bwd6FYsRltePr2oGzIcm5AuC1WUSLtZ/dF+hYOnfTMs04rLvA==} + '@smithy/node-config-provider@3.1.9': + resolution: {integrity: sha512-qRHoah49QJ71eemjuS/WhUXB+mpNtwHRWQr77J/m40ewBVVwvo52kYAmb7iuaECgGTTcYxHS4Wmewfwy++ueew==} engines: {node: '>=16.0.0'} - '@smithy/node-http-handler@3.1.0': - resolution: {integrity: sha512-pOpgB6B+VLXLwAyyvRz+ZAVXABlbAsJ2xvn3WZvrppAPImxwQOPFbeSUzWYMhpC8Tr7yQ3R8fG990QDhskkf1Q==} + '@smithy/node-http-handler@3.2.5': + resolution: {integrity: sha512-PkOwPNeKdvX/jCpn0A8n9/TyoxjGZB8WVoJmm9YzsnAgggTj4CrjpRHlTQw7dlLZ320n1mY1y+nTRUDViKi/3w==} engines: {node: '>=16.0.0'} - '@smithy/property-provider@3.1.2': - resolution: {integrity: sha512-Hzp32BpeFFexBpO1z+ts8okbq/VLzJBadxanJAo/Wf2CmvXMBp6Q/TLWr7Js6IbMEcr0pDZ02V3u1XZkuQUJaA==} + '@smithy/property-provider@3.1.8': + resolution: {integrity: sha512-ukNUyo6rHmusG64lmkjFeXemwYuKge1BJ8CtpVKmrxQxc6rhUX0vebcptFA9MmrGsnLhwnnqeH83VTU9hwOpjA==} engines: {node: '>=16.0.0'} - '@smithy/protocol-http@4.0.2': - resolution: {integrity: sha512-X/90xNWIOqSR2tLUyWxVIBdatpm35DrL44rI/xoeBWUuanE0iyCXJpTcnqlOpnEzgcu0xCKE06+g70TTu2j7RQ==} + '@smithy/protocol-http@4.1.5': + resolution: {integrity: sha512-hsjtwpIemmCkm3ZV5fd/T0bPIugW1gJXwZ/hpuVubt2hEUApIoUTrf6qIdh9MAWlw0vjMrA1ztJLAwtNaZogvg==} engines: {node: '>=16.0.0'} - '@smithy/querystring-builder@3.0.2': - resolution: {integrity: sha512-xhv1+HacDYsOLdNt7zW+8Fe779KYAzmWvzs9bC5NlKM8QGYCwwuFwDBynhlU4D5twgi2pZ14Lm4h6RiAazCtmA==} + '@smithy/querystring-builder@3.0.8': + resolution: {integrity: sha512-btYxGVqFUARbUrN6VhL9c3dnSviIwBYD9Rz1jHuN1hgh28Fpv2xjU1HeCeDJX68xctz7r4l1PBnFhGg1WBBPuA==} engines: {node: '>=16.0.0'} - '@smithy/querystring-parser@3.0.2': - resolution: {integrity: sha512-C5hyRKgrZGPNh5QqIWzXnW+LXVrPmVQO0iJKjHeb5v3C61ZkP9QhrKmbfchcTyg/VnaE0tMNf/nmLpQlWuiqpg==} + '@smithy/querystring-parser@3.0.8': + resolution: {integrity: sha512-BtEk3FG7Ks64GAbt+JnKqwuobJNX8VmFLBsKIwWr1D60T426fGrV2L3YS5siOcUhhp6/Y6yhBw1PSPxA5p7qGg==} engines: {node: '>=16.0.0'} - '@smithy/service-error-classification@3.0.2': - resolution: {integrity: sha512-cu0WV2XRttItsuXlcM0kq5MKdphbMMmSd2CXF122dJ75NrFE0o7rruXFGfxAp3BKzgF/DMxX+PllIA/cj4FHMw==} + '@smithy/service-error-classification@3.0.8': + resolution: {integrity: sha512-uEC/kCCFto83bz5ZzapcrgGqHOh/0r69sZ2ZuHlgoD5kYgXJEThCoTuw/y1Ub3cE7aaKdznb+jD9xRPIfIwD7g==} engines: {node: '>=16.0.0'} - '@smithy/shared-ini-file-loader@3.1.2': - resolution: {integrity: sha512-tgnXrXbLMO8vo6VeuqabMw/eTzQHlLmZx0TC0TjtjJghnD0Xl4pEnJtBjTJr6XF5fHMNrt5BcczDXHJT9yNQnA==} + '@smithy/shared-ini-file-loader@3.1.9': + resolution: {integrity: sha512-/+OsJRNtoRbtsX0UpSgWVxFZLsJHo/4sTr+kBg/J78sr7iC+tHeOvOJrS5hCpVQ6sWBbhWLp1UNiuMyZhE6pmA==} engines: {node: '>=16.0.0'} - '@smithy/signature-v4@3.1.1': - resolution: {integrity: sha512-2/vlG86Sr489XX8TA/F+VDA+P04ESef04pSz0wRtlQBExcSPjqO08rvrkcas2zLnJ51i+7ukOURCkgqixBYjSQ==} + '@smithy/signature-v4@4.2.1': + resolution: {integrity: sha512-NsV1jF4EvmO5wqmaSzlnTVetemBS3FZHdyc5CExbDljcyJCEEkJr8ANu2JvtNbVg/9MvKAWV44kTrGS+Pi4INg==} engines: {node: '>=16.0.0'} - '@smithy/smithy-client@3.1.4': - resolution: {integrity: sha512-y6xJROGrIoitjpwXLY7P9luDHvuT9jWpAluliuSFdBymFxcl6iyQjo9U/JhYfRHFNTruqsvKOrOESVuPGEcRmQ==} + '@smithy/smithy-client@3.4.2': + resolution: {integrity: sha512-dxw1BDxJiY9/zI3cBqfVrInij6ShjpV4fmGHesGZZUiP9OSE/EVfdwdRz0PgvkEvrZHpsj2htRaHJfftE8giBA==} engines: {node: '>=16.0.0'} - '@smithy/types@3.2.0': - resolution: {integrity: sha512-cKyeKAPazZRVqm7QPvcPD2jEIt2wqDPAL1KJKb0f/5I7uhollvsWZuZKLclmyP6a+Jwmr3OV3t+X0pZUUHS9BA==} + '@smithy/types@3.6.0': + resolution: {integrity: sha512-8VXK/KzOHefoC65yRgCn5vG1cysPJjHnOVt9d0ybFQSmJgQj152vMn4EkYhGuaOmnnZvCPav/KnYyE6/KsNZ2w==} engines: {node: '>=16.0.0'} - '@smithy/url-parser@3.0.2': - resolution: {integrity: sha512-pRiPHrgibeAr4avtXDoBHmTLtthwA4l8jKYRfZjNgp+bBPyxDMPRg2TMJaYxqbKemvrOkHu9MIBTv2RkdNfD6w==} + '@smithy/url-parser@3.0.8': + resolution: {integrity: sha512-4FdOhwpTW7jtSFWm7SpfLGKIBC9ZaTKG5nBF0wK24aoQKQyDIKUw3+KFWCQ9maMzrgTJIuOvOnsV2lLGW5XjTg==} '@smithy/util-base64@3.0.0': resolution: {integrity: sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==} @@ -3541,32 +3599,32 @@ packages: resolution: {integrity: sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==} engines: {node: '>=16.0.0'} - '@smithy/util-defaults-mode-browser@3.0.6': - resolution: {integrity: sha512-tAgoc++Eq+KL7g55+k108pn7nAob3GLWNEMbXhZIQyBcBNaE/o3+r4AEbae0A8bWvLRvArVsjeiuhMykGa04/A==} + '@smithy/util-defaults-mode-browser@3.0.25': + resolution: {integrity: sha512-fRw7zymjIDt6XxIsLwfJfYUfbGoO9CmCJk6rjJ/X5cd20+d2Is7xjU5Kt/AiDt6hX8DAf5dztmfP5O82gR9emA==} engines: {node: '>= 10.0.0'} - '@smithy/util-defaults-mode-node@3.0.6': - resolution: {integrity: sha512-UNerul6/E8aiCyFTBHk+RSIZCo7m96d/N5K3FeO/wFeZP6oy5HAicLzxqa85Wjv7MkXSxSySX29L/LwTV/QMag==} + '@smithy/util-defaults-mode-node@3.0.25': + resolution: {integrity: sha512-H3BSZdBDiVZGzt8TG51Pd2FvFO0PAx/A0mJ0EH8a13KJ6iUCdYnw/Dk/MdC1kTd0eUuUGisDFaxXVXo4HHFL1g==} engines: {node: '>= 10.0.0'} - '@smithy/util-endpoints@2.0.3': - resolution: {integrity: sha512-Dyi+pfLglDHSGsKSYunuUUSFM5V0tz7UDgv1Ex97yg+Xkn0Eb0rH0rcvl1n0MaJ11fac3HKDOH0DkALyQYCQag==} + '@smithy/util-endpoints@2.1.4': + resolution: {integrity: sha512-kPt8j4emm7rdMWQyL0F89o92q10gvCUa6sBkBtDJ7nV2+P7wpXczzOfoDJ49CKXe5CCqb8dc1W+ZdLlrKzSAnQ==} engines: {node: '>=16.0.0'} '@smithy/util-hex-encoding@3.0.0': resolution: {integrity: sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==} engines: {node: '>=16.0.0'} - '@smithy/util-middleware@3.0.2': - resolution: {integrity: sha512-7WW5SD0XVrpfqljBYzS5rLR+EiDzl7wCVJZ9Lo6ChNFV4VYDk37Z1QI5w/LnYtU/QKnSawYoHRd7VjSyC8QRQQ==} + '@smithy/util-middleware@3.0.8': + resolution: {integrity: sha512-p7iYAPaQjoeM+AKABpYWeDdtwQNxasr4aXQEA/OmbOaug9V0odRVDy3Wx4ci8soljE/JXQo+abV0qZpW8NX0yA==} engines: {node: '>=16.0.0'} - '@smithy/util-retry@3.0.2': - resolution: {integrity: sha512-HUVOb1k8p/IH6WFUjsLa+L9H1Zi/FAAB2CDOpWuffI1b2Txi6sknau8kNfC46Xrt39P1j2KDzCE1UlLa2eW5+A==} + '@smithy/util-retry@3.0.8': + resolution: {integrity: sha512-TCEhLnY581YJ+g1x0hapPz13JFqzmh/pMWL2KEFASC51qCfw3+Y47MrTmea4bUE5vsdxQ4F6/KFbUeSz22Q1ow==} engines: {node: '>=16.0.0'} - '@smithy/util-stream@3.0.4': - resolution: {integrity: sha512-CcMioiaOOsEVdb09pS7ux1ij7QcQ2jE/cE1+iin1DXMeRgAEQN/47m7Xztu7KFQuQsj0A5YwB2UN45q97CqKCg==} + '@smithy/util-stream@3.2.1': + resolution: {integrity: sha512-R3ufuzJRxSJbE58K9AEnL/uSZyVdHzud9wLS8tIbXclxKzoe09CRohj2xV8wpx5tj7ZbiJaKYcutMm1eYgz/0A==} engines: {node: '>=16.0.0'} '@smithy/util-uri-escape@3.0.0': @@ -3581,15 +3639,15 @@ packages: resolution: {integrity: sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==} engines: {node: '>=16.0.0'} - '@smithy/util-waiter@3.1.0': - resolution: {integrity: sha512-5OVcC5ZcmmutY208ADY/l2eB4H4DVXs+hPUo/M1spF4/YEmF9DdLkfwBvohej2dIeVJayKY7hMlD0X8j3F3/Uw==} + '@smithy/util-waiter@3.1.7': + resolution: {integrity: sha512-d5yGlQtmN/z5eoTtIYgkvOw27US2Ous4VycnXatyoImIF9tzlcpnKqQ/V7qhvJmb2p6xZne1NopCLakdTnkBBQ==} engines: {node: '>=16.0.0'} '@socket.io/component-emitter@3.1.2': resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==} - '@swc/helpers@0.5.11': - resolution: {integrity: sha512-YNlnKRWF2sVojTpIyzwou9XoTNbzbzONwRhOoniEioF1AtaitTvVZblaQRrAzChWQ1bLYyYSWzM18y4WwgzJ+A==} + '@swc/helpers@0.5.13': + resolution: {integrity: sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==} '@szmarczak/http-timer@4.0.6': resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} @@ -3602,8 +3660,8 @@ packages: react: '>=16.8' react-dom: '>=16.8' - '@tanstack/react-virtual@3.10.7': - resolution: {integrity: sha512-yeP+M0G8D+15ZFPivpuQ5hoM4Fa/PzERBx8P8EGcfEsXX3JOb9G9UUrqc47ZXAxvK+YqzM9T5qlJUYUFOwCZJw==} + '@tanstack/react-virtual@3.10.8': + resolution: {integrity: sha512-VbzbVGSsZlQktyLrP5nxE+vE1ZR+U0NFAWPbJLoG2+DKPwd2D7dVICTVIIaYlJqX1ZCEnYDbaOpmMwbsyhBoIA==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -3612,8 +3670,8 @@ packages: resolution: {integrity: sha512-dCG8vQGk4js5v88/k83tTedWOwjGnIyONrKpHpfmSJB8jwFHl8GSu1sBBxbtACVAPtAQgwNxl0rw1d3RqRM1Tg==} engines: {node: '>=12'} - '@tanstack/virtual-core@3.10.7': - resolution: {integrity: sha512-ND5dfsU0n9F4gROzwNNDJmg6y8n9pI8YWxtgbfJ5UcNn7Hx+MxEXtXcQ189tS7sh8pmCObgz2qSiyRKTZxT4dg==} + '@tanstack/virtual-core@3.10.8': + resolution: {integrity: sha512-PBu00mtt95jbKFi6Llk9aik8bnR3tR/oQP1o3TSi+iG//+Q2RTIzCEgKkHG8BB86kxMNW6O8wku+Lmi+QFR6jA==} '@tapjs/after-each@2.0.8': resolution: {integrity: sha512-btkpQ/BhmRyG50rezduxEZb3pMJblECvTQa41+U2ln2te1prDTlllHlpq4lOjceUksl8KFF1avDqcBqIqPzneQ==} @@ -3859,15 +3917,12 @@ packages: '@types/chai@4.3.16': resolution: {integrity: sha512-PatH4iOdyh3MyWtmHVFXLWCCIhUbopaltqddG9BzB+gMIzee2MJrvd+jouii9Z3wzQJruGWAm7WOMjgfG8hQlQ==} - '@types/cli-progress@3.11.5': - resolution: {integrity: sha512-D4PbNRbviKyppS5ivBGyFO29POlySLmA2HyUFE4p5QGazAMM3CwkKWcvTl8gvElSuxRh6FPKL8XmidX873ou4g==} + '@types/cli-progress@3.11.6': + resolution: {integrity: sha512-cE3+jb9WRlu+uOSAugewNpITJDt1VF8dHOopPO4IABFc3SXYL5WE/+PTz/FCdZRRfIujiWW3n3aMbv1eIGVRWA==} '@types/cpx@1.5.5': resolution: {integrity: sha512-PwM+cN40GZcjG9YgGFp/rQGKOpTqr6scUl1Q85NHL5jieh9I203kKiArjJcExwxy4+vTABmVUNRkNvGbPnRQZg==} - '@types/estree@1.0.5': - resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - '@types/estree@1.0.6': resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} @@ -3883,8 +3938,8 @@ packages: '@types/istanbul-lib-coverage@2.0.6': resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - '@types/jquery@3.5.30': - resolution: {integrity: sha512-nbWKkkyb919DOUxjmRVk8vwtDb0/k8FKncmUKFi+NY+QXqWltooxTrswvz4LspQwxvLdvzBN1TImr6cw3aQx2A==} + '@types/jquery@3.5.32': + resolution: {integrity: sha512-b9Xbf4CkMqS02YH8zACqN1xzdxc3cO735Qe5AbSUFmyOiaWAbcpqh9Wna+Uk0vgACvoQHpWDg2rGdHkYPLmCiQ==} '@types/jsdom@21.1.7': resolution: {integrity: sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==} @@ -3904,26 +3959,20 @@ packages: '@types/natural-compare-lite@1.4.2': resolution: {integrity: sha512-kk1ie31cI6AUm17qOi72lEOBfpRhcknJPsJQoKBulaZC9y00MHUWqxGTk/luWEnenLB+lHoNThrKAKdYVydlew==} - '@types/node-fetch@2.6.11': - resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==} - '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@18.19.37': - resolution: {integrity: sha512-Pi53fdVMk7Ig5IfAMltQQMgtY7xLzHaEous8IQasYsdQbYK3v90FkxI3XYQCe/Qme58pqp14lXJIsFmGP8VoZQ==} + '@types/node@18.19.60': + resolution: {integrity: sha512-cYRj7igVqgxhlHFdBHHpU2SNw3+dN2x0VTZJtLYk6y/ieuGN4XiBgtDjYVktM/yk2y/8pKMileNc6IoEzEJnUw==} '@types/node@20.12.12': resolution: {integrity: sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==} - '@types/node@20.14.6': - resolution: {integrity: sha512-JbA0XIJPL1IiNnU7PFxDXyfAwcwVVrOoqyzzyQTyMeVhBzkJVMSkC1LlVsRQ2lpqiY4n6Bb9oCS6lzDKVQxbZw==} - '@types/object-hash@3.0.6': resolution: {integrity: sha512-fOBV8C1FIu2ELinoILQ+ApxcUKz4ngq+IWUYrxSGjXzzjUALijilampwkMgEtJ+h2njAW3pi853QpzNVCHB73w==} - '@types/prop-types@15.7.12': - resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} + '@types/prop-types@15.7.13': + resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} '@types/react-dom@18.3.0': resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} @@ -3943,8 +3992,8 @@ packages: '@types/semver@7.5.8': resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} - '@types/shimmer@1.0.5': - resolution: {integrity: sha512-9Hp0ObzwwO57DpLFF0InUjUm/II8GmKAvzbefxQTihCb7KI6yc9yzf0nLc4mVdby5N4DRCgQM2wCup9KTieeww==} + '@types/shimmer@1.2.0': + resolution: {integrity: sha512-UE7oxhQLLd9gub6JKIAhDq06T0F6FnztwMNRvYgjeQSBeMc1ZG/tA47EwfduvkuQS8apbkM/lpLpWsaCeYsXVg==} '@types/sinon-chai@3.2.12': resolution: {integrity: sha512-9y0Gflk3b0+NhQZ/oxGtaAJDvRywCa5sIyaVnounqLvmf93yBF4EgIRspePtkMs3Tr844nCclYMlcCNmLCvjuQ==} @@ -3955,15 +4004,12 @@ packages: '@types/sinonjs__fake-timers@8.1.5': resolution: {integrity: sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==} - '@types/sizzle@2.3.8': - resolution: {integrity: sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==} + '@types/sizzle@2.3.9': + resolution: {integrity: sha512-xzLEyKB50yqCUPUJkIsrVvoWNfFUbIZI+RspLWt8u+tIW/BetMBZtgV2LY/2o+tYH8dRvQ+eoPf3NdhQCcLE2w==} '@types/tough-cookie@4.0.5': resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} - '@types/tunnel@0.0.3': - resolution: {integrity: sha512-sOUTGn6h1SfQ+gbgqC364jLFBw2lnFqkgF3q0WovEHRLMrVD1sd5aufqi/aJObLekJO+Aq5z646U4Oxy6shXMA==} - '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} @@ -4068,12 +4114,12 @@ packages: peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn-walk@8.3.3: - resolution: {integrity: sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==} + acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} - acorn@8.12.0: - resolution: {integrity: sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==} + acorn@8.14.0: + resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} engines: {node: '>=0.4.0'} hasBin: true @@ -4129,6 +4175,10 @@ packages: resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==} engines: {node: '>=14.16'} + ansi-escapes@7.0.0: + resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==} + engines: {node: '>=18'} + ansi-regex@3.0.1: resolution: {integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==} engines: {node: '>=4'} @@ -4137,8 +4187,8 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - ansi-regex@6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + ansi-regex@6.1.0: + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} engines: {node: '>=12'} ansi-sequence-parser@1.1.1: @@ -4170,10 +4220,6 @@ packages: app-module-path@2.2.0: resolution: {integrity: sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ==} - append-transform@2.0.0: - resolution: {integrity: sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==} - engines: {node: '>=8'} - archiver-utils@2.1.0: resolution: {integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==} engines: {node: '>= 6'} @@ -4186,9 +4232,6 @@ packages: resolution: {integrity: sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==} engines: {node: '>= 10'} - archy@1.0.0: - resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} - are-docs-informative@0.0.2: resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} engines: {node: '>=14'} @@ -4318,8 +4361,8 @@ packages: async@2.6.4: resolution: {integrity: sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==} - async@3.2.5: - resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} + async@3.2.6: + resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} @@ -4332,8 +4375,8 @@ packages: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} - aws-sdk@2.1645.0: - resolution: {integrity: sha512-KCKKXes0epWsNppMWt2FkTtKTwRJBGIQre3er1weNay8YmF3JTXueRCB/mEk1WFfFq273SPOxl/pj5kH04KjYw==} + aws-sdk@2.1691.0: + resolution: {integrity: sha512-/F2YC+DlsY3UBM2Bdnh5RLHOPNibS/+IcjUuhP8XuctyrN+MlL+fWDAiela32LTDk7hMy4rx8MTgvbJ+0blO5g==} engines: {node: '>= 10.0.0'} aws-sign2@0.7.0: @@ -4346,9 +4389,6 @@ packages: resolution: {integrity: sha512-RE3mdQ7P3FRSe7eqCWoeQ/Z9QXrtniSjp1wUjt5nRC3WIpz5rSCve6o3fsZ2aCpJtrZjSZgjwXAoTO5k4tEI0w==} engines: {node: '>=4'} - axios@1.7.2: - resolution: {integrity: sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==} - axios@1.7.7: resolution: {integrity: sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==} @@ -4398,6 +4438,7 @@ packages: boolean@3.2.0: resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. bowser@2.11.0: resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} @@ -4421,8 +4462,8 @@ packages: browser-stdout@1.3.1: resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} - browserslist@4.23.1: - resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==} + browserslist@4.24.2: + resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -4442,13 +4483,23 @@ packages: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} + c8@10.1.2: + resolution: {integrity: sha512-Qr6rj76eSshu5CgRYvktW0uM0CFY0yi4Fd5D0duDXO6sYinyopmftUiJVuzBQxQcwQLor7JWDVRP+dUfCmzgJw==} + engines: {node: '>=18'} + hasBin: true + peerDependencies: + monocart-coverage-reports: ^2 + peerDependenciesMeta: + monocart-coverage-reports: + optional: true + c8@9.1.0: resolution: {integrity: sha512-mBWcT5iqNir1zIkzSPyI3NCR9EZCVI3WUD+AVO17MVWTSFNyUueXE82qTeampNtTr+ilN/5Ua3j24LgbCKjDVg==} engines: {node: '>=14.14.0'} hasBin: true - cacache@18.0.3: - resolution: {integrity: sha512-qXCd4rh6I07cnDqh8V48/94Tc/WSfj+o3Gn6NZ0aZovS255bUx8O13uKxRFd2eWG0xgsco7+YItQNPaa5E85hg==} + cacache@18.0.4: + resolution: {integrity: sha512-B+L5iIa9mgcjLbliir2th36yEwPftrzteHYujzsx3dFP/31GCHcIeS8f5MGd80odLOjaOvSpU3EEAmRQptkxLQ==} engines: {node: ^16.14.0 || >=18.0.0} cacheable-lookup@5.0.4: @@ -4459,10 +4510,6 @@ packages: resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} engines: {node: '>=8'} - caching-transform@4.0.0: - resolution: {integrity: sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==} - engines: {node: '>=8'} - call-bind@1.0.7: resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} engines: {node: '>= 0.4'} @@ -4471,16 +4518,12 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - camelcase@5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} - camelcase@6.3.0: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} - caniuse-lite@1.0.30001636: - resolution: {integrity: sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg==} + caniuse-lite@1.0.30001674: + resolution: {integrity: sha512-jOsKlZVRnzfhLojb+Ykb+gyUSp9Xb57So+fAiFlLzzTKpqg8xxSav0e40c8/4F/v9N8QSvrRRaLeVzQbLqomYw==} cardinal@2.1.1: resolution: {integrity: sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==} @@ -4535,9 +4578,9 @@ packages: cheerio-select@2.1.0: resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} - cheerio@1.0.0-rc.12: - resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} - engines: {node: '>= 6'} + cheerio@1.0.0: + resolution: {integrity: sha512-quS9HgjQpdaXOvsZz82Oz7uxtXiy6UIsIQcpBj7HRw2M63Skasm9qlDocAM7jNuaxdhpPU7c4kJN+gA5MCu4ww==} + engines: {node: '>=18.17'} chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} @@ -4551,8 +4594,8 @@ packages: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} - cjs-module-lexer@1.3.1: - resolution: {integrity: sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==} + cjs-module-lexer@1.4.1: + resolution: {integrity: sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==} classnames@2.3.1: resolution: {integrity: sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==} @@ -4580,6 +4623,10 @@ packages: resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + cli-cursor@5.0.0: + resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} + engines: {node: '>=18'} + cli-progress@3.12.0: resolution: {integrity: sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==} engines: {node: '>=4'} @@ -4600,9 +4647,6 @@ packages: resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} engines: {node: '>=18'} - cliui@6.0.0: - resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} - cliui@7.0.4: resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} @@ -4660,9 +4704,6 @@ packages: resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==} engines: {node: '>= 12.0.0'} - commondir@1.0.1: - resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - compress-commons@4.1.2: resolution: {integrity: sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==} engines: {node: '>= 10'} @@ -4678,9 +4719,6 @@ packages: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} - convert-source-map@1.9.0: - resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} - convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} @@ -4688,19 +4726,19 @@ packages: resolution: {integrity: sha512-rcQ1bsQO9799wq24uE5AM2tAILy4gXGIK/njFWcVQkGNZ96edlpY+A7bjwvzjYvLDyzmG1MmMLZhpcsb+klNMQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - cookie-parser@1.4.6: - resolution: {integrity: sha512-z3IzaNjdwUC2olLIB5/ITd0/setiaFMLYiZJle7xg5Fe9KWAceil7xszYfHHBtDFYLSgJduS2Ty0P1uJdPDJeA==} + cookie-parser@1.4.7: + resolution: {integrity: sha512-nGUvgXnotP3BsjiLX2ypbQnWoGUPIIfHQNZkkC668ntrzGWEZVW70HDEB1qnNGMicPje6EttlIgzo51YSwNQGw==} engines: {node: '>= 0.8.0'} cookie-signature@1.0.6: resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} - cookie@0.4.1: - resolution: {integrity: sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==} + cookie@0.7.1: + resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==} engines: {node: '>= 0.6'} - cookie@0.6.0: - resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} + cookie@0.7.2: + resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} engines: {node: '>= 0.6'} core-util-is@1.0.2: @@ -4760,8 +4798,8 @@ packages: resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} engines: {node: '>= 6'} - cssstyle@4.0.1: - resolution: {integrity: sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==} + cssstyle@4.1.0: + resolution: {integrity: sha512-h66W1URKpBS5YMI/V8PyXvTMFT8SupJ1IzoIV8IeBC/ji8WVmrO8dGlTi+2dh6whmdk6BiKJLD/ZBkhWbcg6nA==} engines: {node: '>=18'} csstype@3.1.2: @@ -4799,8 +4837,8 @@ packages: debounce@1.2.1: resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} - debounce@2.1.0: - resolution: {integrity: sha512-OkL3+0pPWCqoBc/nhO9u6TIQNTK44fnBnzuVtJAbp13Naxw9R6u21x+8tVTka87AhDZ3htqZ2pSSsZl9fqL2Wg==} + debounce@2.2.0: + resolution: {integrity: sha512-Xks6RUDLZFdz8LIdR6q0MTH44k7FikOmnh5xkSjMig6ch45afc8sjTjRQf3P6ax8dMgcQrYO/AR2RGWURrruqw==} engines: {node: '>=18'} debug@2.6.9: @@ -4827,15 +4865,6 @@ packages: supports-color: optional: true - debug@4.3.5: - resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@4.3.7: resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} @@ -4845,10 +4874,6 @@ packages: supports-color: optional: true - decamelize@1.2.0: - resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} - engines: {node: '>=0.10.0'} - decamelize@4.0.0: resolution: {integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==} engines: {node: '>=10'} @@ -4874,10 +4899,6 @@ packages: deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - default-require-extensions@3.0.1: - resolution: {integrity: sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw==} - engines: {node: '>=8'} - defaults@1.0.4: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} @@ -4998,8 +5019,8 @@ packages: resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} engines: {node: '>= 4'} - dompurify@2.5.6: - resolution: {integrity: sha512-zUTaUBO8pY4+iJMPE1B9XlO2tXVYIcEA4SNGtvDELzTSCQO7RzH+j7S180BmhmJId78lqGU2z19vgVx2Sxs/PQ==} + dompurify@2.5.7: + resolution: {integrity: sha512-2q4bEI+coQM8f5ez7kt2xclg1XsecaV9ASJk/54vwlfRRNQfDqJz2pzQ8t0Ix/ToBpXlVjrRIx7pFC/o8itG2Q==} domutils@3.1.0: resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} @@ -5034,16 +5055,16 @@ packages: engines: {node: '>=0.10.0'} hasBin: true - electron-to-chromium@1.4.807: - resolution: {integrity: sha512-kSmJl2ZwhNf/bcIuCH/imtNOKlpkLDn2jqT5FJ+/0CXjhnFaOa9cOe9gHKKy71eM49izwuQjZhKk+lWQ1JxB7A==} + electron-to-chromium@1.5.49: + resolution: {integrity: sha512-ZXfs1Of8fDb6z7WEYZjXpgIRF6MEu8JdeGA0A40aZq6OQbS+eJpnnV49epZRna2DU/YsEjSQuGtQPPtvt6J65A==} electron@28.3.1: resolution: {integrity: sha512-aF9fONuhVDJlctJS7YOw76ynxVAQdfIWmlhRMKits24tDcdSL0eMHUS0wWYiRfGWbQnUKB6V49Rf17o32f4/fg==} engines: {node: '>= 12.20.55'} hasBin: true - emoji-regex@10.3.0: - resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} + emoji-regex@10.4.0: + resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -5059,21 +5080,24 @@ packages: resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} engines: {node: '>= 0.8'} + encoding-sniffer@0.2.0: + resolution: {integrity: sha512-ju7Wq1kg04I3HtiYIOrUrdfdDvkyO9s5XM8QAj/bN61Yo/Vb4vgJxy5vi4Yxk01gWHbrofpPtpxM8bKger9jhg==} + encoding@0.1.13: resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - engine.io-client@6.5.4: - resolution: {integrity: sha512-GeZeeRjpD2qf49cZQ0Wvh/8NJNfeXkXXcoGh+F77oEAgo9gUHwT1fCRxSNU+YEEaysOJTnsFHmM5oAcPy4ntvQ==} + engine.io-client@6.6.2: + resolution: {integrity: sha512-TAr+NKeoVTjEVW8P3iHguO1LO6RlUz9O5Y8o7EY0fU+gY1NYqas7NN3slpFtbXEsLMHk0h90fJMfKjRkQ0qUIw==} - engine.io-parser@5.2.2: - resolution: {integrity: sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw==} + engine.io-parser@5.2.3: + resolution: {integrity: sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==} engines: {node: '>=10.0.0'} - enhanced-resolve@5.17.0: - resolution: {integrity: sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==} + enhanced-resolve@5.17.1: + resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} engines: {node: '>=10.13.0'} enquirer@2.4.1: @@ -5091,6 +5115,10 @@ packages: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} + environment@1.1.0: + resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} + engines: {node: '>=18'} + err-code@2.0.3: resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} @@ -5147,8 +5175,8 @@ packages: engines: {node: '>=12'} hasBin: true - escalade@3.1.2: - resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} escape-html@1.0.3: @@ -5225,8 +5253,8 @@ packages: peerDependencies: eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 - eslint-plugin-jsx-a11y@6.10.1: - resolution: {integrity: sha512-zHByM9WTUMnfsDTafGXRiqxp6lFtNoSOWBY6FonVRn3A+BUwN1L/tdBXT40BcBJi0cZjOGTXZ0eD/rTG9fEJ0g==} + eslint-plugin-jsx-a11y@6.10.2: + resolution: {integrity: sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==} engines: {node: '>=4.0'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 @@ -5341,8 +5369,8 @@ packages: peerDependencies: express: ^4.0.0 || ^5.0.0-alpha.1 - express@4.21.0: - resolution: {integrity: sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==} + express@4.21.1: + resolution: {integrity: sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==} engines: {node: '>= 0.10.0'} extend@3.0.2: @@ -5383,8 +5411,8 @@ packages: fast-sort@3.4.0: resolution: {integrity: sha512-c/cMBGA5mH3OYjaXedtLIM3hQjv+KuZuiD2QEH5GofNOZeQVDIYIN7Okc2AW1KPhk44g5PTZnXp8t2lOMl8qhQ==} - fast-xml-parser@4.2.5: - resolution: {integrity: sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==} + fast-xml-parser@4.4.1: + resolution: {integrity: sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==} hasBin: true fast-xml-parser@4.5.0: @@ -5433,10 +5461,6 @@ packages: resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} engines: {node: '>= 0.8'} - find-cache-dir@3.3.2: - resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} - engines: {node: '>=8'} - find-index@0.1.1: resolution: {integrity: sha512-uJ5vWrfBKMcE6y2Z8834dwEZj9mNGxYa3t3I53OwFeuZ8D9oc2E5zcsrkuhX6h4iYrjhiv0T3szQmxlAV9uxDg==} @@ -5465,8 +5489,8 @@ packages: flatted@3.3.1: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} - follow-redirects@1.15.6: - resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} + follow-redirects@1.15.9: + resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -5477,12 +5501,8 @@ packages: for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - foreground-child@2.0.0: - resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==} - engines: {node: '>=8.0.0'} - - foreground-child@3.2.1: - resolution: {integrity: sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==} + foreground-child@3.3.0: + resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} engines: {node: '>=14'} forever-agent@0.6.1: @@ -5492,16 +5512,16 @@ packages: resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} engines: {node: '>= 0.12'} - form-data@2.5.1: - resolution: {integrity: sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==} + form-data@2.5.2: + resolution: {integrity: sha512-GgwY0PS7DbXqajuGf4OYlsrIu3zgxD6Vvql43IBhm6MahqA5SK/7mwhtNj2AdH2z35YR34ujJ7BN+3fFC3jP5Q==} engines: {node: '>= 0.12'} - form-data@3.0.1: - resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==} + form-data@3.0.2: + resolution: {integrity: sha512-sJe+TQb2vIaIyO783qN6BlMYWMw3WBOHA1Ay2qxsnjuafEOQFJ2JakedOQirT6D5XPRxDvS7AHYyem9fTpb4LQ==} engines: {node: '>= 6'} - form-data@4.0.0: - resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + form-data@4.0.1: + resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==} engines: {node: '>= 6'} forwarded@0.2.0: @@ -5584,8 +5604,8 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - get-east-asian-width@1.2.0: - resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} + get-east-asian-width@1.3.0: + resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==} engines: {node: '>=18'} get-func-name@2.0.2: @@ -5673,9 +5693,8 @@ packages: resolution: {integrity: sha512-ZyqlgowMbfj2NPjxaZZ/EtsXlOch28FRXgMd64vqZWk1bT9+wvSRLYD1om9M7QfQru51zJPAT17qXm4/zd+9QA==} engines: {node: '>= 0.10'} - glob@10.4.2: - resolution: {integrity: sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==} - engines: {node: '>=16 || 14 >=14.18'} + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} hasBin: true glob@11.0.0: @@ -5696,11 +5715,11 @@ packages: resolution: {integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==} engines: {node: '>=10.0'} - global-jsdom@24.0.0: - resolution: {integrity: sha512-CARBUWkqZ3O9VOc2PIVE5kQpdQeJh9eF9kQ7zSeNtmqx5vAFDKMr9XnDt1epVMMrz1s9uK/yFCa4HLwpa6TcPA==} + global-jsdom@25.0.0: + resolution: {integrity: sha512-Y8dUX6R5Aw5/cutvBY8ofSs2TJyHC3WVGAQGIhCeWlIpKjYcydh3APbxQaeKSfrawVO/YUQ0MAFJfjQDOPVY8Q==} engines: {node: '>=18'} peerDependencies: - jsdom: '>=24 <25' + jsdom: '>=25 <26' globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} @@ -5778,10 +5797,6 @@ packages: resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==} engines: {node: '>= 0.4.0'} - hasha@5.2.2: - resolution: {integrity: sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==} - engines: {node: '>=8'} - hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -5817,8 +5832,8 @@ packages: html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - htmlparser2@8.0.2: - resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + htmlparser2@9.1.0: + resolution: {integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==} http-cache-semantics@4.1.1: resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} @@ -5851,8 +5866,8 @@ packages: resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} engines: {node: '>= 6'} - https-proxy-agent@7.0.4: - resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==} + https-proxy-agent@7.0.5: + resolution: {integrity: sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==} engines: {node: '>= 14'} human-id@1.0.2: @@ -5904,8 +5919,8 @@ packages: resolution: {integrity: sha512-VuuG0wCnjhnylG1ABXT3dAuIpTNDs/G8jlpmwXY03fXoXy/8ZK8/T+hMzt8L4WnrLCJgdybqgPagnF/f97cg3A==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - ignore@5.3.1: - resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} immer@10.0.4: @@ -5914,8 +5929,8 @@ packages: immer@9.0.6: resolution: {integrity: sha512-G95ivKpy+EvVAnAab4fVa4YGYn24J1SpEktnJX7JJ45Bd7xqME/SCplFzYFmTbrkwZbQ4xJK1xMTUYBkN6pWsQ==} - immutable@4.3.6: - resolution: {integrity: sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ==} + immutable@4.3.7: + resolution: {integrity: sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==} import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} @@ -5950,6 +5965,10 @@ packages: ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + ini@4.1.3: + resolution: {integrity: sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + ink@4.4.1: resolution: {integrity: sha512-rXckvqPBB0Krifk5rn/5LvQGmyXwCUpBfmTwbkQNBY9JY8RSl3b8OftBNEYxg4+SWUhEKcPifgope28uL9inlA==} engines: {node: '>=14.16'} @@ -6022,9 +6041,6 @@ packages: resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} hasBin: true - is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} - is-core-module@2.15.1: resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} engines: {node: '>= 0.4'} @@ -6099,6 +6115,10 @@ packages: resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} engines: {node: '>=0.10.0'} + is-plain-obj@1.1.0: + resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} + engines: {node: '>=0.10.0'} + is-plain-obj@2.1.0: resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} engines: {node: '>=8'} @@ -6140,10 +6160,6 @@ packages: resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} engines: {node: '>=0.10.0'} - is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - is-stream@3.0.0: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -6229,26 +6245,10 @@ packages: resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} engines: {node: '>=8'} - istanbul-lib-hook@3.0.0: - resolution: {integrity: sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==} - engines: {node: '>=8'} - - istanbul-lib-instrument@6.0.3: - resolution: {integrity: sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==} - engines: {node: '>=10'} - - istanbul-lib-processinfo@2.0.3: - resolution: {integrity: sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==} - engines: {node: '>=8'} - istanbul-lib-report@3.0.1: resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} engines: {node: '>=10'} - istanbul-lib-source-maps@4.0.1: - resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} - engines: {node: '>=10'} - istanbul-reports@3.1.7: resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} engines: {node: '>=8'} @@ -6257,16 +6257,15 @@ packages: resolution: {integrity: sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ==} engines: {node: '>= 0.4'} - jackspeak@3.4.0: - resolution: {integrity: sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==} - engines: {node: '>=14'} + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} - jackspeak@4.0.1: - resolution: {integrity: sha512-cub8rahkh0Q/bw1+GxP7aeSe29hHHn2V4m29nnDlvCdlgU+3UGxkZp7Z53jLUdpX3jdTO0nJZUDl3xvbWc2Xog==} + jackspeak@4.0.2: + resolution: {integrity: sha512-bZsjR/iRjl1Nk1UkjGpAzLNfQtzuijhn2g+pbZb98HQ1Gk8vM9hfbxeMBP+M2/UUdwj0RqGG3mlvk2MsAqwvEw==} engines: {node: 20 || >=22} - jake@10.9.1: - resolution: {integrity: sha512-61btcOHNnLnsOdtLgA5efqQWjnSi/vow5HbI7HMdKKWqvrKR1bLK3BPlJn9gcSaP2ewuamUSMB5XEy76KUIS2w==} + jake@10.9.2: + resolution: {integrity: sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==} engines: {node: '>=10'} hasBin: true @@ -6292,8 +6291,8 @@ packages: joi@17.13.3: resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==} - jotai@2.8.3: - resolution: {integrity: sha512-pR4plVvdbzB6zyt7VLLHPMAkcRSKhRIvZKd+qkifQLa3CEziEo1uwZjePj4acTmQrboiISBlYSdCz3gWcr1Nkg==} + jotai@2.10.1: + resolution: {integrity: sha512-4FycO+BOTl2auLyF2Chvi6KTDqdsdDDtpaL/WHQMs8f3KS1E3loiUShQzAzFA/sMU5cJ0hz/RT1xum9YbG/zaA==} engines: {node: '>=12.20.0'} peerDependencies: '@types/react': '>=17.0.0' @@ -6328,8 +6327,8 @@ packages: resolution: {integrity: sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==} engines: {node: '>=12.0.0'} - jsdom@24.1.0: - resolution: {integrity: sha512-6gpM7pRXCwIOKxX47cgOyvyQDN/Eh0f1MeKySBV2xGdKtqJBLj8P25eY3EVCWo2mglDDzozR2r2MW4T+JiNUZA==} + jsdom@25.0.1: + resolution: {integrity: sha512-8i7LzZj7BF8uplX+ZyOlIz86V6TAsSs+np6m1kpW9u0JWi4z/1t+FzcK1aek+ybTnAC4KhBL4uXCNT0wcUIeCw==} engines: {node: '>=18'} peerDependencies: canvas: ^2.11.2 @@ -6337,9 +6336,9 @@ packages: canvas: optional: true - jsesc@2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} + jsesc@3.0.2: + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} hasBin: true json-bigint@1.0.0: @@ -6379,8 +6378,8 @@ packages: engines: {node: '>=6'} hasBin: true - jsonc-parser@3.2.1: - resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} + jsonc-parser@3.3.1: + resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} @@ -6461,8 +6460,8 @@ packages: engines: {node: '>=18.12.0'} hasBin: true - listr2@8.2.3: - resolution: {integrity: sha512-Lllokma2mtoniUOS94CcOErHWAug5iu7HOmDrvWgpw8jyQH2fomgB+7lZS4HWZxytUuQwkGOwe49FvwVaA85Xw==} + listr2@8.2.5: + resolution: {integrity: sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ==} engines: {node: '>=18.0.0'} load-json-file@4.0.0: @@ -6493,9 +6492,6 @@ packages: lodash.flatten@4.4.0: resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==} - lodash.flattendeep@4.4.0: - resolution: {integrity: sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==} - lodash.get@4.4.2: resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} @@ -6543,8 +6539,8 @@ packages: resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} engines: {node: '>=10'} - log-update@6.0.0: - resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==} + log-update@6.1.0: + resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==} engines: {node: '>=18'} long@5.2.3: @@ -6561,12 +6557,11 @@ packages: resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} engines: {node: '>=8'} - lru-cache@10.2.2: - resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} - engines: {node: 14 || >=16.14} + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - lru-cache@11.0.0: - resolution: {integrity: sha512-Qv32eSV1RSCfhY3fpPE2GNZ8jgM9X7rdAfemLWqTUxwiyIC4jJ6Sy0fZ8H+oLWevO6i4/bizg7c8d8i6bxrzbA==} + lru-cache@11.0.1: + resolution: {integrity: sha512-CgeuL5uom6j/ZVrg7G/+1IXqRY8JXX4Hghfy5YE0EhoYQWvndP1kufu58cmZLNIDKnRhZrXfdS9urVWx98AipQ==} engines: {node: 20 || >=22} lru-cache@4.1.5: @@ -6586,10 +6581,6 @@ packages: resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} hasBin: true - make-dir@3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} - make-dir@4.0.0: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} @@ -6662,8 +6653,8 @@ packages: micro-memoize@4.1.2: resolution: {integrity: sha512-+HzcV2H+rbSJzApgkj0NdTakkC+bnyeiUxgT6/m7mjcz1CmM22KYFKp+EVj1sWe4UYcnriJr5uqHQD/gMHLD+g==} - micromatch@4.0.7: - resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} mime-db@1.52.0: @@ -6687,6 +6678,10 @@ packages: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} + mimic-function@5.0.1: + resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} + engines: {node: '>=18'} + mimic-response@1.0.1: resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} engines: {node: '>=4'} @@ -6709,8 +6704,8 @@ packages: resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} engines: {node: '>=10'} - minimatch@9.0.4: - resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} minimist@1.2.8: @@ -6728,8 +6723,8 @@ packages: resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} engines: {node: '>= 8'} - minipass-json-stream@1.0.1: - resolution: {integrity: sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==} + minipass-json-stream@1.0.2: + resolution: {integrity: sha512-myxeeTm57lYs8pH2nxPzmEEg8DGIgW+9mv6D4JZD2pa81I/OBjeU7PtICXV6c9eRGTA5JMDsuIPUZRCyBMYNhg==} minipass-pipeline@1.2.4: resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} @@ -6778,8 +6773,8 @@ packages: peerDependencies: mocha: '>=2.2.5' - mocha@10.6.0: - resolution: {integrity: sha512-hxjt4+EEB0SA0ZDygSS015t65lJw/I2yRCS3Ae+SJ5FrbzrXgfYwJr96f0OvIXdj7h4lv/vLCrH3rkiuizFSvw==} + mocha@10.7.3: + resolution: {integrity: sha512-uQWxAu44wwiACGqjbPYmjo7Lg8sFrS3dQe7PP2FQI+woptP4vZXSMcfMyFL/e1yFEeEpV4RtyTpZROOKmxis+A==} engines: {node: '>= 14.0.0'} hasBin: true @@ -6806,9 +6801,6 @@ packages: ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -6819,8 +6811,8 @@ packages: mute-stream@0.0.8: resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} - nan@2.20.0: - resolution: {integrity: sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw==} + nan@2.22.0: + resolution: {integrity: sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw==} nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} @@ -6843,11 +6835,15 @@ packages: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} engines: {node: '>= 0.6'} + negotiator@0.6.4: + resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==} + engines: {node: '>= 0.6'} + nice-try@1.0.5: resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} - nise@6.0.0: - resolution: {integrity: sha512-K8ePqo9BFvN31HXwEtTNGzgrPpmvgciDsFz8aztFjt4LqKO/JeFD8tBOeuDiCMXrIl/m1YvfH8auSpxfaD09wg==} + nise@6.1.1: + resolution: {integrity: sha512-aMSAzLVY7LyeM60gvBS423nBmIPP+Wy7St7hsb+8/fc1HmeoHJfLO8CKse4u3BtOZvQLJghYPI2i/1WZrEj5/g==} node-fetch@2.6.7: resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} @@ -6858,29 +6854,16 @@ packages: encoding: optional: true - node-fetch@2.7.0: - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - - node-gyp@10.1.0: - resolution: {integrity: sha512-B4J5M1cABxPc5PwfjhbV5hoy2DP9p8lFXASnEN6hugXOa61416tnTZ29x9sSwAd0o99XNIcpvDDy1swAExsVKA==} + node-gyp@10.2.0: + resolution: {integrity: sha512-sp3FonBAaFe4aYTcFdZUn2NYkbP7xroPGYvQmP4Nl5PxamznItBnNCgjrVTKrEfQynInMsJvZrdmqUnysCJ8rw==} engines: {node: ^16.14.0 || >=18.0.0} hasBin: true node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} - node-preload@0.2.1: - resolution: {integrity: sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==} - engines: {node: '>=8'} - - node-releases@2.0.14: - resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + node-releases@2.0.18: + resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} node-source-walk@6.0.2: resolution: {integrity: sha512-jn9vOIK/nfqoFCcpK89/VCVaLg1IHE6UVfDOzvqmANaJ/rWCTEdH8RZ1V278nv2jr36BJdyQXIAavBLXpzdlag==} @@ -6894,8 +6877,8 @@ packages: normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} - normalize-package-data@6.0.1: - resolution: {integrity: sha512-6rvCfeRW+OEZagAB4lMLSNuTNYZWLVtKccK79VSTf//yTY5VOCgcpH80O+bZK8Neps7pUnd5G+QlMg1yV/2iZQ==} + normalize-package-data@6.0.2: + resolution: {integrity: sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==} engines: {node: ^16.14.0 || >=18.0.0} normalize-path@3.0.0: @@ -6918,16 +6901,16 @@ packages: resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - npm-package-arg@11.0.2: - resolution: {integrity: sha512-IGN0IAwmhDJwy13Wc8k+4PEbTPhpJnMtfR53ZbOyjkvmEcLS4nCwp6mvMWjS5sUjeiW3mpx6cHmuhKEu9XmcQw==} + npm-package-arg@11.0.3: + resolution: {integrity: sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==} engines: {node: ^16.14.0 || >=18.0.0} npm-packlist@8.0.2: resolution: {integrity: sha512-shYrPFIS/JLP4oQmAwDyk5HcyysKW8/JLTEA32S0Z5TzvpaeeX2yMFfoK1fjEBnCBvVyIB/Jj/GBFdm0wsgzbA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - npm-pick-manifest@9.0.1: - resolution: {integrity: sha512-Udm1f0l2nXb3wxDpKjfohwgdFUSV50UVwzEIpDXVsbDMXVIEF81a/i0UhuQbhrPMMmdiq3+YMFLFIRVLs3hxQw==} + npm-pick-manifest@9.1.0: + resolution: {integrity: sha512-nkc+3pIIhqHVQr085X9d2JzPzLyjzQS96zbruppqC9aZRm/x8xx6xhI98gHtsfELP2bE+loHq8ZaHFHhe+NauA==} engines: {node: ^16.14.0 || >=18.0.0} npm-registry-fetch@16.2.1: @@ -6950,13 +6933,8 @@ packages: nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} - nwsapi@2.2.10: - resolution: {integrity: sha512-QK0sRs7MKv0tKe1+5uZIQk/C8XGza4DAnztJG8iD+TpJIORARrCxczA738awHrZoHeTjSSoHqao2teO0dC/gFQ==} - - nyc@17.0.0: - resolution: {integrity: sha512-ISp44nqNCaPugLLGGfknzQwSwt10SSS5IMoPR7GLoMAyS18Iw5js8U7ga2VF9lYuMZ42gOHr3UddZw4WZltxKg==} - engines: {node: '>=18'} - hasBin: true + nwsapi@2.2.13: + resolution: {integrity: sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ==} oauth-sign@0.9.0: resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==} @@ -6977,8 +6955,9 @@ packages: resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} engines: {node: '>= 6'} - object-inspect@1.13.1: - resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + object-inspect@1.13.2: + resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} + engines: {node: '>= 0.4'} object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} @@ -7023,6 +7002,10 @@ packages: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} engines: {node: '>=12'} + onetime@7.0.0: + resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} + engines: {node: '>=18'} + open@7.4.2: resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} engines: {node: '>=8'} @@ -7090,10 +7073,6 @@ packages: resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} engines: {node: '>=6'} - p-map@3.0.0: - resolution: {integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==} - engines: {node: '>=8'} - p-map@4.0.0: resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} engines: {node: '>=10'} @@ -7106,12 +7085,8 @@ packages: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} - package-hash@4.0.0: - resolution: {integrity: sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==} - engines: {node: '>=8'} - - package-json-from-dist@1.0.0: - resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} pacote@17.0.7: resolution: {integrity: sha512-sgvnoUMlkv9xHwDUKjKQFXVyUi8dtJGKp3vg6sYy+TxbDic5RjZCHF3ygv0EJgNRZ2GfRONjlKPUfokJ9lDpwQ==} @@ -7139,11 +7114,14 @@ packages: parse-url@8.1.0: resolution: {integrity: sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==} - parse5-htmlparser2-tree-adapter@7.0.0: - resolution: {integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==} + parse5-htmlparser2-tree-adapter@7.1.0: + resolution: {integrity: sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==} - parse5@7.1.2: - resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + parse5-parser-stream@7.1.2: + resolution: {integrity: sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==} + + parse5@7.2.1: + resolution: {integrity: sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==} parseurl@1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} @@ -7190,8 +7168,9 @@ packages: path-to-regexp@0.1.10: resolution: {integrity: sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==} - path-to-regexp@6.2.2: - resolution: {integrity: sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==} + path-to-regexp@8.2.0: + resolution: {integrity: sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==} + engines: {node: '>=16'} path-type@3.0.0: resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} @@ -7210,8 +7189,8 @@ packages: performance-now@2.1.0: resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} - picocolors@1.0.1: - resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} @@ -7257,6 +7236,10 @@ packages: resolution: {integrity: sha512-8LI5ZeCPBEb4uBbcYKNVwk4jgqNx1yHReWoW4H4uUihWlSqZsUDfSITrRhjliuPgxsNPFhNSudGO2Zu4cbWinQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + polite-json@5.0.0: + resolution: {integrity: sha512-OLS/0XeUAcE8a2fdwemNja+udKgXNnY6yKVIXqAD2zVRx1KvY6Ato/rZ2vdzbxqYwPW0u6SCNC/bAMPNzpzxbw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + possible-typed-array-names@1.0.0: resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} engines: {node: '>= 0.4'} @@ -7267,8 +7250,8 @@ packages: peerDependencies: postcss: ^8.2.9 - postcss@8.4.38: - resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + postcss@8.4.47: + resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} engines: {node: ^10 || ^12 || >=14} posthog-node@3.6.3: @@ -7280,8 +7263,8 @@ packages: engines: {node: ^14.14.0 || >=16.0.0} hasBin: true - preferred-pm@3.1.3: - resolution: {integrity: sha512-MkXsENfftWSRpzCzImcp4FRsCc3y1opwB73CfCNWyzMqArju2CrlMHlqB7VexKiPEOjGMbttv1r9fSCn5S610w==} + preferred-pm@3.1.4: + resolution: {integrity: sha512-lEHd+yEm22jXdCphDrkvIJQU66EuLojPPtvZkpKIkiD+l0DMThF/niqZKJSoU8Vl7iuvtmzyMhir9LdVy5WMnA==} engines: {node: '>=10'} prelude-ls@1.2.1: @@ -7319,10 +7302,6 @@ packages: resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} engines: {node: '>=6'} - proc-log@3.0.0: - resolution: {integrity: sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - proc-log@4.2.0: resolution: {integrity: sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -7334,10 +7313,6 @@ packages: resolution: {integrity: sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==} engines: {node: '>=8'} - process@0.11.10: - resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} - engines: {node: '>= 0.6.0'} - progress@2.0.3: resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} engines: {node: '>=0.4.0'} @@ -7361,8 +7336,8 @@ packages: prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} - protobufjs@7.3.2: - resolution: {integrity: sha512-RXyHaACeqXeqAKGLDl68rQKbmObRsTIn4TYVUUug1KfS47YWCo5MacGITEryugIgZqORCvJWEk4l449POg5Txg==} + protobufjs@7.4.0: + resolution: {integrity: sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw==} engines: {node: '>=12.0.0'} protocols@2.0.1: @@ -7381,8 +7356,8 @@ packages: psl@1.9.0: resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} - pump@3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + pump@3.0.2: + resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} punycode@1.3.2: resolution: {integrity: sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==} @@ -7396,6 +7371,7 @@ packages: engines: {node: '>=0.6.0', teleport: '>=0.2.0'} deprecated: |- You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other. + (For a CapTP with native promises, see @endo/eventual-send and @endo/captp) qs@6.13.0: @@ -7417,6 +7393,10 @@ packages: queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + quibble@0.9.2: + resolution: {integrity: sha512-BrL7hrZcbyyt5ZDfePkGFDc3m82uUtxCPOnpRUrkOdtBnmV9ldQKxXORkKL8eIzToRNaCpIPyKyfdfq/tBlFAA==} + engines: {node: '>= 0.14.0'} + quick-lru@5.1.1: resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} engines: {node: '>=10'} @@ -7578,14 +7558,10 @@ packages: regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - regexp.prototype.flags@1.5.2: - resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} + regexp.prototype.flags@1.5.3: + resolution: {integrity: sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==} engines: {node: '>= 0.4'} - release-zalgo@1.0.0: - resolution: {integrity: sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==} - engines: {node: '>=4'} - request@2.88.2: resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==} engines: {node: '>= 6'} @@ -7599,13 +7575,10 @@ packages: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} - require-in-the-middle@7.3.0: - resolution: {integrity: sha512-nQFEv9gRw6SJAwWD2LrL0NmQvAcO7FBwJbwmr2ttPAacfy0xuiOjE5zt+zM4xDyuyvUaxBi/9gb2SoCyNEVJcw==} + require-in-the-middle@7.4.0: + resolution: {integrity: sha512-X34iHADNbNDfr6OTStIAHWSAvvKQRYgLO6duASaVf7J2VA3lvmNYboAHOuLC2huav1IwgZJtyEcJCKVzFxOSMQ==} engines: {node: '>=8.6.0'} - require-main-filename@2.0.0: - resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} - requireindex@1.1.0: resolution: {integrity: sha512-LBnkqsDE7BZKvqylbmn7lTIVdpx4K/QCduRATpO5R+wtPmky/a8pN1bO2D6wXppn1497AJF9mNjqAXr6bdl9jg==} engines: {node: '>=0.10.5'} @@ -7614,8 +7587,8 @@ packages: resolution: {integrity: sha512-jnIre8cbWOyvr8a5F2KuqBnY+SDA4NXr/hzEZJG79Mxm2WiFQz2dzhC8ibtPJS7zkmBEl1mxSwp5HhC1W4qpxw==} engines: {node: '>=10.13.0'} - requirejs@2.3.6: - resolution: {integrity: sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg==} + requirejs@2.3.7: + resolution: {integrity: sha512-DouTG8T1WanGok6Qjg2SXuCMzszOo0eHeH9hDZ5Y4x8Je+9JB38HdTLT4/VA8OaUhBa0JPVHJ0pyBkM1z+pDsw==} engines: {node: '>=0.4.0'} hasBin: true @@ -7640,8 +7613,8 @@ packages: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} - resolve-import@1.4.5: - resolution: {integrity: sha512-HXb4YqODuuXT7Icq1Z++0g2JmhgbUHSs3VT2xR83gqvAPUikYT2Xk+562KHQgiaNkbBOlPddYrDLsC44qQggzw==} + resolve-import@1.4.6: + resolution: {integrity: sha512-CIw9e64QcKcCFUj9+KxUCJPy8hYofv6eVfo3U9wdhCm2E4IjvFnZ6G4/yIC4yP3f11+h6uU5b3LdS7O64LgqrA==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} resolve@1.22.8: @@ -7663,6 +7636,10 @@ packages: resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + restore-cursor@5.1.0: + resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} + engines: {node: '>=18'} + retry@0.12.0: resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} engines: {node: '>= 4'} @@ -7684,9 +7661,8 @@ packages: deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true - rimraf@5.0.5: - resolution: {integrity: sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==} - engines: {node: '>=14'} + rimraf@5.0.10: + resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==} hasBin: true rimraf@6.0.1: @@ -7698,14 +7674,11 @@ packages: resolution: {integrity: sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==} engines: {node: '>=8.0'} - rollup@4.18.0: - resolution: {integrity: sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==} + rollup@4.24.2: + resolution: {integrity: sha512-do/DFGq5g6rdDhdpPq5qb2ecoczeK6y+2UAjdJ5trjQJj5f1AiVdLRWRc9A9/fFukfvJRgM0UXzxBIYMovm5ww==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - rrweb-cssom@0.6.0: - resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==} - rrweb-cssom@0.7.1: resolution: {integrity: sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==} @@ -7756,9 +7729,6 @@ packages: sax@1.2.1: resolution: {integrity: sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==} - sax@1.4.1: - resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} - saxes@6.0.0: resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} engines: {node: '>=v12.22.7'} @@ -7788,11 +7758,6 @@ packages: engines: {node: '>=10'} hasBin: true - semver@7.6.2: - resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} - engines: {node: '>=10'} - hasBin: true - semver@7.6.3: resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} engines: {node: '>=10'} @@ -7813,9 +7778,6 @@ packages: resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} engines: {node: '>= 0.8.0'} - set-blocking@2.0.0: - resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} - set-function-length@1.2.2: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} @@ -7906,8 +7868,8 @@ packages: resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} - socket.io-client@4.7.5: - resolution: {integrity: sha512-sJ/tqHOCe7Z50JCBCXrsY3I2k03iOiUe+tj1OmKeD2lXPiGH/RUCdTZFoqVyN7l1MnpIzPrGtLcijffmeouNlQ==} + socket.io-client@4.8.1: + resolution: {integrity: sha512-hJVXfu3E28NmzGk8o1sHhN3om52tRvwYeidbj7xKy2eIIse5IoKX3USlS6Tqt3BHAtflLIkCQBkzVrEEfWUyYQ==} engines: {node: '>=10.0.0'} socket.io-parser@4.2.4: @@ -7917,16 +7879,16 @@ packages: socketio-wildcard@2.0.0: resolution: {integrity: sha512-Bf3ioZq15Z2yhFLDasRvbYitg82rwm+5AuER5kQvEQHhNFf4R4K5o/h57nEpN7A59T9FyRtTj34HZfMWAruw/A==} - socks-proxy-agent@8.0.3: - resolution: {integrity: sha512-VNegTZKhuGq5vSD6XNKlbqWhyt/40CgoEw8XxD6dhnm8Jq9IEa3nIa4HwnM8XOqU0CdB0BwWVXusqiFXfHB3+A==} + socks-proxy-agent@8.0.4: + resolution: {integrity: sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==} engines: {node: '>= 14'} socks@2.8.3: resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==} engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} - source-map-js@1.2.0: - resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} source-map-support@0.3.3: @@ -7940,10 +7902,6 @@ packages: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} - spawn-wrap@2.0.0: - resolution: {integrity: sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==} - engines: {node: '>=8'} - spawndamnit@2.0.0: resolution: {integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==} @@ -7959,8 +7917,8 @@ packages: spdx-expression-parse@4.0.0: resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==} - spdx-license-ids@3.0.18: - resolution: {integrity: sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==} + spdx-license-ids@3.0.20: + resolution: {integrity: sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==} sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} @@ -8008,8 +7966,8 @@ packages: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} engines: {node: '>=12'} - string-width@7.1.0: - resolution: {integrity: sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==} + string-width@7.2.0: + resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} engines: {node: '>=18'} string.prototype.includes@2.0.1: @@ -8044,6 +8002,10 @@ packages: string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + stringify-object-es5@2.5.0: + resolution: {integrity: sha512-vE7Xdx9ylG4JI16zy7/ObKUB+MtxuMcWlj/WHHr3+yAlQoN6sst2stU9E+2Qs3OrlJw/Pf3loWxL1GauEHf6MA==} + engines: {node: '>=0.10.0'} + stringify-object@3.3.0: resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} engines: {node: '>=4'} @@ -8060,10 +8022,6 @@ packages: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} - strip-bom@4.0.0: - resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} - engines: {node: '>=8'} - strip-eof@1.0.0: resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} engines: {node: '>=0.10.0'} @@ -8175,9 +8133,20 @@ packages: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} + test-exclude@7.0.1: + resolution: {integrity: sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==} + engines: {node: '>=18'} + + testdouble@3.20.2: + resolution: {integrity: sha512-790e9vJKdfddWNOaxW1/V9FcMk48cPEl3eJSj2i8Hh1fX89qArEJ6cp3DBnaECpGXc3xKJVWbc1jeNlWYWgiMg==} + engines: {node: '>= 16'} + text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + theredoc@1.0.0: + resolution: {integrity: sha512-KU3SA3TjRRM932jpNfD3u4Ec3bSvedyo5ITPI7zgWYnKep7BwQQaxlhI9qbO+lKJoRnoAbEVfMcAHRuKVYikDA==} + thrift@0.14.2: resolution: {integrity: sha512-bW8EaE6iw3hSt4HB2HpBdHW86Xpb9IUJfqufx4NwEu7OGuIpS0ISj+Yy1Z1Wvhfno6SPNhKRJ1qFXea84HcrOQ==} engines: {node: '>= 10.18.0'} @@ -8188,6 +8157,13 @@ packages: tippy.js@6.3.7: resolution: {integrity: sha512-E1d3oP2emgJ9dRQZdf3Kkn0qJgI6ZLpyS5z6ZkY1DF3kaQaBsGZsndEpHwx+eC+tYM41HaSNvNtLx8tU57FzTQ==} + tldts-core@6.1.57: + resolution: {integrity: sha512-lXnRhuQpx3zU9EONF9F7HfcRLvN1uRYUBIiKL+C/gehC/77XTU+Jye6ui86GA3rU6FjlJ0triD1Tkjt2F/2lEg==} + + tldts@6.1.57: + resolution: {integrity: sha512-Oy7yDXK8meJl8vPMOldzA+MtueAJ5BrH4l4HXwZuj2AtfoQbLjmTJmjNWPUcAo+E/ibHn7QlqMS0BOcXJFJyHQ==} + hasBin: true + tmp@0.0.33: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} @@ -8196,10 +8172,6 @@ packages: resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} engines: {node: '>=8.17.0'} - to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} - to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -8220,6 +8192,10 @@ packages: resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} engines: {node: '>=6'} + tough-cookie@5.0.0: + resolution: {integrity: sha512-FRKsF7cz96xIIeMZ82ehjC3xW2E+O2+v11udrDYewUbszngYhsGa8z6YUMMzO9QJZzzyd0nGGXnML/TReX6W8Q==} + engines: {node: '>=16'} + tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} @@ -8247,8 +8223,8 @@ packages: peerDependencies: typescript: '>=4.2.0' - ts-key-enum@2.0.12: - resolution: {integrity: sha512-Ety4IvKMaeG34AyXMp5r11XiVZNDRL+XWxXbVVJjLvq2vxKRttEANBE7Za1bxCAZRdH2/sZT6jFyyTWxXz28hw==} + ts-key-enum@2.0.13: + resolution: {integrity: sha512-zixs6j8+NhzazLUQ1SiFrlo1EFWG/DbqLuUGcWWZ5zhwjRT7kbi1hBlofxdqel+h28zrby2It5TrOyKp04kvqw==} ts-node@10.9.2: resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} @@ -8271,16 +8247,16 @@ packages: resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} engines: {node: '>=6'} - tshy@1.15.1: - resolution: {integrity: sha512-7p30vmXaNX7OL1yLy/MYUtO0SJOm9fQSnzk3DXaM+LmQosooCB4elVeHAGIIZdABhL2E8dx5t/5msR5lh0xnaQ==} + tshy@1.18.0: + resolution: {integrity: sha512-FQudIujBazHRu7CVPHKQE9/Xq1Wc7lezxD/FCnTXx2PTcnoSN32DVpb/ZXvzV2NJBTDB3XKjqX8Cdm+2UK1DlQ==} engines: {node: 16 >=16.17 || 18 >=18.15.0 || >=20.6.1} hasBin: true tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - tslib@2.6.3: - resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} + tslib@2.8.0: + resolution: {integrity: sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==} tsutils@3.21.0: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} @@ -8295,10 +8271,6 @@ packages: tunnel-agent@0.6.0: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} - tunnel@0.0.6: - resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==} - engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'} - tweetnacl@0.14.5: resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} @@ -8310,6 +8282,10 @@ packages: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} + type-detect@4.1.0: + resolution: {integrity: sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==} + engines: {node: '>=4'} + type-fest@0.12.0: resolution: {integrity: sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg==} engines: {node: '>=10'} @@ -8322,10 +8298,6 @@ packages: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} - type-fest@0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} - type-is@1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} @@ -8346,9 +8318,6 @@ packages: resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} engines: {node: '>= 0.4'} - typedarray-to-buffer@3.1.5: - resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} - typedoc-plugin-merge-modules@5.1.0: resolution: {integrity: sha512-jXH27L/wlxFjErgBXleh3opVgjVTXFEuBo68Yfl18S9Oh/IqxK6NV94jlEJ9hl4TXc9Zm2l7Rfk41CEkcCyvFQ==} peerDependencies: @@ -8389,6 +8358,10 @@ packages: undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + undici@6.20.1: + resolution: {integrity: sha512-AjQF1QsmqfJys+LXfGTNum+qw4S88CojRInG/6t31W/1fk6G59s92bnAvGz5Cmur+kQv2SURXEvvudLmbrE8QA==} + engines: {node: '>=18.17'} + unicode-trie@2.0.0: resolution: {integrity: sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==} @@ -8420,8 +8393,8 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - update-browserslist-db@1.0.16: - resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} + update-browserslist-db@1.1.1: + resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -8435,11 +8408,6 @@ packages: url@0.10.3: resolution: {integrity: sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==} - use-sync-external-store@1.2.0: - resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - use-sync-external-store@1.2.2: resolution: {integrity: sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==} peerDependencies: @@ -8482,8 +8450,8 @@ packages: v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - v8-to-istanbul@9.2.0: - resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} + v8-to-istanbul@9.3.0: + resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} engines: {node: '>=10.12.0'} validate-npm-package-license@3.0.4: @@ -8579,19 +8547,16 @@ packages: which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} - which-builtin-type@1.1.3: - resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} + which-builtin-type@1.1.4: + resolution: {integrity: sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==} engines: {node: '>= 0.4'} which-collection@1.0.2: resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} engines: {node: '>= 0.4'} - which-module@2.0.1: - resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} - - which-pm@2.0.0: - resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==} + which-pm@2.2.0: + resolution: {integrity: sha512-MOiaDbA5ZZgUjkeMWM5EkJp4loW5ZRoa5bc3/aeMox/PJelMhE6t7S/mLuiY43DBupyxH+S0U1bTui9kWUlmsw==} engines: {node: '>=8.15'} which-typed-array@1.1.15: @@ -8637,10 +8602,6 @@ packages: workspace-tools@0.36.4: resolution: {integrity: sha512-v0UFVvw9BjHtRu2Dau5PEJKkuG8u4jPlpXZQWjSz9XgbSutpPURqtO2P0hp3cVmQVATh8lkMFCewFgJuDnyC/w==} - wrap-ansi@6.2.0: - resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} - engines: {node: '>=8'} - wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} @@ -8656,9 +8617,6 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - write-file-atomic@3.0.3: - resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} - ws@5.2.4: resolution: {integrity: sha512-fFCejsuC8f9kOSu9FYaOw8CdO68O3h5v0lg4p74o8JqWpwTf9tniOD+nOB78aWoVSS6WptVUmDrp/KPsMVBWFQ==} peerDependencies: @@ -8694,18 +8652,26 @@ packages: utf-8-validate: optional: true - wtfnode@0.9.2: - resolution: {integrity: sha512-AzGy/MOGmzufyHDKHwuZeuqaqslGIPuwxDAhdmUUJ91Ak22Ynxry8quXNR/cZZIaSs5T+C+LNS3W9AcMzJXhMw==} + ws@8.18.0: + resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + wtfnode@0.9.3: + resolution: {integrity: sha512-MXjgxJovNVYUkD85JBZTKT5S5ng/e56sNuRZlid7HcGTNrIODa5UPtqE3i0daj7fJ2SGj5Um2VmiphQVyVKK5A==} hasBin: true xml-name-validator@5.0.0: resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} engines: {node: '>=18'} - xml2js@0.5.0: - resolution: {integrity: sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==} - engines: {node: '>=4.0.0'} - xml2js@0.6.2: resolution: {integrity: sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==} engines: {node: '>=4.0.0'} @@ -8720,13 +8686,10 @@ packages: xmlchars@2.2.0: resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} - xmlhttprequest-ssl@2.0.0: - resolution: {integrity: sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==} + xmlhttprequest-ssl@2.1.2: + resolution: {integrity: sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ==} engines: {node: '>=0.4.0'} - y18n@4.0.3: - resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} - y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} @@ -8754,9 +8717,10 @@ packages: engines: {node: '>= 14'} hasBin: true - yargs-parser@18.1.3: - resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} - engines: {node: '>=6'} + yaml@2.6.0: + resolution: {integrity: sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==} + engines: {node: '>= 14'} + hasBin: true yargs-parser@20.2.9: resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} @@ -8770,10 +8734,6 @@ packages: resolution: {integrity: sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==} engines: {node: '>=10'} - yargs@15.4.1: - resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} - engines: {node: '>=8'} - yargs@16.2.0: resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} engines: {node: '>=10'} @@ -8800,8 +8760,8 @@ packages: resolution: {integrity: sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==} engines: {node: '>= 10'} - zustand@4.5.2: - resolution: {integrity: sha512-2cN1tPkDVkwCy5ickKrI7vijSjPksFRfqS6237NzT0vqSsztTNnQdHw9mmN7uBdk3gceVXU0a+21jFzFzAc9+g==} + zustand@4.5.5: + resolution: {integrity: sha512-+0PALYNJNgK6hldkgDq2vLrw5f6g/jCInz52n9RTpropGgeAf/ioFUCdtsjCqu4gNhW9D01rUQBROoRjdzyn2Q==} engines: {node: '>=12.7.0'} peerDependencies: '@types/react': '>=16.8' @@ -8830,8 +8790,8 @@ snapshots: '@artilleryio/int-commons@2.6.0': dependencies: async: 2.6.4 - cheerio: 1.0.0-rc.12 - debug: 4.3.5(supports-color@8.1.1) + cheerio: 1.0.0 + debug: 4.3.7(supports-color@8.1.1) deep-for-each: 3.0.0 espree: 9.6.1 jsonpath-plus: 7.2.0 @@ -8848,10 +8808,10 @@ snapshots: arrivals: 2.1.2 async: 2.6.4 chalk: 2.4.2 - cheerio: 1.0.0-rc.12 - cookie-parser: 1.4.6 + cheerio: 1.0.0 + cookie-parser: 1.4.7 csv-parse: 4.16.3 - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.7(supports-color@8.1.1) decompress-response: 6.0.0 deep-for-each: 3.0.0 driftless: 2.0.3 @@ -8859,14 +8819,14 @@ snapshots: eventemitter3: 4.0.7 fast-deep-equal: 3.1.3 filtrex: 0.5.4 - form-data: 3.0.1 + form-data: 3.0.2 got: 11.8.6 hpagent: 0.1.2 https-proxy-agent: 5.0.1 lodash: 4.17.21 ms: 2.1.3 - protobufjs: 7.3.2 - socket.io-client: 4.7.5 + protobufjs: 7.4.0 + socket.io-client: 4.8.1 socketio-wildcard: 2.0.0 tough-cookie: 4.1.4 try-require: 1.2.1 @@ -8879,684 +8839,681 @@ snapshots: '@artilleryio/sketches-js@2.1.1': dependencies: - protobufjs: 7.3.2 + protobufjs: 7.4.0 '@aws-crypto/sha256-browser@5.2.0': dependencies: '@aws-crypto/sha256-js': 5.2.0 '@aws-crypto/supports-web-crypto': 5.2.0 '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.598.0 - '@aws-sdk/util-locate-window': 3.568.0 + '@aws-sdk/types': 3.679.0 + '@aws-sdk/util-locate-window': 3.679.0 '@smithy/util-utf8': 2.3.0 - tslib: 2.6.3 + tslib: 2.8.0 '@aws-crypto/sha256-js@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.598.0 - tslib: 2.6.3 + '@aws-sdk/types': 3.679.0 + tslib: 2.8.0 '@aws-crypto/supports-web-crypto@5.2.0': dependencies: - tslib: 2.6.3 + tslib: 2.8.0 '@aws-crypto/util@5.2.0': dependencies: - '@aws-sdk/types': 3.598.0 + '@aws-sdk/types': 3.679.0 '@smithy/util-utf8': 2.3.0 - tslib: 2.6.3 + tslib: 2.8.0 - '@aws-sdk/client-cloudwatch@3.600.0': + '@aws-sdk/client-cloudwatch@3.679.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sso-oidc': 3.600.0 - '@aws-sdk/client-sts': 3.600.0(@aws-sdk/client-sso-oidc@3.600.0) - '@aws-sdk/core': 3.598.0 - '@aws-sdk/credential-provider-node': 3.600.0(@aws-sdk/client-sso-oidc@3.600.0)(@aws-sdk/client-sts@3.600.0(@aws-sdk/client-sso-oidc@3.600.0)) - '@aws-sdk/middleware-host-header': 3.598.0 - '@aws-sdk/middleware-logger': 3.598.0 - '@aws-sdk/middleware-recursion-detection': 3.598.0 - '@aws-sdk/middleware-user-agent': 3.598.0 - '@aws-sdk/region-config-resolver': 3.598.0 - '@aws-sdk/types': 3.598.0 - '@aws-sdk/util-endpoints': 3.598.0 - '@aws-sdk/util-user-agent-browser': 3.598.0 - '@aws-sdk/util-user-agent-node': 3.598.0 - '@smithy/config-resolver': 3.0.3 - '@smithy/core': 2.2.3 - '@smithy/fetch-http-handler': 3.1.0 - '@smithy/hash-node': 3.0.2 - '@smithy/invalid-dependency': 3.0.2 - '@smithy/middleware-compression': 3.0.3 - '@smithy/middleware-content-length': 3.0.2 - '@smithy/middleware-endpoint': 3.0.3 - '@smithy/middleware-retry': 3.0.6 - '@smithy/middleware-serde': 3.0.2 - '@smithy/middleware-stack': 3.0.2 - '@smithy/node-config-provider': 3.1.2 - '@smithy/node-http-handler': 3.1.0 - '@smithy/protocol-http': 4.0.2 - '@smithy/smithy-client': 3.1.4 - '@smithy/types': 3.2.0 - '@smithy/url-parser': 3.0.2 + '@aws-sdk/client-sso-oidc': 3.679.0(@aws-sdk/client-sts@3.679.0) + '@aws-sdk/client-sts': 3.679.0 + '@aws-sdk/core': 3.679.0 + '@aws-sdk/credential-provider-node': 3.679.0(@aws-sdk/client-sso-oidc@3.679.0(@aws-sdk/client-sts@3.679.0))(@aws-sdk/client-sts@3.679.0) + '@aws-sdk/middleware-host-header': 3.679.0 + '@aws-sdk/middleware-logger': 3.679.0 + '@aws-sdk/middleware-recursion-detection': 3.679.0 + '@aws-sdk/middleware-user-agent': 3.679.0 + '@aws-sdk/region-config-resolver': 3.679.0 + '@aws-sdk/types': 3.679.0 + '@aws-sdk/util-endpoints': 3.679.0 + '@aws-sdk/util-user-agent-browser': 3.679.0 + '@aws-sdk/util-user-agent-node': 3.679.0 + '@smithy/config-resolver': 3.0.10 + '@smithy/core': 2.5.1 + '@smithy/fetch-http-handler': 3.2.9 + '@smithy/hash-node': 3.0.8 + '@smithy/invalid-dependency': 3.0.8 + '@smithy/middleware-compression': 3.1.1 + '@smithy/middleware-content-length': 3.0.10 + '@smithy/middleware-endpoint': 3.2.1 + '@smithy/middleware-retry': 3.0.25 + '@smithy/middleware-serde': 3.0.8 + '@smithy/middleware-stack': 3.0.8 + '@smithy/node-config-provider': 3.1.9 + '@smithy/node-http-handler': 3.2.5 + '@smithy/protocol-http': 4.1.5 + '@smithy/smithy-client': 3.4.2 + '@smithy/types': 3.6.0 + '@smithy/url-parser': 3.0.8 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.6 - '@smithy/util-defaults-mode-node': 3.0.6 - '@smithy/util-endpoints': 2.0.3 - '@smithy/util-middleware': 3.0.2 - '@smithy/util-retry': 3.0.2 + '@smithy/util-defaults-mode-browser': 3.0.25 + '@smithy/util-defaults-mode-node': 3.0.25 + '@smithy/util-endpoints': 2.1.4 + '@smithy/util-middleware': 3.0.8 + '@smithy/util-retry': 3.0.8 '@smithy/util-utf8': 3.0.0 - '@smithy/util-waiter': 3.1.0 - tslib: 2.6.3 + '@smithy/util-waiter': 3.1.7 + tslib: 2.8.0 transitivePeerDependencies: - aws-crt - '@aws-sdk/client-cognito-identity@3.600.0': + '@aws-sdk/client-cognito-identity@3.679.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sso-oidc': 3.600.0 - '@aws-sdk/client-sts': 3.600.0(@aws-sdk/client-sso-oidc@3.600.0) - '@aws-sdk/core': 3.598.0 - '@aws-sdk/credential-provider-node': 3.600.0(@aws-sdk/client-sso-oidc@3.600.0)(@aws-sdk/client-sts@3.600.0(@aws-sdk/client-sso-oidc@3.600.0)) - '@aws-sdk/middleware-host-header': 3.598.0 - '@aws-sdk/middleware-logger': 3.598.0 - '@aws-sdk/middleware-recursion-detection': 3.598.0 - '@aws-sdk/middleware-user-agent': 3.598.0 - '@aws-sdk/region-config-resolver': 3.598.0 - '@aws-sdk/types': 3.598.0 - '@aws-sdk/util-endpoints': 3.598.0 - '@aws-sdk/util-user-agent-browser': 3.598.0 - '@aws-sdk/util-user-agent-node': 3.598.0 - '@smithy/config-resolver': 3.0.3 - '@smithy/core': 2.2.3 - '@smithy/fetch-http-handler': 3.1.0 - '@smithy/hash-node': 3.0.2 - '@smithy/invalid-dependency': 3.0.2 - '@smithy/middleware-content-length': 3.0.2 - '@smithy/middleware-endpoint': 3.0.3 - '@smithy/middleware-retry': 3.0.6 - '@smithy/middleware-serde': 3.0.2 - '@smithy/middleware-stack': 3.0.2 - '@smithy/node-config-provider': 3.1.2 - '@smithy/node-http-handler': 3.1.0 - '@smithy/protocol-http': 4.0.2 - '@smithy/smithy-client': 3.1.4 - '@smithy/types': 3.2.0 - '@smithy/url-parser': 3.0.2 + '@aws-sdk/client-sso-oidc': 3.679.0(@aws-sdk/client-sts@3.679.0) + '@aws-sdk/client-sts': 3.679.0 + '@aws-sdk/core': 3.679.0 + '@aws-sdk/credential-provider-node': 3.679.0(@aws-sdk/client-sso-oidc@3.679.0(@aws-sdk/client-sts@3.679.0))(@aws-sdk/client-sts@3.679.0) + '@aws-sdk/middleware-host-header': 3.679.0 + '@aws-sdk/middleware-logger': 3.679.0 + '@aws-sdk/middleware-recursion-detection': 3.679.0 + '@aws-sdk/middleware-user-agent': 3.679.0 + '@aws-sdk/region-config-resolver': 3.679.0 + '@aws-sdk/types': 3.679.0 + '@aws-sdk/util-endpoints': 3.679.0 + '@aws-sdk/util-user-agent-browser': 3.679.0 + '@aws-sdk/util-user-agent-node': 3.679.0 + '@smithy/config-resolver': 3.0.10 + '@smithy/core': 2.5.1 + '@smithy/fetch-http-handler': 3.2.9 + '@smithy/hash-node': 3.0.8 + '@smithy/invalid-dependency': 3.0.8 + '@smithy/middleware-content-length': 3.0.10 + '@smithy/middleware-endpoint': 3.2.1 + '@smithy/middleware-retry': 3.0.25 + '@smithy/middleware-serde': 3.0.8 + '@smithy/middleware-stack': 3.0.8 + '@smithy/node-config-provider': 3.1.9 + '@smithy/node-http-handler': 3.2.5 + '@smithy/protocol-http': 4.1.5 + '@smithy/smithy-client': 3.4.2 + '@smithy/types': 3.6.0 + '@smithy/url-parser': 3.0.8 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.6 - '@smithy/util-defaults-mode-node': 3.0.6 - '@smithy/util-endpoints': 2.0.3 - '@smithy/util-middleware': 3.0.2 - '@smithy/util-retry': 3.0.2 + '@smithy/util-defaults-mode-browser': 3.0.25 + '@smithy/util-defaults-mode-node': 3.0.25 + '@smithy/util-endpoints': 2.1.4 + '@smithy/util-middleware': 3.0.8 + '@smithy/util-retry': 3.0.8 '@smithy/util-utf8': 3.0.0 - tslib: 2.6.3 + tslib: 2.8.0 transitivePeerDependencies: - aws-crt - '@aws-sdk/client-sso-oidc@3.600.0': + '@aws-sdk/client-sso-oidc@3.679.0(@aws-sdk/client-sts@3.679.0)': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sts': 3.600.0(@aws-sdk/client-sso-oidc@3.600.0) - '@aws-sdk/core': 3.598.0 - '@aws-sdk/credential-provider-node': 3.600.0(@aws-sdk/client-sso-oidc@3.600.0)(@aws-sdk/client-sts@3.600.0(@aws-sdk/client-sso-oidc@3.600.0)) - '@aws-sdk/middleware-host-header': 3.598.0 - '@aws-sdk/middleware-logger': 3.598.0 - '@aws-sdk/middleware-recursion-detection': 3.598.0 - '@aws-sdk/middleware-user-agent': 3.598.0 - '@aws-sdk/region-config-resolver': 3.598.0 - '@aws-sdk/types': 3.598.0 - '@aws-sdk/util-endpoints': 3.598.0 - '@aws-sdk/util-user-agent-browser': 3.598.0 - '@aws-sdk/util-user-agent-node': 3.598.0 - '@smithy/config-resolver': 3.0.3 - '@smithy/core': 2.2.3 - '@smithy/fetch-http-handler': 3.1.0 - '@smithy/hash-node': 3.0.2 - '@smithy/invalid-dependency': 3.0.2 - '@smithy/middleware-content-length': 3.0.2 - '@smithy/middleware-endpoint': 3.0.3 - '@smithy/middleware-retry': 3.0.6 - '@smithy/middleware-serde': 3.0.2 - '@smithy/middleware-stack': 3.0.2 - '@smithy/node-config-provider': 3.1.2 - '@smithy/node-http-handler': 3.1.0 - '@smithy/protocol-http': 4.0.2 - '@smithy/smithy-client': 3.1.4 - '@smithy/types': 3.2.0 - '@smithy/url-parser': 3.0.2 + '@aws-sdk/client-sts': 3.679.0 + '@aws-sdk/core': 3.679.0 + '@aws-sdk/credential-provider-node': 3.679.0(@aws-sdk/client-sso-oidc@3.679.0(@aws-sdk/client-sts@3.679.0))(@aws-sdk/client-sts@3.679.0) + '@aws-sdk/middleware-host-header': 3.679.0 + '@aws-sdk/middleware-logger': 3.679.0 + '@aws-sdk/middleware-recursion-detection': 3.679.0 + '@aws-sdk/middleware-user-agent': 3.679.0 + '@aws-sdk/region-config-resolver': 3.679.0 + '@aws-sdk/types': 3.679.0 + '@aws-sdk/util-endpoints': 3.679.0 + '@aws-sdk/util-user-agent-browser': 3.679.0 + '@aws-sdk/util-user-agent-node': 3.679.0 + '@smithy/config-resolver': 3.0.10 + '@smithy/core': 2.5.1 + '@smithy/fetch-http-handler': 3.2.9 + '@smithy/hash-node': 3.0.8 + '@smithy/invalid-dependency': 3.0.8 + '@smithy/middleware-content-length': 3.0.10 + '@smithy/middleware-endpoint': 3.2.1 + '@smithy/middleware-retry': 3.0.25 + '@smithy/middleware-serde': 3.0.8 + '@smithy/middleware-stack': 3.0.8 + '@smithy/node-config-provider': 3.1.9 + '@smithy/node-http-handler': 3.2.5 + '@smithy/protocol-http': 4.1.5 + '@smithy/smithy-client': 3.4.2 + '@smithy/types': 3.6.0 + '@smithy/url-parser': 3.0.8 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.6 - '@smithy/util-defaults-mode-node': 3.0.6 - '@smithy/util-endpoints': 2.0.3 - '@smithy/util-middleware': 3.0.2 - '@smithy/util-retry': 3.0.2 + '@smithy/util-defaults-mode-browser': 3.0.25 + '@smithy/util-defaults-mode-node': 3.0.25 + '@smithy/util-endpoints': 2.1.4 + '@smithy/util-middleware': 3.0.8 + '@smithy/util-retry': 3.0.8 '@smithy/util-utf8': 3.0.0 - tslib: 2.6.3 + tslib: 2.8.0 transitivePeerDependencies: - aws-crt - '@aws-sdk/client-sso@3.598.0': + '@aws-sdk/client-sso@3.679.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.598.0 - '@aws-sdk/middleware-host-header': 3.598.0 - '@aws-sdk/middleware-logger': 3.598.0 - '@aws-sdk/middleware-recursion-detection': 3.598.0 - '@aws-sdk/middleware-user-agent': 3.598.0 - '@aws-sdk/region-config-resolver': 3.598.0 - '@aws-sdk/types': 3.598.0 - '@aws-sdk/util-endpoints': 3.598.0 - '@aws-sdk/util-user-agent-browser': 3.598.0 - '@aws-sdk/util-user-agent-node': 3.598.0 - '@smithy/config-resolver': 3.0.3 - '@smithy/core': 2.2.3 - '@smithy/fetch-http-handler': 3.1.0 - '@smithy/hash-node': 3.0.2 - '@smithy/invalid-dependency': 3.0.2 - '@smithy/middleware-content-length': 3.0.2 - '@smithy/middleware-endpoint': 3.0.3 - '@smithy/middleware-retry': 3.0.6 - '@smithy/middleware-serde': 3.0.2 - '@smithy/middleware-stack': 3.0.2 - '@smithy/node-config-provider': 3.1.2 - '@smithy/node-http-handler': 3.1.0 - '@smithy/protocol-http': 4.0.2 - '@smithy/smithy-client': 3.1.4 - '@smithy/types': 3.2.0 - '@smithy/url-parser': 3.0.2 + '@aws-sdk/core': 3.679.0 + '@aws-sdk/middleware-host-header': 3.679.0 + '@aws-sdk/middleware-logger': 3.679.0 + '@aws-sdk/middleware-recursion-detection': 3.679.0 + '@aws-sdk/middleware-user-agent': 3.679.0 + '@aws-sdk/region-config-resolver': 3.679.0 + '@aws-sdk/types': 3.679.0 + '@aws-sdk/util-endpoints': 3.679.0 + '@aws-sdk/util-user-agent-browser': 3.679.0 + '@aws-sdk/util-user-agent-node': 3.679.0 + '@smithy/config-resolver': 3.0.10 + '@smithy/core': 2.5.1 + '@smithy/fetch-http-handler': 3.2.9 + '@smithy/hash-node': 3.0.8 + '@smithy/invalid-dependency': 3.0.8 + '@smithy/middleware-content-length': 3.0.10 + '@smithy/middleware-endpoint': 3.2.1 + '@smithy/middleware-retry': 3.0.25 + '@smithy/middleware-serde': 3.0.8 + '@smithy/middleware-stack': 3.0.8 + '@smithy/node-config-provider': 3.1.9 + '@smithy/node-http-handler': 3.2.5 + '@smithy/protocol-http': 4.1.5 + '@smithy/smithy-client': 3.4.2 + '@smithy/types': 3.6.0 + '@smithy/url-parser': 3.0.8 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.6 - '@smithy/util-defaults-mode-node': 3.0.6 - '@smithy/util-endpoints': 2.0.3 - '@smithy/util-middleware': 3.0.2 - '@smithy/util-retry': 3.0.2 + '@smithy/util-defaults-mode-browser': 3.0.25 + '@smithy/util-defaults-mode-node': 3.0.25 + '@smithy/util-endpoints': 2.1.4 + '@smithy/util-middleware': 3.0.8 + '@smithy/util-retry': 3.0.8 '@smithy/util-utf8': 3.0.0 - tslib: 2.6.3 + tslib: 2.8.0 transitivePeerDependencies: - aws-crt - '@aws-sdk/client-sts@3.600.0(@aws-sdk/client-sso-oidc@3.600.0)': + '@aws-sdk/client-sts@3.679.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sso-oidc': 3.600.0 - '@aws-sdk/core': 3.598.0 - '@aws-sdk/credential-provider-node': 3.600.0(@aws-sdk/client-sso-oidc@3.600.0)(@aws-sdk/client-sts@3.600.0(@aws-sdk/client-sso-oidc@3.600.0)) - '@aws-sdk/middleware-host-header': 3.598.0 - '@aws-sdk/middleware-logger': 3.598.0 - '@aws-sdk/middleware-recursion-detection': 3.598.0 - '@aws-sdk/middleware-user-agent': 3.598.0 - '@aws-sdk/region-config-resolver': 3.598.0 - '@aws-sdk/types': 3.598.0 - '@aws-sdk/util-endpoints': 3.598.0 - '@aws-sdk/util-user-agent-browser': 3.598.0 - '@aws-sdk/util-user-agent-node': 3.598.0 - '@smithy/config-resolver': 3.0.3 - '@smithy/core': 2.2.3 - '@smithy/fetch-http-handler': 3.1.0 - '@smithy/hash-node': 3.0.2 - '@smithy/invalid-dependency': 3.0.2 - '@smithy/middleware-content-length': 3.0.2 - '@smithy/middleware-endpoint': 3.0.3 - '@smithy/middleware-retry': 3.0.6 - '@smithy/middleware-serde': 3.0.2 - '@smithy/middleware-stack': 3.0.2 - '@smithy/node-config-provider': 3.1.2 - '@smithy/node-http-handler': 3.1.0 - '@smithy/protocol-http': 4.0.2 - '@smithy/smithy-client': 3.1.4 - '@smithy/types': 3.2.0 - '@smithy/url-parser': 3.0.2 + '@aws-sdk/client-sso-oidc': 3.679.0(@aws-sdk/client-sts@3.679.0) + '@aws-sdk/core': 3.679.0 + '@aws-sdk/credential-provider-node': 3.679.0(@aws-sdk/client-sso-oidc@3.679.0(@aws-sdk/client-sts@3.679.0))(@aws-sdk/client-sts@3.679.0) + '@aws-sdk/middleware-host-header': 3.679.0 + '@aws-sdk/middleware-logger': 3.679.0 + '@aws-sdk/middleware-recursion-detection': 3.679.0 + '@aws-sdk/middleware-user-agent': 3.679.0 + '@aws-sdk/region-config-resolver': 3.679.0 + '@aws-sdk/types': 3.679.0 + '@aws-sdk/util-endpoints': 3.679.0 + '@aws-sdk/util-user-agent-browser': 3.679.0 + '@aws-sdk/util-user-agent-node': 3.679.0 + '@smithy/config-resolver': 3.0.10 + '@smithy/core': 2.5.1 + '@smithy/fetch-http-handler': 3.2.9 + '@smithy/hash-node': 3.0.8 + '@smithy/invalid-dependency': 3.0.8 + '@smithy/middleware-content-length': 3.0.10 + '@smithy/middleware-endpoint': 3.2.1 + '@smithy/middleware-retry': 3.0.25 + '@smithy/middleware-serde': 3.0.8 + '@smithy/middleware-stack': 3.0.8 + '@smithy/node-config-provider': 3.1.9 + '@smithy/node-http-handler': 3.2.5 + '@smithy/protocol-http': 4.1.5 + '@smithy/smithy-client': 3.4.2 + '@smithy/types': 3.6.0 + '@smithy/url-parser': 3.0.8 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.6 - '@smithy/util-defaults-mode-node': 3.0.6 - '@smithy/util-endpoints': 2.0.3 - '@smithy/util-middleware': 3.0.2 - '@smithy/util-retry': 3.0.2 + '@smithy/util-defaults-mode-browser': 3.0.25 + '@smithy/util-defaults-mode-node': 3.0.25 + '@smithy/util-endpoints': 2.1.4 + '@smithy/util-middleware': 3.0.8 + '@smithy/util-retry': 3.0.8 '@smithy/util-utf8': 3.0.0 - tslib: 2.6.3 + tslib: 2.8.0 transitivePeerDependencies: - - '@aws-sdk/client-sso-oidc' - aws-crt - '@aws-sdk/core@3.598.0': - dependencies: - '@smithy/core': 2.2.3 - '@smithy/protocol-http': 4.0.2 - '@smithy/signature-v4': 3.1.1 - '@smithy/smithy-client': 3.1.4 - '@smithy/types': 3.2.0 - fast-xml-parser: 4.2.5 - tslib: 2.6.3 - - '@aws-sdk/credential-provider-cognito-identity@3.600.0': - dependencies: - '@aws-sdk/client-cognito-identity': 3.600.0 - '@aws-sdk/types': 3.598.0 - '@smithy/property-provider': 3.1.2 - '@smithy/types': 3.2.0 - tslib: 2.6.3 + '@aws-sdk/core@3.679.0': + dependencies: + '@aws-sdk/types': 3.679.0 + '@smithy/core': 2.5.1 + '@smithy/node-config-provider': 3.1.9 + '@smithy/property-provider': 3.1.8 + '@smithy/protocol-http': 4.1.5 + '@smithy/signature-v4': 4.2.1 + '@smithy/smithy-client': 3.4.2 + '@smithy/types': 3.6.0 + '@smithy/util-middleware': 3.0.8 + fast-xml-parser: 4.4.1 + tslib: 2.8.0 + + '@aws-sdk/credential-provider-cognito-identity@3.679.0': + dependencies: + '@aws-sdk/client-cognito-identity': 3.679.0 + '@aws-sdk/types': 3.679.0 + '@smithy/property-provider': 3.1.8 + '@smithy/types': 3.6.0 + tslib: 2.8.0 transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-env@3.598.0': - dependencies: - '@aws-sdk/types': 3.598.0 - '@smithy/property-provider': 3.1.2 - '@smithy/types': 3.2.0 - tslib: 2.6.3 - - '@aws-sdk/credential-provider-http@3.598.0': - dependencies: - '@aws-sdk/types': 3.598.0 - '@smithy/fetch-http-handler': 3.1.0 - '@smithy/node-http-handler': 3.1.0 - '@smithy/property-provider': 3.1.2 - '@smithy/protocol-http': 4.0.2 - '@smithy/smithy-client': 3.1.4 - '@smithy/types': 3.2.0 - '@smithy/util-stream': 3.0.4 - tslib: 2.6.3 - - '@aws-sdk/credential-provider-ini@3.598.0(@aws-sdk/client-sso-oidc@3.600.0)(@aws-sdk/client-sts@3.600.0(@aws-sdk/client-sso-oidc@3.600.0))': - dependencies: - '@aws-sdk/client-sts': 3.600.0(@aws-sdk/client-sso-oidc@3.600.0) - '@aws-sdk/credential-provider-env': 3.598.0 - '@aws-sdk/credential-provider-http': 3.598.0 - '@aws-sdk/credential-provider-process': 3.598.0 - '@aws-sdk/credential-provider-sso': 3.598.0(@aws-sdk/client-sso-oidc@3.600.0) - '@aws-sdk/credential-provider-web-identity': 3.598.0(@aws-sdk/client-sts@3.600.0(@aws-sdk/client-sso-oidc@3.600.0)) - '@aws-sdk/types': 3.598.0 - '@smithy/credential-provider-imds': 3.1.2 - '@smithy/property-provider': 3.1.2 - '@smithy/shared-ini-file-loader': 3.1.2 - '@smithy/types': 3.2.0 - tslib: 2.6.3 + '@aws-sdk/credential-provider-env@3.679.0': + dependencies: + '@aws-sdk/core': 3.679.0 + '@aws-sdk/types': 3.679.0 + '@smithy/property-provider': 3.1.8 + '@smithy/types': 3.6.0 + tslib: 2.8.0 + + '@aws-sdk/credential-provider-http@3.679.0': + dependencies: + '@aws-sdk/core': 3.679.0 + '@aws-sdk/types': 3.679.0 + '@smithy/fetch-http-handler': 3.2.9 + '@smithy/node-http-handler': 3.2.5 + '@smithy/property-provider': 3.1.8 + '@smithy/protocol-http': 4.1.5 + '@smithy/smithy-client': 3.4.2 + '@smithy/types': 3.6.0 + '@smithy/util-stream': 3.2.1 + tslib: 2.8.0 + + '@aws-sdk/credential-provider-ini@3.679.0(@aws-sdk/client-sso-oidc@3.679.0(@aws-sdk/client-sts@3.679.0))(@aws-sdk/client-sts@3.679.0)': + dependencies: + '@aws-sdk/client-sts': 3.679.0 + '@aws-sdk/core': 3.679.0 + '@aws-sdk/credential-provider-env': 3.679.0 + '@aws-sdk/credential-provider-http': 3.679.0 + '@aws-sdk/credential-provider-process': 3.679.0 + '@aws-sdk/credential-provider-sso': 3.679.0(@aws-sdk/client-sso-oidc@3.679.0(@aws-sdk/client-sts@3.679.0)) + '@aws-sdk/credential-provider-web-identity': 3.679.0(@aws-sdk/client-sts@3.679.0) + '@aws-sdk/types': 3.679.0 + '@smithy/credential-provider-imds': 3.2.5 + '@smithy/property-provider': 3.1.8 + '@smithy/shared-ini-file-loader': 3.1.9 + '@smithy/types': 3.6.0 + tslib: 2.8.0 transitivePeerDependencies: - '@aws-sdk/client-sso-oidc' - aws-crt - '@aws-sdk/credential-provider-node@3.600.0(@aws-sdk/client-sso-oidc@3.600.0)(@aws-sdk/client-sts@3.600.0(@aws-sdk/client-sso-oidc@3.600.0))': - dependencies: - '@aws-sdk/credential-provider-env': 3.598.0 - '@aws-sdk/credential-provider-http': 3.598.0 - '@aws-sdk/credential-provider-ini': 3.598.0(@aws-sdk/client-sso-oidc@3.600.0)(@aws-sdk/client-sts@3.600.0(@aws-sdk/client-sso-oidc@3.600.0)) - '@aws-sdk/credential-provider-process': 3.598.0 - '@aws-sdk/credential-provider-sso': 3.598.0(@aws-sdk/client-sso-oidc@3.600.0) - '@aws-sdk/credential-provider-web-identity': 3.598.0(@aws-sdk/client-sts@3.600.0(@aws-sdk/client-sso-oidc@3.600.0)) - '@aws-sdk/types': 3.598.0 - '@smithy/credential-provider-imds': 3.1.2 - '@smithy/property-provider': 3.1.2 - '@smithy/shared-ini-file-loader': 3.1.2 - '@smithy/types': 3.2.0 - tslib: 2.6.3 + '@aws-sdk/credential-provider-node@3.679.0(@aws-sdk/client-sso-oidc@3.679.0(@aws-sdk/client-sts@3.679.0))(@aws-sdk/client-sts@3.679.0)': + dependencies: + '@aws-sdk/credential-provider-env': 3.679.0 + '@aws-sdk/credential-provider-http': 3.679.0 + '@aws-sdk/credential-provider-ini': 3.679.0(@aws-sdk/client-sso-oidc@3.679.0(@aws-sdk/client-sts@3.679.0))(@aws-sdk/client-sts@3.679.0) + '@aws-sdk/credential-provider-process': 3.679.0 + '@aws-sdk/credential-provider-sso': 3.679.0(@aws-sdk/client-sso-oidc@3.679.0(@aws-sdk/client-sts@3.679.0)) + '@aws-sdk/credential-provider-web-identity': 3.679.0(@aws-sdk/client-sts@3.679.0) + '@aws-sdk/types': 3.679.0 + '@smithy/credential-provider-imds': 3.2.5 + '@smithy/property-provider': 3.1.8 + '@smithy/shared-ini-file-loader': 3.1.9 + '@smithy/types': 3.6.0 + tslib: 2.8.0 transitivePeerDependencies: - '@aws-sdk/client-sso-oidc' - '@aws-sdk/client-sts' - aws-crt - '@aws-sdk/credential-provider-process@3.598.0': - dependencies: - '@aws-sdk/types': 3.598.0 - '@smithy/property-provider': 3.1.2 - '@smithy/shared-ini-file-loader': 3.1.2 - '@smithy/types': 3.2.0 - tslib: 2.6.3 - - '@aws-sdk/credential-provider-sso@3.598.0(@aws-sdk/client-sso-oidc@3.600.0)': - dependencies: - '@aws-sdk/client-sso': 3.598.0 - '@aws-sdk/token-providers': 3.598.0(@aws-sdk/client-sso-oidc@3.600.0) - '@aws-sdk/types': 3.598.0 - '@smithy/property-provider': 3.1.2 - '@smithy/shared-ini-file-loader': 3.1.2 - '@smithy/types': 3.2.0 - tslib: 2.6.3 + '@aws-sdk/credential-provider-process@3.679.0': + dependencies: + '@aws-sdk/core': 3.679.0 + '@aws-sdk/types': 3.679.0 + '@smithy/property-provider': 3.1.8 + '@smithy/shared-ini-file-loader': 3.1.9 + '@smithy/types': 3.6.0 + tslib: 2.8.0 + + '@aws-sdk/credential-provider-sso@3.679.0(@aws-sdk/client-sso-oidc@3.679.0(@aws-sdk/client-sts@3.679.0))': + dependencies: + '@aws-sdk/client-sso': 3.679.0 + '@aws-sdk/core': 3.679.0 + '@aws-sdk/token-providers': 3.679.0(@aws-sdk/client-sso-oidc@3.679.0(@aws-sdk/client-sts@3.679.0)) + '@aws-sdk/types': 3.679.0 + '@smithy/property-provider': 3.1.8 + '@smithy/shared-ini-file-loader': 3.1.9 + '@smithy/types': 3.6.0 + tslib: 2.8.0 transitivePeerDependencies: - '@aws-sdk/client-sso-oidc' - aws-crt - '@aws-sdk/credential-provider-web-identity@3.598.0(@aws-sdk/client-sts@3.600.0(@aws-sdk/client-sso-oidc@3.600.0))': - dependencies: - '@aws-sdk/client-sts': 3.600.0(@aws-sdk/client-sso-oidc@3.600.0) - '@aws-sdk/types': 3.598.0 - '@smithy/property-provider': 3.1.2 - '@smithy/types': 3.2.0 - tslib: 2.6.3 - - '@aws-sdk/credential-providers@3.600.0(@aws-sdk/client-sso-oidc@3.600.0)': - dependencies: - '@aws-sdk/client-cognito-identity': 3.600.0 - '@aws-sdk/client-sso': 3.598.0 - '@aws-sdk/client-sts': 3.600.0(@aws-sdk/client-sso-oidc@3.600.0) - '@aws-sdk/credential-provider-cognito-identity': 3.600.0 - '@aws-sdk/credential-provider-env': 3.598.0 - '@aws-sdk/credential-provider-http': 3.598.0 - '@aws-sdk/credential-provider-ini': 3.598.0(@aws-sdk/client-sso-oidc@3.600.0)(@aws-sdk/client-sts@3.600.0(@aws-sdk/client-sso-oidc@3.600.0)) - '@aws-sdk/credential-provider-node': 3.600.0(@aws-sdk/client-sso-oidc@3.600.0)(@aws-sdk/client-sts@3.600.0(@aws-sdk/client-sso-oidc@3.600.0)) - '@aws-sdk/credential-provider-process': 3.598.0 - '@aws-sdk/credential-provider-sso': 3.598.0(@aws-sdk/client-sso-oidc@3.600.0) - '@aws-sdk/credential-provider-web-identity': 3.598.0(@aws-sdk/client-sts@3.600.0(@aws-sdk/client-sso-oidc@3.600.0)) - '@aws-sdk/types': 3.598.0 - '@smithy/credential-provider-imds': 3.1.2 - '@smithy/property-provider': 3.1.2 - '@smithy/types': 3.2.0 - tslib: 2.6.3 + '@aws-sdk/credential-provider-web-identity@3.679.0(@aws-sdk/client-sts@3.679.0)': + dependencies: + '@aws-sdk/client-sts': 3.679.0 + '@aws-sdk/core': 3.679.0 + '@aws-sdk/types': 3.679.0 + '@smithy/property-provider': 3.1.8 + '@smithy/types': 3.6.0 + tslib: 2.8.0 + + '@aws-sdk/credential-providers@3.679.0(@aws-sdk/client-sso-oidc@3.679.0(@aws-sdk/client-sts@3.679.0))': + dependencies: + '@aws-sdk/client-cognito-identity': 3.679.0 + '@aws-sdk/client-sso': 3.679.0 + '@aws-sdk/client-sts': 3.679.0 + '@aws-sdk/core': 3.679.0 + '@aws-sdk/credential-provider-cognito-identity': 3.679.0 + '@aws-sdk/credential-provider-env': 3.679.0 + '@aws-sdk/credential-provider-http': 3.679.0 + '@aws-sdk/credential-provider-ini': 3.679.0(@aws-sdk/client-sso-oidc@3.679.0(@aws-sdk/client-sts@3.679.0))(@aws-sdk/client-sts@3.679.0) + '@aws-sdk/credential-provider-node': 3.679.0(@aws-sdk/client-sso-oidc@3.679.0(@aws-sdk/client-sts@3.679.0))(@aws-sdk/client-sts@3.679.0) + '@aws-sdk/credential-provider-process': 3.679.0 + '@aws-sdk/credential-provider-sso': 3.679.0(@aws-sdk/client-sso-oidc@3.679.0(@aws-sdk/client-sts@3.679.0)) + '@aws-sdk/credential-provider-web-identity': 3.679.0(@aws-sdk/client-sts@3.679.0) + '@aws-sdk/types': 3.679.0 + '@smithy/credential-provider-imds': 3.2.5 + '@smithy/property-provider': 3.1.8 + '@smithy/types': 3.6.0 + tslib: 2.8.0 transitivePeerDependencies: - '@aws-sdk/client-sso-oidc' - aws-crt - '@aws-sdk/middleware-host-header@3.598.0': + '@aws-sdk/middleware-host-header@3.679.0': dependencies: - '@aws-sdk/types': 3.598.0 - '@smithy/protocol-http': 4.0.2 - '@smithy/types': 3.2.0 - tslib: 2.6.3 + '@aws-sdk/types': 3.679.0 + '@smithy/protocol-http': 4.1.5 + '@smithy/types': 3.6.0 + tslib: 2.8.0 - '@aws-sdk/middleware-logger@3.598.0': + '@aws-sdk/middleware-logger@3.679.0': dependencies: - '@aws-sdk/types': 3.598.0 - '@smithy/types': 3.2.0 - tslib: 2.6.3 + '@aws-sdk/types': 3.679.0 + '@smithy/types': 3.6.0 + tslib: 2.8.0 - '@aws-sdk/middleware-recursion-detection@3.598.0': + '@aws-sdk/middleware-recursion-detection@3.679.0': dependencies: - '@aws-sdk/types': 3.598.0 - '@smithy/protocol-http': 4.0.2 - '@smithy/types': 3.2.0 - tslib: 2.6.3 + '@aws-sdk/types': 3.679.0 + '@smithy/protocol-http': 4.1.5 + '@smithy/types': 3.6.0 + tslib: 2.8.0 - '@aws-sdk/middleware-user-agent@3.598.0': + '@aws-sdk/middleware-user-agent@3.679.0': dependencies: - '@aws-sdk/types': 3.598.0 - '@aws-sdk/util-endpoints': 3.598.0 - '@smithy/protocol-http': 4.0.2 - '@smithy/types': 3.2.0 - tslib: 2.6.3 + '@aws-sdk/core': 3.679.0 + '@aws-sdk/types': 3.679.0 + '@aws-sdk/util-endpoints': 3.679.0 + '@smithy/core': 2.5.1 + '@smithy/protocol-http': 4.1.5 + '@smithy/types': 3.6.0 + tslib: 2.8.0 - '@aws-sdk/region-config-resolver@3.598.0': + '@aws-sdk/region-config-resolver@3.679.0': dependencies: - '@aws-sdk/types': 3.598.0 - '@smithy/node-config-provider': 3.1.2 - '@smithy/types': 3.2.0 + '@aws-sdk/types': 3.679.0 + '@smithy/node-config-provider': 3.1.9 + '@smithy/types': 3.6.0 '@smithy/util-config-provider': 3.0.0 - '@smithy/util-middleware': 3.0.2 - tslib: 2.6.3 + '@smithy/util-middleware': 3.0.8 + tslib: 2.8.0 - '@aws-sdk/token-providers@3.598.0(@aws-sdk/client-sso-oidc@3.600.0)': + '@aws-sdk/token-providers@3.679.0(@aws-sdk/client-sso-oidc@3.679.0(@aws-sdk/client-sts@3.679.0))': dependencies: - '@aws-sdk/client-sso-oidc': 3.600.0 - '@aws-sdk/types': 3.598.0 - '@smithy/property-provider': 3.1.2 - '@smithy/shared-ini-file-loader': 3.1.2 - '@smithy/types': 3.2.0 - tslib: 2.6.3 + '@aws-sdk/client-sso-oidc': 3.679.0(@aws-sdk/client-sts@3.679.0) + '@aws-sdk/types': 3.679.0 + '@smithy/property-provider': 3.1.8 + '@smithy/shared-ini-file-loader': 3.1.9 + '@smithy/types': 3.6.0 + tslib: 2.8.0 - '@aws-sdk/types@3.598.0': + '@aws-sdk/types@3.679.0': dependencies: - '@smithy/types': 3.2.0 - tslib: 2.6.3 + '@smithy/types': 3.6.0 + tslib: 2.8.0 - '@aws-sdk/util-endpoints@3.598.0': + '@aws-sdk/util-endpoints@3.679.0': dependencies: - '@aws-sdk/types': 3.598.0 - '@smithy/types': 3.2.0 - '@smithy/util-endpoints': 2.0.3 - tslib: 2.6.3 + '@aws-sdk/types': 3.679.0 + '@smithy/types': 3.6.0 + '@smithy/util-endpoints': 2.1.4 + tslib: 2.8.0 - '@aws-sdk/util-locate-window@3.568.0': + '@aws-sdk/util-locate-window@3.679.0': dependencies: - tslib: 2.6.3 + tslib: 2.8.0 - '@aws-sdk/util-user-agent-browser@3.598.0': + '@aws-sdk/util-user-agent-browser@3.679.0': dependencies: - '@aws-sdk/types': 3.598.0 - '@smithy/types': 3.2.0 + '@aws-sdk/types': 3.679.0 + '@smithy/types': 3.6.0 bowser: 2.11.0 - tslib: 2.6.3 + tslib: 2.8.0 + + '@aws-sdk/util-user-agent-node@3.679.0': + dependencies: + '@aws-sdk/middleware-user-agent': 3.679.0 + '@aws-sdk/types': 3.679.0 + '@smithy/node-config-provider': 3.1.9 + '@smithy/types': 3.6.0 + tslib: 2.8.0 - '@aws-sdk/util-user-agent-node@3.598.0': + '@azure/abort-controller@2.1.2': dependencies: - '@aws-sdk/types': 3.598.0 - '@smithy/node-config-provider': 3.1.2 - '@smithy/types': 3.2.0 - tslib: 2.6.3 + tslib: 2.8.0 - '@azure/abort-controller@1.1.0': + '@azure/core-auth@1.9.0': dependencies: - tslib: 2.6.3 + '@azure/abort-controller': 2.1.2 + '@azure/core-util': 1.11.0 + tslib: 2.8.0 - '@azure/abort-controller@2.1.2': + '@azure/core-client@1.9.2': dependencies: - tslib: 2.6.3 + '@azure/abort-controller': 2.1.2 + '@azure/core-auth': 1.9.0 + '@azure/core-rest-pipeline': 1.17.0 + '@azure/core-tracing': 1.2.0 + '@azure/core-util': 1.11.0 + '@azure/logger': 1.1.4 + tslib: 2.8.0 + transitivePeerDependencies: + - supports-color - '@azure/core-auth@1.7.2': + '@azure/core-http-compat@2.1.2': dependencies: '@azure/abort-controller': 2.1.2 - '@azure/core-util': 1.9.0 - tslib: 2.6.3 - - '@azure/core-http@3.0.4(encoding@0.1.13)': - dependencies: - '@azure/abort-controller': 1.1.0 - '@azure/core-auth': 1.7.2 - '@azure/core-tracing': 1.0.0-preview.13 - '@azure/core-util': 1.9.0 - '@azure/logger': 1.1.2 - '@types/node-fetch': 2.6.11 - '@types/tunnel': 0.0.3 - form-data: 4.0.0 - node-fetch: 2.7.0(encoding@0.1.13) - process: 0.11.10 - tslib: 2.6.3 - tunnel: 0.0.6 - uuid: 8.3.2 - xml2js: 0.5.0 + '@azure/core-client': 1.9.2 + '@azure/core-rest-pipeline': 1.17.0 transitivePeerDependencies: - - encoding + - supports-color '@azure/core-lro@2.7.2': dependencies: '@azure/abort-controller': 2.1.2 - '@azure/core-util': 1.9.0 - '@azure/logger': 1.1.2 - tslib: 2.6.3 + '@azure/core-util': 1.11.0 + '@azure/logger': 1.1.4 + tslib: 2.8.0 - '@azure/core-paging@1.5.0': + '@azure/core-paging@1.6.2': dependencies: - tslib: 2.6.3 + tslib: 2.8.0 - '@azure/core-tracing@1.0.0-preview.13': + '@azure/core-rest-pipeline@1.17.0': dependencies: - '@opentelemetry/api': 1.9.0 - tslib: 2.6.3 + '@azure/abort-controller': 2.1.2 + '@azure/core-auth': 1.9.0 + '@azure/core-tracing': 1.2.0 + '@azure/core-util': 1.11.0 + '@azure/logger': 1.1.4 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.5 + tslib: 2.8.0 + transitivePeerDependencies: + - supports-color + + '@azure/core-tracing@1.2.0': + dependencies: + tslib: 2.8.0 - '@azure/core-util@1.9.0': + '@azure/core-util@1.11.0': dependencies: '@azure/abort-controller': 2.1.2 - tslib: 2.6.3 + tslib: 2.8.0 - '@azure/logger@1.1.2': + '@azure/core-xml@1.4.4': dependencies: - tslib: 2.6.3 + fast-xml-parser: 4.5.0 + tslib: 2.8.0 - '@azure/storage-blob@12.17.0(encoding@0.1.13)': + '@azure/logger@1.1.4': dependencies: - '@azure/abort-controller': 1.1.0 - '@azure/core-http': 3.0.4(encoding@0.1.13) + tslib: 2.8.0 + + '@azure/storage-blob@12.25.0': + dependencies: + '@azure/abort-controller': 2.1.2 + '@azure/core-auth': 1.9.0 + '@azure/core-client': 1.9.2 + '@azure/core-http-compat': 2.1.2 '@azure/core-lro': 2.7.2 - '@azure/core-paging': 1.5.0 - '@azure/core-tracing': 1.0.0-preview.13 - '@azure/logger': 1.1.2 + '@azure/core-paging': 1.6.2 + '@azure/core-rest-pipeline': 1.17.0 + '@azure/core-tracing': 1.2.0 + '@azure/core-util': 1.11.0 + '@azure/core-xml': 1.4.4 + '@azure/logger': 1.1.4 events: 3.3.0 - tslib: 2.6.3 + tslib: 2.8.0 transitivePeerDependencies: - - encoding + - supports-color - '@babel/code-frame@7.24.7': + '@babel/code-frame@7.26.0': dependencies: - '@babel/highlight': 7.24.7 - picocolors: 1.0.1 + '@babel/helper-validator-identifier': 7.25.9 + js-tokens: 4.0.0 + picocolors: 1.1.1 - '@babel/compat-data@7.24.7': {} + '@babel/compat-data@7.26.0': {} - '@babel/core@7.24.7': + '@babel/core@7.26.0': dependencies: '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.24.7 - '@babel/generator': 7.24.7 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) - '@babel/helpers': 7.24.7 - '@babel/parser': 7.24.7 - '@babel/template': 7.24.7 - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/code-frame': 7.26.0 + '@babel/generator': 7.26.0 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helpers': 7.26.0 + '@babel/parser': 7.26.1 + '@babel/template': 7.25.9 + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 convert-source-map: 2.0.0 - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.7(supports-color@8.1.1) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/generator@7.24.7': + '@babel/generator@7.26.0': dependencies: - '@babel/types': 7.24.7 + '@babel/parser': 7.26.1 + '@babel/types': 7.26.0 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - jsesc: 2.5.2 + jsesc: 3.0.2 - '@babel/helper-compilation-targets@7.24.7': + '@babel/helper-compilation-targets@7.25.9': dependencies: - '@babel/compat-data': 7.24.7 - '@babel/helper-validator-option': 7.24.7 - browserslist: 4.23.1 + '@babel/compat-data': 7.26.0 + '@babel/helper-validator-option': 7.25.9 + browserslist: 4.24.2 lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-environment-visitor@7.24.7': - dependencies: - '@babel/types': 7.24.7 - - '@babel/helper-function-name@7.24.7': - dependencies: - '@babel/template': 7.24.7 - '@babel/types': 7.24.7 - - '@babel/helper-hoist-variables@7.24.7': + '@babel/helper-module-imports@7.25.9': dependencies: - '@babel/types': 7.24.7 - - '@babel/helper-module-imports@7.24.7': - dependencies: - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.24.7(@babel/core@7.24.7)': + '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-module-imports': 7.24.7 - '@babel/helper-simple-access': 7.24.7 - '@babel/helper-split-export-declaration': 7.24.7 - '@babel/helper-validator-identifier': 7.24.7 + '@babel/core': 7.26.0 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@babel/traverse': 7.25.9 transitivePeerDependencies: - supports-color - '@babel/helper-plugin-utils@7.24.7': {} + '@babel/helper-plugin-utils@7.25.9': {} - '@babel/helper-simple-access@7.24.7': - dependencies: - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 - transitivePeerDependencies: - - supports-color - - '@babel/helper-split-export-declaration@7.24.7': - dependencies: - '@babel/types': 7.24.7 + '@babel/helper-string-parser@7.25.9': {} - '@babel/helper-string-parser@7.24.7': {} + '@babel/helper-validator-identifier@7.25.9': {} - '@babel/helper-validator-identifier@7.24.7': {} + '@babel/helper-validator-option@7.25.9': {} - '@babel/helper-validator-option@7.24.7': {} - - '@babel/helpers@7.24.7': - dependencies: - '@babel/template': 7.24.7 - '@babel/types': 7.24.7 - - '@babel/highlight@7.24.7': + '@babel/helpers@7.26.0': dependencies: - '@babel/helper-validator-identifier': 7.24.7 - chalk: 2.4.2 - js-tokens: 4.0.0 - picocolors: 1.0.1 + '@babel/template': 7.25.9 + '@babel/types': 7.26.0 - '@babel/parser@7.24.7': + '@babel/parser@7.26.1': dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.26.0 - '@babel/plugin-transform-react-jsx-self@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-react-jsx-self@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-react-jsx-source@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-react-jsx-source@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 - '@babel/runtime@7.24.7': + '@babel/runtime@7.26.0': dependencies: regenerator-runtime: 0.14.1 - '@babel/template@7.24.7': + '@babel/template@7.25.9': dependencies: - '@babel/code-frame': 7.24.7 - '@babel/parser': 7.24.7 - '@babel/types': 7.24.7 + '@babel/code-frame': 7.26.0 + '@babel/parser': 7.26.1 + '@babel/types': 7.26.0 - '@babel/traverse@7.24.7': + '@babel/traverse@7.25.9': dependencies: - '@babel/code-frame': 7.24.7 - '@babel/generator': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-function-name': 7.24.7 - '@babel/helper-hoist-variables': 7.24.7 - '@babel/helper-split-export-declaration': 7.24.7 - '@babel/parser': 7.24.7 - '@babel/types': 7.24.7 - debug: 4.3.5(supports-color@8.1.1) + '@babel/code-frame': 7.26.0 + '@babel/generator': 7.26.0 + '@babel/parser': 7.26.1 + '@babel/template': 7.25.9 + '@babel/types': 7.26.0 + debug: 4.3.7(supports-color@8.1.1) globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/types@7.24.7': + '@babel/types@7.26.0': dependencies: - '@babel/helper-string-parser': 7.24.7 - '@babel/helper-validator-identifier': 7.24.7 - to-fast-properties: 2.0.0 + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 '@base2/pretty-print-object@1.0.1': {} @@ -9570,13 +9527,12 @@ snapshots: '@bentley/imodeljs-native@4.9.28': {} - '@changesets/apply-release-plan@7.0.4': + '@changesets/apply-release-plan@7.0.5': dependencies: - '@babel/runtime': 7.24.7 - '@changesets/config': 3.0.2 + '@changesets/config': 3.0.3 '@changesets/get-version-range-type': 0.4.0 - '@changesets/git': 3.0.0 - '@changesets/should-skip-package': 0.1.0 + '@changesets/git': 3.0.1 + '@changesets/should-skip-package': 0.1.1 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 detect-indent: 6.1.0 @@ -9585,17 +9541,16 @@ snapshots: outdent: 0.5.0 prettier: 2.8.8 resolve-from: 5.0.0 - semver: 7.6.2 + semver: 7.6.3 - '@changesets/assemble-release-plan@6.0.3': + '@changesets/assemble-release-plan@6.0.4': dependencies: - '@babel/runtime': 7.24.7 '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.1.1 - '@changesets/should-skip-package': 0.1.0 + '@changesets/get-dependents-graph': 2.1.2 + '@changesets/should-skip-package': 0.1.1 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 - semver: 7.6.2 + semver: 7.6.3 '@changesets/changelog-git@0.2.0': dependencies: @@ -9603,21 +9558,21 @@ snapshots: '@changesets/cli@2.27.7': dependencies: - '@babel/runtime': 7.24.7 - '@changesets/apply-release-plan': 7.0.4 - '@changesets/assemble-release-plan': 6.0.3 + '@babel/runtime': 7.26.0 + '@changesets/apply-release-plan': 7.0.5 + '@changesets/assemble-release-plan': 6.0.4 '@changesets/changelog-git': 0.2.0 - '@changesets/config': 3.0.2 + '@changesets/config': 3.0.3 '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.1.1 - '@changesets/get-release-plan': 4.0.3 - '@changesets/git': 3.0.0 - '@changesets/logger': 0.1.0 - '@changesets/pre': 2.0.0 - '@changesets/read': 0.6.0 - '@changesets/should-skip-package': 0.1.0 + '@changesets/get-dependents-graph': 2.1.2 + '@changesets/get-release-plan': 4.0.4 + '@changesets/git': 3.0.1 + '@changesets/logger': 0.1.1 + '@changesets/pre': 2.0.1 + '@changesets/read': 0.6.1 + '@changesets/should-skip-package': 0.1.1 '@changesets/types': 6.0.0 - '@changesets/write': 0.3.1 + '@changesets/write': 0.3.2 '@manypkg/get-packages': 1.1.3 '@types/semver': 7.5.8 ansi-colors: 4.1.3 @@ -9630,87 +9585,80 @@ snapshots: mri: 1.2.0 outdent: 0.5.0 p-limit: 2.3.0 - preferred-pm: 3.1.3 + preferred-pm: 3.1.4 resolve-from: 5.0.0 - semver: 7.6.2 + semver: 7.6.3 spawndamnit: 2.0.0 term-size: 2.2.1 - '@changesets/config@3.0.2': + '@changesets/config@3.0.3': dependencies: '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.1.1 - '@changesets/logger': 0.1.0 + '@changesets/get-dependents-graph': 2.1.2 + '@changesets/logger': 0.1.1 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 fs-extra: 7.0.1 - micromatch: 4.0.7 + micromatch: 4.0.8 '@changesets/errors@0.2.0': dependencies: extendable-error: 0.1.7 - '@changesets/get-dependents-graph@2.1.1': + '@changesets/get-dependents-graph@2.1.2': dependencies: '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 - chalk: 2.4.2 - fs-extra: 7.0.1 - semver: 7.6.2 + picocolors: 1.1.1 + semver: 7.6.3 - '@changesets/get-release-plan@4.0.3': + '@changesets/get-release-plan@4.0.4': dependencies: - '@babel/runtime': 7.24.7 - '@changesets/assemble-release-plan': 6.0.3 - '@changesets/config': 3.0.2 - '@changesets/pre': 2.0.0 - '@changesets/read': 0.6.0 + '@changesets/assemble-release-plan': 6.0.4 + '@changesets/config': 3.0.3 + '@changesets/pre': 2.0.1 + '@changesets/read': 0.6.1 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 '@changesets/get-version-range-type@0.4.0': {} - '@changesets/git@3.0.0': + '@changesets/git@3.0.1': dependencies: - '@babel/runtime': 7.24.7 '@changesets/errors': 0.2.0 - '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 is-subdir: 1.2.0 - micromatch: 4.0.7 + micromatch: 4.0.8 spawndamnit: 2.0.0 - '@changesets/logger@0.1.0': + '@changesets/logger@0.1.1': dependencies: - chalk: 2.4.2 + picocolors: 1.1.1 '@changesets/parse@0.4.0': dependencies: '@changesets/types': 6.0.0 js-yaml: 3.14.1 - '@changesets/pre@2.0.0': + '@changesets/pre@2.0.1': dependencies: - '@babel/runtime': 7.24.7 '@changesets/errors': 0.2.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 fs-extra: 7.0.1 - '@changesets/read@0.6.0': + '@changesets/read@0.6.1': dependencies: - '@babel/runtime': 7.24.7 - '@changesets/git': 3.0.0 - '@changesets/logger': 0.1.0 + '@changesets/git': 3.0.1 + '@changesets/logger': 0.1.1 '@changesets/parse': 0.4.0 '@changesets/types': 6.0.0 - chalk: 2.4.2 fs-extra: 7.0.1 p-filter: 2.1.0 + picocolors: 1.1.1 - '@changesets/should-skip-package@0.1.0': + '@changesets/should-skip-package@0.1.1': dependencies: - '@babel/runtime': 7.24.7 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 @@ -9718,9 +9666,8 @@ snapshots: '@changesets/types@6.0.0': {} - '@changesets/write@0.3.1': + '@changesets/write@0.3.2': dependencies: - '@babel/runtime': 7.24.7 '@changesets/types': 6.0.0 fs-extra: 7.0.1 human-id: 1.0.2 @@ -9827,12 +9774,12 @@ snapshots: '@esbuild/win32-x64@0.20.2': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@9.13.0)': + '@eslint-community/eslint-utils@4.4.1(eslint@9.13.0)': dependencies: eslint: 9.13.0 eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.11.1': {} + '@eslint-community/regexpp@4.12.1': {} '@eslint/config-array@0.18.0': dependencies: @@ -9850,7 +9797,7 @@ snapshots: debug: 4.3.7(supports-color@8.1.1) espree: 10.2.0 globals: 14.0.0 - ignore: 5.3.1 + ignore: 5.3.2 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -9862,36 +9809,36 @@ snapshots: '@eslint/object-schema@2.1.4': {} - '@eslint/plugin-kit@0.2.1': + '@eslint/plugin-kit@0.2.2': dependencies: levn: 0.4.1 - '@floating-ui/core@1.6.2': + '@floating-ui/core@1.6.8': dependencies: - '@floating-ui/utils': 0.2.7 + '@floating-ui/utils': 0.2.8 - '@floating-ui/dom@1.6.5': + '@floating-ui/dom@1.6.11': dependencies: - '@floating-ui/core': 1.6.2 - '@floating-ui/utils': 0.2.7 + '@floating-ui/core': 1.6.8 + '@floating-ui/utils': 0.2.8 - '@floating-ui/react-dom@2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@floating-ui/react-dom@2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@floating-ui/dom': 1.6.5 + '@floating-ui/dom': 1.6.11 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@floating-ui/react@0.26.23(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@floating-ui/react@0.26.25(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@floating-ui/react-dom': 2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@floating-ui/utils': 0.2.7 + '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@floating-ui/utils': 0.2.8 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) tabbable: 6.2.0 - '@floating-ui/utils@0.2.7': {} + '@floating-ui/utils@0.2.8': {} - '@grpc/grpc-js@1.10.9': + '@grpc/grpc-js@1.12.2': dependencies: '@grpc/proto-loader': 0.7.13 '@js-sdsl/ordered-map': 4.4.2 @@ -9900,7 +9847,7 @@ snapshots: dependencies: lodash.camelcase: 4.3.0 long: 5.2.3 - protobufjs: 7.3.2 + protobufjs: 7.4.0 yargs: 17.7.2 '@hapi/hoek@9.3.0': {} @@ -9909,11 +9856,11 @@ snapshots: dependencies: '@hapi/hoek': 9.3.0 - '@humanfs/core@0.19.0': {} + '@humanfs/core@0.19.1': {} - '@humanfs/node@0.16.5': + '@humanfs/node@0.16.6': dependencies: - '@humanfs/core': 0.19.0 + '@humanfs/core': 0.19.1 '@humanwhocodes/retry': 0.3.1 '@humanwhocodes/module-importer@1.0.1': {} @@ -9937,8 +9884,8 @@ snapshots: '@tsconfig/node18': 18.2.4 '@tsconfig/node20': 20.1.4 '@types/node': 20.12.12 - acorn: 8.12.0 - acorn-walk: 8.3.3 + acorn: 8.14.0 + acorn-walk: 8.3.4 arg: 4.1.3 diff: 4.0.2 make-error: 1.3.6 @@ -9953,29 +9900,21 @@ snapshots: '@tsconfig/node18': 18.2.4 '@tsconfig/node20': 20.1.4 '@types/node': 20.12.12 - acorn: 8.12.0 - acorn-walk: 8.3.3 + acorn: 8.14.0 + acorn-walk: 8.3.4 arg: 4.1.3 diff: 4.0.2 make-error: 1.3.6 typescript: 5.6.3 v8-compile-cache-lib: 3.0.1 - '@istanbuljs/load-nyc-config@1.1.0': - dependencies: - camelcase: 5.3.1 - find-up: 4.1.0 - get-package-type: 0.1.0 - js-yaml: 3.14.1 - resolve-from: 5.0.0 - '@istanbuljs/schema@0.1.3': {} '@itwin/appui-abstract@4.9.0(@itwin/core-bentley@4.9.0)': dependencies: '@itwin/core-bentley': 4.9.0 - '@itwin/appui-react@4.17.0(jgrsh243ki6dc6ozg2qm5xy6by)': + '@itwin/appui-react@4.17.0(3itgo2wmfjvnqs3pwhhk4ricni)': dependencies: '@bentley/icons-generic': 1.0.34 '@itwin/appui-abstract': 4.9.0(@itwin/core-bentley@4.9.0) @@ -9987,12 +9926,12 @@ snapshots: '@itwin/core-quantity': 4.9.0(@itwin/core-bentley@4.9.0) '@itwin/core-react': 4.17.0(@itwin/appui-abstract@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/core-bentley@4.9.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@itwin/core-telemetry': 4.9.0(@itwin/core-geometry@4.9.0) - '@itwin/imodel-components-react': 4.17.0(5bxgqeyspavecgkyhfymyjxjri) + '@itwin/imodel-components-react': 4.17.0(w6sgngvtulzkoge55lgz26tzie) '@itwin/itwinui-icons-react': 2.8.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@itwin/itwinui-illustrations-react': 2.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@itwin/itwinui-react': 3.14.1(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@itwin/itwinui-react': 3.14.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@itwin/itwinui-react-v2': '@itwin/itwinui-react@2.12.26(react-dom@18.3.1(react@18.3.1))(react@18.3.1)' - '@itwin/itwinui-variables': 3.2.0 + '@itwin/itwinui-variables': 3.3.0 classnames: 2.3.1 immer: 9.0.6 lodash: 4.17.21 @@ -10003,9 +9942,9 @@ snapshots: react-transition-group: 4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) redux: 4.2.1 rxjs: 7.8.1 - ts-key-enum: 2.0.12 + ts-key-enum: 2.0.13 use-sync-external-store: 1.2.2(react@18.3.1) - zustand: 4.5.2(@types/react@18.3.3)(immer@9.0.6)(react@18.3.1) + zustand: 4.5.5(@types/react@18.3.3)(immer@9.0.6)(react@18.3.1) transitivePeerDependencies: - '@types/react' @@ -10016,36 +9955,15 @@ snapshots: cpx2: 3.0.2 cross-spawn: 7.0.3 fs-extra: 8.1.0 - glob: 10.4.2 - mocha: 10.6.0 - mocha-junit-reporter: 2.2.1(mocha@10.6.0) + glob: 10.4.5 + mocha: 10.7.3 + mocha-junit-reporter: 2.2.1(mocha@10.7.3) rimraf: 3.0.2 tree-kill: 1.2.2 typedoc: 0.25.13(typescript@5.6.3) typedoc-plugin-merge-modules: 5.1.0(typedoc@0.25.13(typescript@5.6.3)) typescript: 5.6.3 - wtfnode: 0.9.2 - yargs: 17.7.2 - transitivePeerDependencies: - - '@types/node' - - supports-color - - '@itwin/build-tools@4.10.0-dev.33(@types/node@20.14.6)': - dependencies: - '@microsoft/api-extractor': 7.47.11(@types/node@20.14.6) - chalk: 3.0.0 - cpx2: 3.0.2 - cross-spawn: 7.0.3 - fs-extra: 8.1.0 - glob: 10.4.2 - mocha: 10.6.0 - mocha-junit-reporter: 2.2.1(mocha@10.6.0) - rimraf: 3.0.2 - tree-kill: 1.2.2 - typedoc: 0.25.13(typescript@5.6.3) - typedoc-plugin-merge-modules: 5.1.0(typedoc@0.25.13(typescript@5.6.3)) - typescript: 5.6.3 - wtfnode: 0.9.2 + wtfnode: 0.9.3 yargs: 17.7.2 transitivePeerDependencies: - '@types/node' @@ -10062,9 +9980,9 @@ snapshots: '@itwin/appui-abstract': 4.9.0(@itwin/core-bentley@4.9.0) '@itwin/core-bentley': 4.9.0 '@itwin/core-react': 4.17.0(@itwin/appui-abstract@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/core-bentley@4.9.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@itwin/itwinui-icons-react': 2.8.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@itwin/itwinui-react': 3.14.1(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@itwin/itwinui-variables': 3.2.0 + '@itwin/itwinui-icons-react': 2.9.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@itwin/itwinui-react': 3.14.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@itwin/itwinui-variables': 3.3.0 classnames: 2.3.1 immer: 9.0.6 linkify-it: 2.2.0 @@ -10073,11 +9991,11 @@ snapshots: react-dom: 18.3.1(react@18.3.1) react-window: 1.8.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1) rxjs: 7.8.1 - ts-key-enum: 2.0.12 + ts-key-enum: 2.0.13 transitivePeerDependencies: - '@types/react' - '@itwin/core-backend@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0)(encoding@0.1.13)': + '@itwin/core-backend@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0)': dependencies: '@bentley/imodeljs-native': 4.9.28 '@itwin/cloud-agnostic-core': 2.2.5(inversify@6.0.2)(reflect-metadata@0.1.14) @@ -10085,9 +10003,9 @@ snapshots: '@itwin/core-common': 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0) '@itwin/core-geometry': 4.9.0 '@itwin/core-telemetry': 4.9.0(@itwin/core-geometry@4.9.0) - '@itwin/object-storage-azure': 2.2.5(encoding@0.1.13)(inversify@6.0.2)(reflect-metadata@0.1.14) + '@itwin/object-storage-azure': 2.2.5(inversify@6.0.2)(reflect-metadata@0.1.14) '@itwin/object-storage-core': 2.2.5(inversify@6.0.2)(reflect-metadata@0.1.14) - form-data: 2.5.1 + form-data: 2.5.2 fs-extra: 8.1.0 inversify: 6.0.2 json5: 2.2.3 @@ -10102,10 +10020,10 @@ snapshots: transitivePeerDependencies: - bufferutil - debug - - encoding + - supports-color - utf-8-validate - '@itwin/core-backend@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.9.0)(encoding@0.1.13)': + '@itwin/core-backend@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.9.0)': dependencies: '@bentley/imodeljs-native': 4.9.28 '@itwin/cloud-agnostic-core': 2.2.5(inversify@6.0.2)(reflect-metadata@0.1.14) @@ -10113,9 +10031,9 @@ snapshots: '@itwin/core-common': 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0) '@itwin/core-geometry': 4.9.0 '@itwin/core-telemetry': 4.9.0(@itwin/core-geometry@4.9.0) - '@itwin/object-storage-azure': 2.2.5(encoding@0.1.13)(inversify@6.0.2)(reflect-metadata@0.1.14) + '@itwin/object-storage-azure': 2.2.5(inversify@6.0.2)(reflect-metadata@0.1.14) '@itwin/object-storage-core': 2.2.5(inversify@6.0.2)(reflect-metadata@0.1.14) - form-data: 2.5.1 + form-data: 2.5.2 fs-extra: 8.1.0 inversify: 6.0.2 json5: 2.2.3 @@ -10130,7 +10048,7 @@ snapshots: transitivePeerDependencies: - bufferutil - debug - - encoding + - supports-color - utf-8-validate '@itwin/core-bentley@4.9.0': {} @@ -10142,9 +10060,9 @@ snapshots: flatbuffers: 1.12.0 js-base64: 3.7.7 - '@itwin/core-electron@4.9.0(@itwin/core-backend@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0)(encoding@0.1.13))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-frontend@4.9.0(@itwin/appui-abstract@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@itwin/core-orbitgt@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(encoding@0.1.13)(inversify@6.0.2)(reflect-metadata@0.1.14))(electron@28.3.1)': + '@itwin/core-electron@4.9.0(@itwin/core-backend@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-frontend@4.9.0(@itwin/appui-abstract@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@itwin/core-orbitgt@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(inversify@6.0.2)(reflect-metadata@0.1.14))(electron@28.3.1)': dependencies: - '@itwin/core-backend': 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0)(encoding@0.1.13) + '@itwin/core-backend': 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0) '@itwin/core-bentley': 4.9.0 '@itwin/core-common': 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0) '@itwin/core-frontend': 4.9.0(@itwin/appui-abstract@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@itwin/core-orbitgt@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(encoding@0.1.13)(inversify@6.0.2)(reflect-metadata@0.1.14) @@ -10204,17 +10122,17 @@ snapshots: '@bentley/icons-generic': 1.0.34 '@itwin/appui-abstract': 4.9.0(@itwin/core-bentley@4.9.0) '@itwin/core-bentley': 4.9.0 - '@itwin/itwinui-icons-react': 2.8.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@itwin/itwinui-react': 3.14.1(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@itwin/itwinui-variables': 3.2.0 + '@itwin/itwinui-icons-react': 2.9.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@itwin/itwinui-react': 3.14.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@itwin/itwinui-variables': 3.3.0 classnames: 2.3.1 - dompurify: 2.5.6 + dompurify: 2.5.7 lodash: 4.17.21 react: 18.3.1 react-autosuggest: 10.1.0(react@18.3.1) react-dom: 18.3.1(react@18.3.1) resize-observer-polyfill: 1.5.1 - ts-key-enum: 2.0.12 + ts-key-enum: 2.0.13 transitivePeerDependencies: - '@types/react' @@ -10237,9 +10155,9 @@ snapshots: '@itwin/core-geometry': 4.9.0 '@itwin/ecschema-metadata': 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)) - '@itwin/ecschema-rpcinterface-impl@4.9.0(@itwin/core-backend@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0)(encoding@0.1.13))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))(@itwin/ecschema-rpcinterface-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))))': + '@itwin/ecschema-rpcinterface-impl@4.9.0(@itwin/core-backend@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))(@itwin/ecschema-rpcinterface-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))))': dependencies: - '@itwin/core-backend': 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0)(encoding@0.1.13) + '@itwin/core-backend': 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0) '@itwin/core-bentley': 4.9.0 '@itwin/core-common': 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0) '@itwin/core-geometry': 4.9.0 @@ -10255,7 +10173,7 @@ snapshots: eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.11.0(eslint@9.13.0)(typescript@5.6.3))(eslint@9.13.0) eslint-plugin-jam3: 0.2.3 eslint-plugin-jsdoc: 50.4.3(eslint@9.13.0) - eslint-plugin-jsx-a11y: 6.10.1(eslint@9.13.0) + eslint-plugin-jsx-a11y: 6.10.2(eslint@9.13.0) eslint-plugin-prefer-arrow: 1.2.3(eslint@9.13.0) eslint-plugin-react: 7.37.2(eslint@9.13.0) eslint-plugin-react-hooks: 5.0.0(eslint@9.13.0) @@ -10266,18 +10184,18 @@ snapshots: - eslint-import-resolver-webpack - supports-color - '@itwin/express-server@4.9.0(@itwin/core-backend@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0)(encoding@0.1.13))(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))': + '@itwin/express-server@4.9.0(@itwin/core-backend@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0))(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))': dependencies: - '@itwin/core-backend': 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0)(encoding@0.1.13) + '@itwin/core-backend': 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0) '@itwin/core-common': 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0) - express: 4.21.0 - express-ws: 5.0.2(express@4.21.0) + express: 4.21.1 + express-ws: 5.0.2(express@4.21.1) transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - '@itwin/imodel-components-react@4.17.0(5bxgqeyspavecgkyhfymyjxjri)': + '@itwin/imodel-components-react@4.17.0(w6sgngvtulzkoge55lgz26tzie)': dependencies: '@bentley/icons-generic': 1.0.34 '@itwin/appui-abstract': 4.9.0(@itwin/core-bentley@4.9.0) @@ -10288,13 +10206,13 @@ snapshots: '@itwin/core-geometry': 4.9.0 '@itwin/core-quantity': 4.9.0(@itwin/core-bentley@4.9.0) '@itwin/core-react': 4.17.0(@itwin/appui-abstract@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/core-bentley@4.9.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@itwin/itwinui-icons-react': 2.8.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@itwin/itwinui-react': 3.14.1(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@itwin/itwinui-variables': 3.2.0 + '@itwin/itwinui-icons-react': 2.9.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@itwin/itwinui-react': 3.14.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@itwin/itwinui-variables': 3.3.0 classnames: 2.3.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - ts-key-enum: 2.0.12 + ts-key-enum: 2.0.13 transitivePeerDependencies: - '@types/react' @@ -10303,6 +10221,11 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + '@itwin/itwinui-icons-react@2.9.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + '@itwin/itwinui-illustrations-react@2.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: react: 18.3.1 @@ -10320,14 +10243,29 @@ snapshots: react-transition-group: 4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) tippy.js: 6.3.7 + '@itwin/itwinui-react@3.14.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@floating-ui/react': 0.26.25(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@itwin/itwinui-illustrations-react': 2.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@swc/helpers': 0.5.13 + '@tanstack/react-virtual': 3.10.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + classnames: 2.5.1 + jotai: 2.10.1(@types/react@18.3.3)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-table: 7.8.0(react@18.3.1) + react-transition-group: 4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + transitivePeerDependencies: + - '@types/react' + '@itwin/itwinui-react@3.14.1(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@floating-ui/react': 0.26.23(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@floating-ui/react': 0.26.25(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@itwin/itwinui-illustrations-react': 2.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@swc/helpers': 0.5.11 - '@tanstack/react-virtual': 3.10.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@swc/helpers': 0.5.13 + '@tanstack/react-virtual': 3.10.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) classnames: 2.5.1 - jotai: 2.8.3(@types/react@18.3.3)(react@18.3.1) + jotai: 2.10.1(@types/react@18.3.3)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) react-table: 7.8.0(react@18.3.1) @@ -10335,32 +10273,32 @@ snapshots: transitivePeerDependencies: - '@types/react' - '@itwin/itwinui-variables@3.2.0': {} + '@itwin/itwinui-variables@3.3.0': {} - '@itwin/object-storage-azure@2.2.5(encoding@0.1.13)(inversify@6.0.2)(reflect-metadata@0.1.14)': + '@itwin/object-storage-azure@2.2.5(inversify@6.0.2)(reflect-metadata@0.1.14)': dependencies: - '@azure/core-paging': 1.5.0 - '@azure/storage-blob': 12.17.0(encoding@0.1.13) + '@azure/core-paging': 1.6.2 + '@azure/storage-blob': 12.25.0 '@itwin/cloud-agnostic-core': 2.2.5(inversify@6.0.2)(reflect-metadata@0.1.14) '@itwin/object-storage-core': 2.2.5(inversify@6.0.2)(reflect-metadata@0.1.14) inversify: 6.0.2 reflect-metadata: 0.1.14 transitivePeerDependencies: - debug - - encoding + - supports-color '@itwin/object-storage-core@2.2.5(inversify@6.0.2)(reflect-metadata@0.1.14)': dependencies: '@itwin/cloud-agnostic-core': 2.2.5(inversify@6.0.2)(reflect-metadata@0.1.14) - axios: 1.7.7 + axios: 1.7.7(debug@4.3.7) inversify: 6.0.2 reflect-metadata: 0.1.14 transitivePeerDependencies: - debug - '@itwin/presentation-backend@4.9.0(@itwin/core-backend@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0)(encoding@0.1.13))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))(@itwin/presentation-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))))': + '@itwin/presentation-backend@4.9.0(@itwin/core-backend@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))(@itwin/presentation-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))))': dependencies: - '@itwin/core-backend': 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0)(encoding@0.1.13) + '@itwin/core-backend': 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@opentelemetry/api@1.8.0) '@itwin/core-bentley': 4.9.0 '@itwin/core-common': 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0) '@itwin/core-quantity': 4.9.0(@itwin/core-bentley@4.9.0) @@ -10378,7 +10316,7 @@ snapshots: '@itwin/core-quantity': 4.9.0(@itwin/core-bentley@4.9.0) '@itwin/ecschema-metadata': 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)) - '@itwin/presentation-frontend@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-frontend@4.9.0(@itwin/appui-abstract@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@itwin/core-orbitgt@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(encoding@0.1.13)(inversify@6.0.2)(reflect-metadata@0.1.14))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))(@itwin/presentation-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))))': + '@itwin/presentation-frontend@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-frontend@4.9.0(@itwin/appui-abstract@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-geometry@4.9.0)(@itwin/core-orbitgt@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(inversify@6.0.2)(reflect-metadata@0.1.14))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0)))(@itwin/presentation-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-common@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0))(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))(@itwin/ecschema-metadata@4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-quantity@4.9.0(@itwin/core-bentley@4.9.0))))': dependencies: '@itwin/core-bentley': 4.9.0 '@itwin/core-common': 4.9.0(@itwin/core-bentley@4.9.0)(@itwin/core-geometry@4.9.0) @@ -10399,37 +10337,37 @@ snapshots: '@jridgewell/gen-mapping@0.3.5': dependencies: '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/trace-mapping': 0.3.25 '@jridgewell/resolve-uri@3.1.2': {} '@jridgewell/set-array@1.2.1': {} - '@jridgewell/sourcemap-codec@1.4.15': {} + '@jridgewell/sourcemap-codec@1.5.0': {} '@jridgewell/trace-mapping@0.3.25': dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/trace-mapping@0.3.9': dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.0 '@js-sdsl/ordered-map@4.4.2': {} '@loaders.gl/core@3.4.15': dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.26.0 '@loaders.gl/loader-utils': 3.4.15 '@loaders.gl/worker-utils': 3.4.15 '@probe.gl/log': 3.6.0 '@loaders.gl/draco@3.4.15': dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.26.0 '@loaders.gl/loader-utils': 3.4.15 '@loaders.gl/schema': 3.4.15 '@loaders.gl/worker-utils': 3.4.15 @@ -10437,7 +10375,7 @@ snapshots: '@loaders.gl/loader-utils@3.4.15': dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.26.0 '@loaders.gl/worker-utils': 3.4.15 '@probe.gl/stats': 3.6.0 @@ -10447,18 +10385,18 @@ snapshots: '@loaders.gl/worker-utils@3.4.15': dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.26.0 '@manypkg/find-root@1.1.0': dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.26.0 '@types/node': 12.20.55 find-up: 4.1.0 fs-extra: 8.1.0 '@manypkg/get-packages@1.1.3': dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.26.0 '@changesets/types': 4.1.0 '@manypkg/find-root': 1.1.0 fs-extra: 8.1.0 @@ -10473,14 +10411,6 @@ snapshots: transitivePeerDependencies: - '@types/node' - '@microsoft/api-extractor-model@7.29.8(@types/node@20.14.6)': - dependencies: - '@microsoft/tsdoc': 0.15.0 - '@microsoft/tsdoc-config': 0.17.0 - '@rushstack/node-core-library': 5.9.0(@types/node@20.14.6) - transitivePeerDependencies: - - '@types/node' - '@microsoft/api-extractor@7.47.11(@types/node@20.12.12)': dependencies: '@microsoft/api-extractor-model': 7.29.8(@types/node@20.12.12) @@ -10499,24 +10429,6 @@ snapshots: transitivePeerDependencies: - '@types/node' - '@microsoft/api-extractor@7.47.11(@types/node@20.14.6)': - dependencies: - '@microsoft/api-extractor-model': 7.29.8(@types/node@20.14.6) - '@microsoft/tsdoc': 0.15.0 - '@microsoft/tsdoc-config': 0.17.0 - '@rushstack/node-core-library': 5.9.0(@types/node@20.14.6) - '@rushstack/rig-package': 0.5.3 - '@rushstack/terminal': 0.14.2(@types/node@20.14.6) - '@rushstack/ts-command-line': 4.23.0(@types/node@20.14.6) - lodash: 4.17.21 - minimatch: 3.0.8 - resolve: 1.22.8 - semver: 7.5.4 - source-map: 0.6.1 - typescript: 5.4.2 - transitivePeerDependencies: - - '@types/node' - '@microsoft/tsdoc-config@0.17.0': dependencies: '@microsoft/tsdoc': 0.15.0 @@ -10547,9 +10459,9 @@ snapshots: dependencies: agent-base: 7.1.1 http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.4 - lru-cache: 10.2.2 - socks-proxy-agent: 8.0.3 + https-proxy-agent: 7.0.5 + lru-cache: 10.4.3 + socks-proxy-agent: 8.0.4 transitivePeerDependencies: - supports-color @@ -10557,11 +10469,12 @@ snapshots: dependencies: semver: 7.6.3 - '@npmcli/git@5.0.7': + '@npmcli/git@5.0.8': dependencies: '@npmcli/promise-spawn': 7.0.2 - lru-cache: 10.2.2 - npm-pick-manifest: 9.0.1 + ini: 4.1.3 + lru-cache: 10.4.3 + npm-pick-manifest: 9.1.0 proc-log: 4.2.0 promise-inflight: 1.0.1 promise-retry: 2.0.1 @@ -10577,13 +10490,13 @@ snapshots: '@npmcli/node-gyp@3.0.0': {} - '@npmcli/package-json@5.2.0': + '@npmcli/package-json@5.2.1': dependencies: - '@npmcli/git': 5.0.7 - glob: 10.4.2 + '@npmcli/git': 5.0.8 + glob: 10.4.5 hosted-git-info: 7.0.2 json-parse-even-better-errors: 3.0.2 - normalize-package-data: 6.0.1 + normalize-package-data: 6.0.2 proc-log: 4.2.0 semver: 7.6.3 transitivePeerDependencies: @@ -10598,9 +10511,9 @@ snapshots: '@npmcli/run-script@7.0.4': dependencies: '@npmcli/node-gyp': 3.0.0 - '@npmcli/package-json': 5.2.0 + '@npmcli/package-json': 5.2.1 '@npmcli/promise-spawn': 7.0.2 - node-gyp: 10.1.0 + node-gyp: 10.2.0 which: 4.0.0 transitivePeerDependencies: - bluebird @@ -10608,14 +10521,14 @@ snapshots: '@oclif/core@2.16.0(@types/node@20.12.12)(typescript@5.6.3)': dependencies: - '@types/cli-progress': 3.11.5 + '@types/cli-progress': 3.11.6 ansi-escapes: 4.3.2 ansi-styles: 4.3.0 cardinal: 2.1.1 chalk: 4.1.2 clean-stack: 3.0.1 cli-progress: 3.12.0 - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.7(supports-color@8.1.1) ejs: 3.1.10 get-package-type: 0.1.0 globby: 11.1.0 @@ -10632,7 +10545,7 @@ snapshots: supports-color: 8.1.1 supports-hyperlinks: 2.3.0 ts-node: 10.9.2(@types/node@20.12.12)(typescript@5.6.3) - tslib: 2.6.3 + tslib: 2.8.0 widest-line: 3.1.0 wordwrap: 1.0.0 wrap-ansi: 7.0.0 @@ -10665,10 +10578,10 @@ snapshots: '@openid/appauth@1.3.2': dependencies: '@types/base64-js': 1.3.2 - '@types/jquery': 3.5.30 + '@types/jquery': 3.5.32 base64-js: 1.5.1 - follow-redirects: 1.15.6(debug@4.3.5) - form-data: 4.0.0 + follow-redirects: 1.15.9(debug@4.3.7) + form-data: 4.0.1 opener: 1.5.2 transitivePeerDependencies: - debug @@ -10677,7 +10590,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.8.0 - '@opentelemetry/api-logs@0.52.0': + '@opentelemetry/api-logs@0.52.1': dependencies: '@opentelemetry/api': 1.9.0 @@ -10689,7 +10602,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.8.0 - '@opentelemetry/context-async-hooks@1.25.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/context-async-hooks@1.27.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -10698,45 +10611,50 @@ snapshots: '@opentelemetry/api': 1.8.0 '@opentelemetry/semantic-conventions': 1.23.0 - '@opentelemetry/core@1.25.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/core@1.25.1(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/semantic-conventions': 1.25.1 + + '@opentelemetry/core@1.27.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/semantic-conventions': 1.25.0 + '@opentelemetry/semantic-conventions': 1.27.0 - '@opentelemetry/exporter-metrics-otlp-grpc@0.52.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/exporter-metrics-otlp-grpc@0.52.1(@opentelemetry/api@1.9.0)': dependencies: - '@grpc/grpc-js': 1.10.9 + '@grpc/grpc-js': 1.12.2 '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.25.0(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-metrics-otlp-http': 0.52.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.52.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-grpc-exporter-base': 0.52.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.52.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 1.25.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-metrics': 1.25.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/exporter-metrics-otlp-http': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-exporter-base': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-grpc-exporter-base': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-transformer': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-metrics': 1.25.1(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-metrics-otlp-http@0.52.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/exporter-metrics-otlp-http@0.52.1(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.25.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.52.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.52.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 1.25.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-metrics': 1.25.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-exporter-base': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-transformer': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-metrics': 1.25.1(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-metrics-otlp-proto@0.52.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/exporter-metrics-otlp-proto@0.52.1(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.25.0(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-metrics-otlp-http': 0.52.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.52.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.52.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 1.25.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-metrics': 1.25.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/exporter-metrics-otlp-http': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-exporter-base': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-transformer': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-metrics': 1.25.1(@opentelemetry/api@1.9.0) '@opentelemetry/exporter-trace-otlp-grpc@0.50.0(@opentelemetry/api@1.8.0)': dependencies: - '@grpc/grpc-js': 1.10.9 + '@grpc/grpc-js': 1.12.2 '@opentelemetry/api': 1.8.0 '@opentelemetry/core': 1.23.0(@opentelemetry/api@1.8.0) '@opentelemetry/otlp-grpc-exporter-base': 0.50.0(@opentelemetry/api@1.8.0) @@ -10744,15 +10662,15 @@ snapshots: '@opentelemetry/resources': 1.23.0(@opentelemetry/api@1.8.0) '@opentelemetry/sdk-trace-base': 1.23.0(@opentelemetry/api@1.8.0) - '@opentelemetry/exporter-trace-otlp-grpc@0.52.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/exporter-trace-otlp-grpc@0.52.1(@opentelemetry/api@1.9.0)': dependencies: - '@grpc/grpc-js': 1.10.9 + '@grpc/grpc-js': 1.12.2 '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.25.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-grpc-exporter-base': 0.52.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.52.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 1.25.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 1.25.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-grpc-exporter-base': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-transformer': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-trace-base': 1.25.1(@opentelemetry/api@1.9.0) '@opentelemetry/exporter-trace-otlp-http@0.50.0(@opentelemetry/api@1.8.0)': dependencies: @@ -10763,14 +10681,14 @@ snapshots: '@opentelemetry/resources': 1.23.0(@opentelemetry/api@1.8.0) '@opentelemetry/sdk-trace-base': 1.23.0(@opentelemetry/api@1.8.0) - '@opentelemetry/exporter-trace-otlp-http@0.52.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/exporter-trace-otlp-http@0.52.1(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.25.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.52.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.52.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 1.25.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 1.25.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-exporter-base': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-transformer': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-trace-base': 1.25.1(@opentelemetry/api@1.9.0) '@opentelemetry/exporter-trace-otlp-proto@0.50.0(@opentelemetry/api@1.8.0)': dependencies: @@ -10782,14 +10700,14 @@ snapshots: '@opentelemetry/resources': 1.23.0(@opentelemetry/api@1.8.0) '@opentelemetry/sdk-trace-base': 1.23.0(@opentelemetry/api@1.8.0) - '@opentelemetry/exporter-trace-otlp-proto@0.52.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/exporter-trace-otlp-proto@0.52.1(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.25.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.52.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.52.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 1.25.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 1.25.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-exporter-base': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-transformer': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-trace-base': 1.25.1(@opentelemetry/api@1.9.0) '@opentelemetry/exporter-zipkin@1.23.0(@opentelemetry/api@1.8.0)': dependencies: @@ -10799,22 +10717,22 @@ snapshots: '@opentelemetry/sdk-trace-base': 1.23.0(@opentelemetry/api@1.8.0) '@opentelemetry/semantic-conventions': 1.23.0 - '@opentelemetry/exporter-zipkin@1.25.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/exporter-zipkin@1.27.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.25.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 1.25.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 1.25.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.25.0 + '@opentelemetry/core': 1.27.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 1.27.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-trace-base': 1.27.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.27.0 '@opentelemetry/instrumentation@0.50.0(@opentelemetry/api@1.8.0)': dependencies: '@opentelemetry/api': 1.8.0 '@opentelemetry/api-logs': 0.50.0 - '@types/shimmer': 1.0.5 + '@types/shimmer': 1.2.0 import-in-the-middle: 1.7.1 - require-in-the-middle: 7.3.0 - semver: 7.6.2 + require-in-the-middle: 7.4.0 + semver: 7.6.3 shimmer: 1.2.1 transitivePeerDependencies: - supports-color @@ -10824,34 +10742,34 @@ snapshots: '@opentelemetry/api': 1.8.0 '@opentelemetry/core': 1.23.0(@opentelemetry/api@1.8.0) - '@opentelemetry/otlp-exporter-base@0.52.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/otlp-exporter-base@0.52.1(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.25.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.52.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-transformer': 0.52.1(@opentelemetry/api@1.9.0) '@opentelemetry/otlp-grpc-exporter-base@0.50.0(@opentelemetry/api@1.8.0)': dependencies: - '@grpc/grpc-js': 1.10.9 + '@grpc/grpc-js': 1.12.2 '@opentelemetry/api': 1.8.0 '@opentelemetry/core': 1.23.0(@opentelemetry/api@1.8.0) '@opentelemetry/otlp-exporter-base': 0.50.0(@opentelemetry/api@1.8.0) - protobufjs: 7.3.2 + protobufjs: 7.4.0 - '@opentelemetry/otlp-grpc-exporter-base@0.52.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/otlp-grpc-exporter-base@0.52.1(@opentelemetry/api@1.9.0)': dependencies: - '@grpc/grpc-js': 1.10.9 + '@grpc/grpc-js': 1.12.2 '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.25.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.52.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.52.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-exporter-base': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-transformer': 0.52.1(@opentelemetry/api@1.9.0) '@opentelemetry/otlp-proto-exporter-base@0.50.0(@opentelemetry/api@1.8.0)': dependencies: '@opentelemetry/api': 1.8.0 '@opentelemetry/core': 1.23.0(@opentelemetry/api@1.8.0) '@opentelemetry/otlp-exporter-base': 0.50.0(@opentelemetry/api@1.8.0) - protobufjs: 7.3.2 + protobufjs: 7.4.0 '@opentelemetry/otlp-transformer@0.50.0(@opentelemetry/api@1.8.0)': dependencies: @@ -10863,16 +10781,16 @@ snapshots: '@opentelemetry/sdk-metrics': 1.23.0(@opentelemetry/api@1.8.0) '@opentelemetry/sdk-trace-base': 1.23.0(@opentelemetry/api@1.8.0) - '@opentelemetry/otlp-transformer@0.52.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/otlp-transformer@0.52.1(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/api-logs': 0.52.0 - '@opentelemetry/core': 1.25.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 1.25.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-logs': 0.52.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-metrics': 1.25.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 1.25.0(@opentelemetry/api@1.9.0) - protobufjs: 7.3.2 + '@opentelemetry/api-logs': 0.52.1 + '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-logs': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-metrics': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-trace-base': 1.25.1(@opentelemetry/api@1.9.0) + protobufjs: 7.4.0 '@opentelemetry/propagator-b3@1.23.0(@opentelemetry/api@1.8.0)': dependencies: @@ -10890,11 +10808,17 @@ snapshots: '@opentelemetry/core': 1.23.0(@opentelemetry/api@1.8.0) '@opentelemetry/semantic-conventions': 1.23.0 - '@opentelemetry/resources@1.25.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/resources@1.25.1(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.25.1 + + '@opentelemetry/resources@1.27.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.25.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.25.0 + '@opentelemetry/core': 1.27.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.27.0 '@opentelemetry/sdk-logs@0.50.0(@opentelemetry/api-logs@0.50.0)(@opentelemetry/api@1.8.0)': dependencies: @@ -10903,12 +10827,12 @@ snapshots: '@opentelemetry/core': 1.23.0(@opentelemetry/api@1.8.0) '@opentelemetry/resources': 1.23.0(@opentelemetry/api@1.8.0) - '@opentelemetry/sdk-logs@0.52.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/sdk-logs@0.52.1(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/api-logs': 0.52.0 - '@opentelemetry/core': 1.25.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 1.25.0(@opentelemetry/api@1.9.0) + '@opentelemetry/api-logs': 0.52.1 + '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 1.25.1(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-metrics@1.23.0(@opentelemetry/api@1.8.0)': dependencies: @@ -10917,13 +10841,19 @@ snapshots: '@opentelemetry/resources': 1.23.0(@opentelemetry/api@1.8.0) lodash.merge: 4.6.2 - '@opentelemetry/sdk-metrics@1.25.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/sdk-metrics@1.25.1(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.25.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 1.25.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 1.25.1(@opentelemetry/api@1.9.0) lodash.merge: 4.6.2 + '@opentelemetry/sdk-metrics@1.27.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 1.27.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 1.27.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-node@0.50.0(@opentelemetry/api@1.8.0)': dependencies: '@opentelemetry/api': 1.8.0 @@ -10950,12 +10880,19 @@ snapshots: '@opentelemetry/resources': 1.23.0(@opentelemetry/api@1.8.0) '@opentelemetry/semantic-conventions': 1.23.0 - '@opentelemetry/sdk-trace-base@1.25.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/sdk-trace-base@1.25.1(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.25.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 1.25.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.25.0 + '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.25.1 + + '@opentelemetry/sdk-trace-base@1.27.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 1.27.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 1.27.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.27.0 '@opentelemetry/sdk-trace-node@1.23.0(@opentelemetry/api@1.8.0)': dependencies: @@ -10965,11 +10902,13 @@ snapshots: '@opentelemetry/propagator-b3': 1.23.0(@opentelemetry/api@1.8.0) '@opentelemetry/propagator-jaeger': 1.23.0(@opentelemetry/api@1.8.0) '@opentelemetry/sdk-trace-base': 1.23.0(@opentelemetry/api@1.8.0) - semver: 7.6.2 + semver: 7.6.3 '@opentelemetry/semantic-conventions@1.23.0': {} - '@opentelemetry/semantic-conventions@1.25.0': {} + '@opentelemetry/semantic-conventions@1.25.1': {} + + '@opentelemetry/semantic-conventions@1.27.0': {} '@pkgjs/parseargs@0.11.0': optional: true @@ -10988,16 +10927,16 @@ snapshots: '@probe.gl/env@3.6.0': dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.26.0 '@probe.gl/log@3.6.0': dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.26.0 '@probe.gl/env': 3.6.0 '@probe.gl/stats@3.6.0': dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.26.0 '@protobufjs/aspromise@1.1.2': {} @@ -11022,52 +10961,58 @@ snapshots: '@protobufjs/utf8@1.1.0': {} - '@rollup/rollup-android-arm-eabi@4.18.0': + '@rollup/rollup-android-arm-eabi@4.24.2': + optional: true + + '@rollup/rollup-android-arm64@4.24.2': optional: true - '@rollup/rollup-android-arm64@4.18.0': + '@rollup/rollup-darwin-arm64@4.24.2': optional: true - '@rollup/rollup-darwin-arm64@4.18.0': + '@rollup/rollup-darwin-x64@4.24.2': optional: true - '@rollup/rollup-darwin-x64@4.18.0': + '@rollup/rollup-freebsd-arm64@4.24.2': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.18.0': + '@rollup/rollup-freebsd-x64@4.24.2': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.18.0': + '@rollup/rollup-linux-arm-gnueabihf@4.24.2': optional: true - '@rollup/rollup-linux-arm64-gnu@4.18.0': + '@rollup/rollup-linux-arm-musleabihf@4.24.2': optional: true - '@rollup/rollup-linux-arm64-musl@4.18.0': + '@rollup/rollup-linux-arm64-gnu@4.24.2': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.18.0': + '@rollup/rollup-linux-arm64-musl@4.24.2': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.18.0': + '@rollup/rollup-linux-powerpc64le-gnu@4.24.2': optional: true - '@rollup/rollup-linux-s390x-gnu@4.18.0': + '@rollup/rollup-linux-riscv64-gnu@4.24.2': optional: true - '@rollup/rollup-linux-x64-gnu@4.18.0': + '@rollup/rollup-linux-s390x-gnu@4.24.2': optional: true - '@rollup/rollup-linux-x64-musl@4.18.0': + '@rollup/rollup-linux-x64-gnu@4.24.2': optional: true - '@rollup/rollup-win32-arm64-msvc@4.18.0': + '@rollup/rollup-linux-x64-musl@4.24.2': optional: true - '@rollup/rollup-win32-ia32-msvc@4.18.0': + '@rollup/rollup-win32-arm64-msvc@4.24.2': optional: true - '@rollup/rollup-win32-x64-msvc@4.18.0': + '@rollup/rollup-win32-ia32-msvc@4.24.2': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.24.2': optional: true '@rtsao/scc@1.1.0': {} @@ -11085,19 +11030,6 @@ snapshots: optionalDependencies: '@types/node': 20.12.12 - '@rushstack/node-core-library@5.9.0(@types/node@20.14.6)': - dependencies: - ajv: 8.13.0 - ajv-draft-04: 1.0.0(ajv@8.13.0) - ajv-formats: 3.0.1 - fs-extra: 7.0.1 - import-lazy: 4.0.0 - jju: 1.4.0 - resolve: 1.22.8 - semver: 7.5.4 - optionalDependencies: - '@types/node': 20.14.6 - '@rushstack/rig-package@0.5.3': dependencies: resolve: 1.22.8 @@ -11110,13 +11042,6 @@ snapshots: optionalDependencies: '@types/node': 20.12.12 - '@rushstack/terminal@0.14.2(@types/node@20.14.6)': - dependencies: - '@rushstack/node-core-library': 5.9.0(@types/node@20.14.6) - supports-color: 8.1.1 - optionalDependencies: - '@types/node': 20.14.6 - '@rushstack/ts-command-line@4.23.0(@types/node@20.12.12)': dependencies: '@rushstack/terminal': 0.14.2(@types/node@20.12.12) @@ -11126,15 +11051,6 @@ snapshots: transitivePeerDependencies: - '@types/node' - '@rushstack/ts-command-line@4.23.0(@types/node@20.14.6)': - dependencies: - '@rushstack/terminal': 0.14.2(@types/node@20.14.6) - '@types/argparse': 1.0.38 - argparse: 1.0.10 - string-argv: 0.3.2 - transitivePeerDependencies: - - '@types/node' - '@sideway/address@4.1.5': dependencies: '@hapi/hoek': 9.3.0 @@ -11177,313 +11093,325 @@ snapshots: '@sindresorhus/is@4.6.0': {} - '@sinonjs/commons@2.0.0': + '@sinonjs/commons@3.0.1': dependencies: type-detect: 4.0.8 - '@sinonjs/commons@3.0.1': + '@sinonjs/fake-timers@11.3.1': dependencies: - type-detect: 4.0.8 + '@sinonjs/commons': 3.0.1 - '@sinonjs/fake-timers@11.2.2': + '@sinonjs/fake-timers@13.0.4': dependencies: '@sinonjs/commons': 3.0.1 - '@sinonjs/samsam@8.0.0': + '@sinonjs/samsam@8.0.2': dependencies: - '@sinonjs/commons': 2.0.0 + '@sinonjs/commons': 3.0.1 lodash.get: 4.4.2 - type-detect: 4.0.8 + type-detect: 4.1.0 - '@sinonjs/text-encoding@0.7.2': {} + '@sinonjs/text-encoding@0.7.3': {} - '@smithy/abort-controller@3.1.0': + '@smithy/abort-controller@3.1.6': dependencies: - '@smithy/types': 3.2.0 - tslib: 2.6.3 + '@smithy/types': 3.6.0 + tslib: 2.8.0 - '@smithy/config-resolver@3.0.3': + '@smithy/config-resolver@3.0.10': dependencies: - '@smithy/node-config-provider': 3.1.2 - '@smithy/types': 3.2.0 + '@smithy/node-config-provider': 3.1.9 + '@smithy/types': 3.6.0 '@smithy/util-config-provider': 3.0.0 - '@smithy/util-middleware': 3.0.2 - tslib: 2.6.3 + '@smithy/util-middleware': 3.0.8 + tslib: 2.8.0 - '@smithy/core@2.2.3': + '@smithy/core@2.5.1': dependencies: - '@smithy/middleware-endpoint': 3.0.3 - '@smithy/middleware-retry': 3.0.6 - '@smithy/middleware-serde': 3.0.2 - '@smithy/protocol-http': 4.0.2 - '@smithy/smithy-client': 3.1.4 - '@smithy/types': 3.2.0 - '@smithy/util-middleware': 3.0.2 - tslib: 2.6.3 + '@smithy/middleware-serde': 3.0.8 + '@smithy/protocol-http': 4.1.5 + '@smithy/types': 3.6.0 + '@smithy/util-body-length-browser': 3.0.0 + '@smithy/util-middleware': 3.0.8 + '@smithy/util-stream': 3.2.1 + '@smithy/util-utf8': 3.0.0 + tslib: 2.8.0 - '@smithy/credential-provider-imds@3.1.2': + '@smithy/credential-provider-imds@3.2.5': dependencies: - '@smithy/node-config-provider': 3.1.2 - '@smithy/property-provider': 3.1.2 - '@smithy/types': 3.2.0 - '@smithy/url-parser': 3.0.2 - tslib: 2.6.3 + '@smithy/node-config-provider': 3.1.9 + '@smithy/property-provider': 3.1.8 + '@smithy/types': 3.6.0 + '@smithy/url-parser': 3.0.8 + tslib: 2.8.0 - '@smithy/fetch-http-handler@3.1.0': + '@smithy/fetch-http-handler@3.2.9': dependencies: - '@smithy/protocol-http': 4.0.2 - '@smithy/querystring-builder': 3.0.2 - '@smithy/types': 3.2.0 + '@smithy/protocol-http': 4.1.5 + '@smithy/querystring-builder': 3.0.8 + '@smithy/types': 3.6.0 '@smithy/util-base64': 3.0.0 - tslib: 2.6.3 + tslib: 2.8.0 - '@smithy/hash-node@3.0.2': + '@smithy/fetch-http-handler@4.0.0': dependencies: - '@smithy/types': 3.2.0 + '@smithy/protocol-http': 4.1.5 + '@smithy/querystring-builder': 3.0.8 + '@smithy/types': 3.6.0 + '@smithy/util-base64': 3.0.0 + tslib: 2.8.0 + + '@smithy/hash-node@3.0.8': + dependencies: + '@smithy/types': 3.6.0 '@smithy/util-buffer-from': 3.0.0 '@smithy/util-utf8': 3.0.0 - tslib: 2.6.3 + tslib: 2.8.0 - '@smithy/invalid-dependency@3.0.2': + '@smithy/invalid-dependency@3.0.8': dependencies: - '@smithy/types': 3.2.0 - tslib: 2.6.3 + '@smithy/types': 3.6.0 + tslib: 2.8.0 '@smithy/is-array-buffer@2.2.0': dependencies: - tslib: 2.6.3 + tslib: 2.8.0 '@smithy/is-array-buffer@3.0.0': dependencies: - tslib: 2.6.3 + tslib: 2.8.0 - '@smithy/middleware-compression@3.0.3': + '@smithy/middleware-compression@3.1.1': dependencies: + '@smithy/core': 2.5.1 '@smithy/is-array-buffer': 3.0.0 - '@smithy/node-config-provider': 3.1.2 - '@smithy/protocol-http': 4.0.2 - '@smithy/types': 3.2.0 + '@smithy/node-config-provider': 3.1.9 + '@smithy/protocol-http': 4.1.5 + '@smithy/types': 3.6.0 '@smithy/util-config-provider': 3.0.0 - '@smithy/util-middleware': 3.0.2 + '@smithy/util-middleware': 3.0.8 '@smithy/util-utf8': 3.0.0 fflate: 0.8.1 - tslib: 2.6.3 - - '@smithy/middleware-content-length@3.0.2': - dependencies: - '@smithy/protocol-http': 4.0.2 - '@smithy/types': 3.2.0 - tslib: 2.6.3 - - '@smithy/middleware-endpoint@3.0.3': - dependencies: - '@smithy/middleware-serde': 3.0.2 - '@smithy/node-config-provider': 3.1.2 - '@smithy/shared-ini-file-loader': 3.1.2 - '@smithy/types': 3.2.0 - '@smithy/url-parser': 3.0.2 - '@smithy/util-middleware': 3.0.2 - tslib: 2.6.3 - - '@smithy/middleware-retry@3.0.6': - dependencies: - '@smithy/node-config-provider': 3.1.2 - '@smithy/protocol-http': 4.0.2 - '@smithy/service-error-classification': 3.0.2 - '@smithy/smithy-client': 3.1.4 - '@smithy/types': 3.2.0 - '@smithy/util-middleware': 3.0.2 - '@smithy/util-retry': 3.0.2 - tslib: 2.6.3 + tslib: 2.8.0 + + '@smithy/middleware-content-length@3.0.10': + dependencies: + '@smithy/protocol-http': 4.1.5 + '@smithy/types': 3.6.0 + tslib: 2.8.0 + + '@smithy/middleware-endpoint@3.2.1': + dependencies: + '@smithy/core': 2.5.1 + '@smithy/middleware-serde': 3.0.8 + '@smithy/node-config-provider': 3.1.9 + '@smithy/shared-ini-file-loader': 3.1.9 + '@smithy/types': 3.6.0 + '@smithy/url-parser': 3.0.8 + '@smithy/util-middleware': 3.0.8 + tslib: 2.8.0 + + '@smithy/middleware-retry@3.0.25': + dependencies: + '@smithy/node-config-provider': 3.1.9 + '@smithy/protocol-http': 4.1.5 + '@smithy/service-error-classification': 3.0.8 + '@smithy/smithy-client': 3.4.2 + '@smithy/types': 3.6.0 + '@smithy/util-middleware': 3.0.8 + '@smithy/util-retry': 3.0.8 + tslib: 2.8.0 uuid: 9.0.1 - '@smithy/middleware-serde@3.0.2': + '@smithy/middleware-serde@3.0.8': dependencies: - '@smithy/types': 3.2.0 - tslib: 2.6.3 + '@smithy/types': 3.6.0 + tslib: 2.8.0 - '@smithy/middleware-stack@3.0.2': + '@smithy/middleware-stack@3.0.8': dependencies: - '@smithy/types': 3.2.0 - tslib: 2.6.3 + '@smithy/types': 3.6.0 + tslib: 2.8.0 - '@smithy/node-config-provider@3.1.2': + '@smithy/node-config-provider@3.1.9': dependencies: - '@smithy/property-provider': 3.1.2 - '@smithy/shared-ini-file-loader': 3.1.2 - '@smithy/types': 3.2.0 - tslib: 2.6.3 + '@smithy/property-provider': 3.1.8 + '@smithy/shared-ini-file-loader': 3.1.9 + '@smithy/types': 3.6.0 + tslib: 2.8.0 - '@smithy/node-http-handler@3.1.0': + '@smithy/node-http-handler@3.2.5': dependencies: - '@smithy/abort-controller': 3.1.0 - '@smithy/protocol-http': 4.0.2 - '@smithy/querystring-builder': 3.0.2 - '@smithy/types': 3.2.0 - tslib: 2.6.3 + '@smithy/abort-controller': 3.1.6 + '@smithy/protocol-http': 4.1.5 + '@smithy/querystring-builder': 3.0.8 + '@smithy/types': 3.6.0 + tslib: 2.8.0 - '@smithy/property-provider@3.1.2': + '@smithy/property-provider@3.1.8': dependencies: - '@smithy/types': 3.2.0 - tslib: 2.6.3 + '@smithy/types': 3.6.0 + tslib: 2.8.0 - '@smithy/protocol-http@4.0.2': + '@smithy/protocol-http@4.1.5': dependencies: - '@smithy/types': 3.2.0 - tslib: 2.6.3 + '@smithy/types': 3.6.0 + tslib: 2.8.0 - '@smithy/querystring-builder@3.0.2': + '@smithy/querystring-builder@3.0.8': dependencies: - '@smithy/types': 3.2.0 + '@smithy/types': 3.6.0 '@smithy/util-uri-escape': 3.0.0 - tslib: 2.6.3 + tslib: 2.8.0 - '@smithy/querystring-parser@3.0.2': + '@smithy/querystring-parser@3.0.8': dependencies: - '@smithy/types': 3.2.0 - tslib: 2.6.3 + '@smithy/types': 3.6.0 + tslib: 2.8.0 - '@smithy/service-error-classification@3.0.2': + '@smithy/service-error-classification@3.0.8': dependencies: - '@smithy/types': 3.2.0 + '@smithy/types': 3.6.0 - '@smithy/shared-ini-file-loader@3.1.2': + '@smithy/shared-ini-file-loader@3.1.9': dependencies: - '@smithy/types': 3.2.0 - tslib: 2.6.3 + '@smithy/types': 3.6.0 + tslib: 2.8.0 - '@smithy/signature-v4@3.1.1': + '@smithy/signature-v4@4.2.1': dependencies: '@smithy/is-array-buffer': 3.0.0 - '@smithy/types': 3.2.0 + '@smithy/protocol-http': 4.1.5 + '@smithy/types': 3.6.0 '@smithy/util-hex-encoding': 3.0.0 - '@smithy/util-middleware': 3.0.2 + '@smithy/util-middleware': 3.0.8 '@smithy/util-uri-escape': 3.0.0 '@smithy/util-utf8': 3.0.0 - tslib: 2.6.3 + tslib: 2.8.0 - '@smithy/smithy-client@3.1.4': + '@smithy/smithy-client@3.4.2': dependencies: - '@smithy/middleware-endpoint': 3.0.3 - '@smithy/middleware-stack': 3.0.2 - '@smithy/protocol-http': 4.0.2 - '@smithy/types': 3.2.0 - '@smithy/util-stream': 3.0.4 - tslib: 2.6.3 + '@smithy/core': 2.5.1 + '@smithy/middleware-endpoint': 3.2.1 + '@smithy/middleware-stack': 3.0.8 + '@smithy/protocol-http': 4.1.5 + '@smithy/types': 3.6.0 + '@smithy/util-stream': 3.2.1 + tslib: 2.8.0 - '@smithy/types@3.2.0': + '@smithy/types@3.6.0': dependencies: - tslib: 2.6.3 + tslib: 2.8.0 - '@smithy/url-parser@3.0.2': + '@smithy/url-parser@3.0.8': dependencies: - '@smithy/querystring-parser': 3.0.2 - '@smithy/types': 3.2.0 - tslib: 2.6.3 + '@smithy/querystring-parser': 3.0.8 + '@smithy/types': 3.6.0 + tslib: 2.8.0 '@smithy/util-base64@3.0.0': dependencies: '@smithy/util-buffer-from': 3.0.0 '@smithy/util-utf8': 3.0.0 - tslib: 2.6.3 + tslib: 2.8.0 '@smithy/util-body-length-browser@3.0.0': dependencies: - tslib: 2.6.3 + tslib: 2.8.0 '@smithy/util-body-length-node@3.0.0': dependencies: - tslib: 2.6.3 + tslib: 2.8.0 '@smithy/util-buffer-from@2.2.0': dependencies: '@smithy/is-array-buffer': 2.2.0 - tslib: 2.6.3 + tslib: 2.8.0 '@smithy/util-buffer-from@3.0.0': dependencies: '@smithy/is-array-buffer': 3.0.0 - tslib: 2.6.3 + tslib: 2.8.0 '@smithy/util-config-provider@3.0.0': dependencies: - tslib: 2.6.3 + tslib: 2.8.0 - '@smithy/util-defaults-mode-browser@3.0.6': + '@smithy/util-defaults-mode-browser@3.0.25': dependencies: - '@smithy/property-provider': 3.1.2 - '@smithy/smithy-client': 3.1.4 - '@smithy/types': 3.2.0 + '@smithy/property-provider': 3.1.8 + '@smithy/smithy-client': 3.4.2 + '@smithy/types': 3.6.0 bowser: 2.11.0 - tslib: 2.6.3 + tslib: 2.8.0 - '@smithy/util-defaults-mode-node@3.0.6': + '@smithy/util-defaults-mode-node@3.0.25': dependencies: - '@smithy/config-resolver': 3.0.3 - '@smithy/credential-provider-imds': 3.1.2 - '@smithy/node-config-provider': 3.1.2 - '@smithy/property-provider': 3.1.2 - '@smithy/smithy-client': 3.1.4 - '@smithy/types': 3.2.0 - tslib: 2.6.3 + '@smithy/config-resolver': 3.0.10 + '@smithy/credential-provider-imds': 3.2.5 + '@smithy/node-config-provider': 3.1.9 + '@smithy/property-provider': 3.1.8 + '@smithy/smithy-client': 3.4.2 + '@smithy/types': 3.6.0 + tslib: 2.8.0 - '@smithy/util-endpoints@2.0.3': + '@smithy/util-endpoints@2.1.4': dependencies: - '@smithy/node-config-provider': 3.1.2 - '@smithy/types': 3.2.0 - tslib: 2.6.3 + '@smithy/node-config-provider': 3.1.9 + '@smithy/types': 3.6.0 + tslib: 2.8.0 '@smithy/util-hex-encoding@3.0.0': dependencies: - tslib: 2.6.3 + tslib: 2.8.0 - '@smithy/util-middleware@3.0.2': + '@smithy/util-middleware@3.0.8': dependencies: - '@smithy/types': 3.2.0 - tslib: 2.6.3 + '@smithy/types': 3.6.0 + tslib: 2.8.0 - '@smithy/util-retry@3.0.2': + '@smithy/util-retry@3.0.8': dependencies: - '@smithy/service-error-classification': 3.0.2 - '@smithy/types': 3.2.0 - tslib: 2.6.3 + '@smithy/service-error-classification': 3.0.8 + '@smithy/types': 3.6.0 + tslib: 2.8.0 - '@smithy/util-stream@3.0.4': + '@smithy/util-stream@3.2.1': dependencies: - '@smithy/fetch-http-handler': 3.1.0 - '@smithy/node-http-handler': 3.1.0 - '@smithy/types': 3.2.0 + '@smithy/fetch-http-handler': 4.0.0 + '@smithy/node-http-handler': 3.2.5 + '@smithy/types': 3.6.0 '@smithy/util-base64': 3.0.0 '@smithy/util-buffer-from': 3.0.0 '@smithy/util-hex-encoding': 3.0.0 '@smithy/util-utf8': 3.0.0 - tslib: 2.6.3 + tslib: 2.8.0 '@smithy/util-uri-escape@3.0.0': dependencies: - tslib: 2.6.3 + tslib: 2.8.0 '@smithy/util-utf8@2.3.0': dependencies: '@smithy/util-buffer-from': 2.2.0 - tslib: 2.6.3 + tslib: 2.8.0 '@smithy/util-utf8@3.0.0': dependencies: '@smithy/util-buffer-from': 3.0.0 - tslib: 2.6.3 + tslib: 2.8.0 - '@smithy/util-waiter@3.1.0': + '@smithy/util-waiter@3.1.7': dependencies: - '@smithy/abort-controller': 3.1.0 - '@smithy/types': 3.2.0 - tslib: 2.6.3 + '@smithy/abort-controller': 3.1.6 + '@smithy/types': 3.6.0 + tslib: 2.8.0 '@socket.io/component-emitter@3.1.2': {} - '@swc/helpers@0.5.11': + '@swc/helpers@0.5.13': dependencies: - tslib: 2.6.3 + tslib: 2.8.0 '@szmarczak/http-timer@4.0.6': dependencies: @@ -11495,15 +11423,15 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@tanstack/react-virtual@3.10.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@tanstack/react-virtual@3.10.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@tanstack/virtual-core': 3.10.7 + '@tanstack/virtual-core': 3.10.8 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) '@tanstack/table-core@8.16.0': {} - '@tanstack/virtual-core@3.10.7': {} + '@tanstack/virtual-core@3.10.8': {} '@tapjs/after-each@2.0.8(@tapjs/core@2.1.6(@types/node@20.12.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: @@ -11545,7 +11473,7 @@ snapshots: '@tapjs/core': 2.1.6(@types/node@20.12.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tapjs/test': 2.2.4(@tapjs/core@2.1.6(@types/node@20.12.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@20.12.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) chalk: 5.3.0 - jackspeak: 3.4.0 + jackspeak: 3.4.3 polite-json: 4.0.1 tap-yaml: 2.2.2 walk-up-path: 3.0.1 @@ -11583,7 +11511,7 @@ snapshots: dependencies: '@tapjs/core': 2.1.6(@types/node@20.12.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) mkdirp: 3.0.1 - rimraf: 5.0.5 + rimraf: 5.0.10 '@tapjs/intercept@2.0.8(@tapjs/core@2.1.6(@types/node@20.12.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: @@ -11596,7 +11524,7 @@ snapshots: '@tapjs/after': 1.1.31(@tapjs/core@2.1.6(@types/node@20.12.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@tapjs/core': 2.1.6(@types/node@20.12.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tapjs/stack': 2.0.1 - resolve-import: 1.4.5 + resolve-import: 1.4.6 walk-up-path: 3.0.1 '@tapjs/node-serialize@2.0.8(@tapjs/core@2.1.6(@types/node@20.12.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': @@ -11651,15 +11579,15 @@ snapshots: c8: 9.1.0 chalk: 5.3.0 chokidar: 3.6.0 - foreground-child: 3.2.1 - glob: 10.4.2 + foreground-child: 3.3.0 + glob: 10.4.5 minipass: 7.1.2 mkdirp: 3.0.1 opener: 1.5.2 pacote: 17.0.7 - resolve-import: 1.4.5 - rimraf: 5.0.5 - semver: 7.6.2 + resolve-import: 1.4.6 + rimraf: 5.0.10 + semver: 7.6.3 signal-exit: 4.1.0 tap-parser: 16.0.1 tap-yaml: 2.2.2 @@ -11719,15 +11647,15 @@ snapshots: '@tapjs/stdin': 2.0.8(@tapjs/core@2.1.6(@types/node@20.12.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@tapjs/typescript': 1.4.13(@tapjs/core@2.1.6(@types/node@20.12.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@20.12.12)(typescript@5.4.5) '@tapjs/worker': 2.0.8(@tapjs/core@2.1.6(@types/node@20.12.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - glob: 10.4.2 - jackspeak: 3.4.0 + glob: 10.4.5 + jackspeak: 3.4.3 mkdirp: 3.0.1 - package-json-from-dist: 1.0.0 - resolve-import: 1.4.5 - rimraf: 5.0.5 + package-json-from-dist: 1.0.1 + resolve-import: 1.4.6 + rimraf: 5.0.10 sync-content: 1.0.2 tap-parser: 16.0.1 - tshy: 1.15.1 + tshy: 1.18.0 typescript: 5.4.5 walk-up-path: 3.0.1 transitivePeerDependencies: @@ -11763,8 +11691,8 @@ snapshots: '@testing-library/dom@10.3.2': dependencies: - '@babel/code-frame': 7.24.7 - '@babel/runtime': 7.24.7 + '@babel/code-frame': 7.26.0 + '@babel/runtime': 7.26.0 '@types/aria-query': 5.0.4 aria-query: 5.3.0 chalk: 4.1.2 @@ -11774,7 +11702,7 @@ snapshots: '@testing-library/react@16.0.0(@testing-library/dom@10.3.2)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.26.0 '@testing-library/dom': 10.3.2 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -11813,7 +11741,7 @@ snapshots: '@tufjs/models@2.0.1': dependencies: '@tufjs/canonical-json': 2.0.0 - minimatch: 9.0.4 + minimatch: 9.0.5 '@types/argparse@1.0.38': {} @@ -11821,42 +11749,42 @@ snapshots: '@types/artillery@1.7.4': dependencies: - '@types/node': 20.14.6 + '@types/node': 20.12.12 '@types/tough-cookie': 4.0.5 got: 11.8.6 '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.24.7 - '@babel/types': 7.24.7 + '@babel/parser': 7.26.1 + '@babel/types': 7.26.0 '@types/babel__generator': 7.6.8 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.6 '@types/babel__generator@7.6.8': dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.26.0 '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.24.7 - '@babel/types': 7.24.7 + '@babel/parser': 7.26.1 + '@babel/types': 7.26.0 '@types/babel__traverse@7.20.6': dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.26.0 '@types/base64-js@1.3.2': {} '@types/brotli@1.3.4': dependencies: - '@types/node': 20.14.6 + '@types/node': 20.12.12 '@types/cacheable-request@6.0.3': dependencies: '@types/http-cache-semantics': 4.0.4 '@types/keyv': 3.1.4 - '@types/node': 20.14.6 + '@types/node': 20.12.12 '@types/responselike': 1.0.3 '@types/chai-as-promised@7.1.8': @@ -11874,15 +11802,13 @@ snapshots: '@types/chai@4.3.16': {} - '@types/cli-progress@3.11.5': + '@types/cli-progress@3.11.6': dependencies: - '@types/node': 20.14.6 + '@types/node': 20.12.12 '@types/cpx@1.5.5': dependencies: - '@types/node': 20.14.6 - - '@types/estree@1.0.5': {} + '@types/node': 20.12.12 '@types/estree@1.0.6': {} @@ -11897,15 +11823,15 @@ snapshots: '@types/istanbul-lib-coverage@2.0.6': {} - '@types/jquery@3.5.30': + '@types/jquery@3.5.32': dependencies: - '@types/sizzle': 2.3.8 + '@types/sizzle': 2.3.9 '@types/jsdom@21.1.7': dependencies: - '@types/node': 20.14.6 + '@types/node': 20.12.12 '@types/tough-cookie': 4.0.5 - parse5: 7.1.2 + parse5: 7.2.1 '@types/json-schema@7.0.15': {} @@ -11913,20 +11839,15 @@ snapshots: '@types/keyv@3.1.4': dependencies: - '@types/node': 20.14.6 + '@types/node': 20.12.12 '@types/mocha@10.0.7': {} '@types/natural-compare-lite@1.4.2': {} - '@types/node-fetch@2.6.11': - dependencies: - '@types/node': 20.14.6 - form-data: 4.0.0 - '@types/node@12.20.55': {} - '@types/node@18.19.37': + '@types/node@18.19.60': dependencies: undici-types: 5.26.5 @@ -11934,13 +11855,9 @@ snapshots: dependencies: undici-types: 5.26.5 - '@types/node@20.14.6': - dependencies: - undici-types: 5.26.5 - '@types/object-hash@3.0.6': {} - '@types/prop-types@15.7.12': {} + '@types/prop-types@15.7.13': {} '@types/react-dom@18.3.0': dependencies: @@ -11959,16 +11876,16 @@ snapshots: '@types/react@18.3.3': dependencies: - '@types/prop-types': 15.7.12 + '@types/prop-types': 15.7.13 csstype: 3.1.2 '@types/responselike@1.0.3': dependencies: - '@types/node': 20.14.6 + '@types/node': 20.12.12 '@types/semver@7.5.8': {} - '@types/shimmer@1.0.5': {} + '@types/shimmer@1.2.0': {} '@types/sinon-chai@3.2.12': dependencies: @@ -11981,22 +11898,18 @@ snapshots: '@types/sinonjs__fake-timers@8.1.5': {} - '@types/sizzle@2.3.8': {} + '@types/sizzle@2.3.9': {} '@types/tough-cookie@4.0.5': {} - '@types/tunnel@0.0.3': - dependencies: - '@types/node': 20.14.6 - '@types/yauzl@2.10.3': dependencies: - '@types/node': 20.14.6 + '@types/node': 18.19.60 optional: true '@typescript-eslint/eslint-plugin@8.11.0(@typescript-eslint/parser@8.11.0(eslint@9.13.0)(typescript@5.6.3))(eslint@9.13.0)(typescript@5.6.3)': dependencies: - '@eslint-community/regexpp': 4.11.1 + '@eslint-community/regexpp': 4.12.1 '@typescript-eslint/parser': 8.11.0(eslint@9.13.0)(typescript@5.6.3) '@typescript-eslint/scope-manager': 8.11.0 '@typescript-eslint/type-utils': 8.11.0(eslint@9.13.0)(typescript@5.6.3) @@ -12004,7 +11917,7 @@ snapshots: '@typescript-eslint/visitor-keys': 8.11.0 eslint: 9.13.0 graphemer: 1.4.0 - ignore: 5.3.1 + ignore: 5.3.2 natural-compare: 1.4.0 ts-api-utils: 1.3.0(typescript@5.6.3) optionalDependencies: @@ -12067,7 +11980,7 @@ snapshots: debug: 4.3.7(supports-color@8.1.1) fast-glob: 3.3.2 is-glob: 4.0.3 - minimatch: 9.0.4 + minimatch: 9.0.5 semver: 7.6.3 ts-api-utils: 1.3.0(typescript@5.6.3) optionalDependencies: @@ -12077,7 +11990,7 @@ snapshots: '@typescript-eslint/utils@8.11.0(eslint@9.13.0)(typescript@5.6.3)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.13.0) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.13.0) '@typescript-eslint/scope-manager': 8.11.0 '@typescript-eslint/types': 8.11.0 '@typescript-eslint/typescript-estree': 8.11.0(typescript@5.6.3) @@ -12098,9 +12011,9 @@ snapshots: '@vitejs/plugin-react@4.2.1(vite@5.2.14(@types/node@20.12.12)(sass@1.75.0))': dependencies: - '@babel/core': 7.24.7 - '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.24.7) + '@babel/core': 7.26.0 + '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 vite: 5.2.14(@types/node@20.12.12)(sass@1.75.0) @@ -12116,23 +12029,23 @@ snapshots: mime-types: 2.1.35 negotiator: 0.6.3 - acorn-import-assertions@1.9.0(acorn@8.12.0): + acorn-import-assertions@1.9.0(acorn@8.14.0): dependencies: - acorn: 8.12.0 + acorn: 8.14.0 - acorn-jsx@5.3.2(acorn@8.12.0): + acorn-jsx@5.3.2(acorn@8.14.0): dependencies: - acorn: 8.12.0 + acorn: 8.14.0 - acorn-walk@8.3.3: + acorn-walk@8.3.4: dependencies: - acorn: 8.12.0 + acorn: 8.14.0 - acorn@8.12.0: {} + acorn@8.14.0: {} agent-base@6.0.2: dependencies: - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.7(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -12190,11 +12103,15 @@ snapshots: ansi-escapes@6.2.1: {} + ansi-escapes@7.0.0: + dependencies: + environment: 1.1.0 + ansi-regex@3.0.1: {} ansi-regex@5.0.1: {} - ansi-regex@6.0.1: {} + ansi-regex@6.1.0: {} ansi-sequence-parser@1.1.1: {} @@ -12219,10 +12136,6 @@ snapshots: app-module-path@2.2.0: {} - append-transform@2.0.0: - dependencies: - default-require-extensions: 3.0.1 - archiver-utils@2.1.0: dependencies: glob: 7.2.3 @@ -12252,15 +12165,13 @@ snapshots: archiver@5.3.2: dependencies: archiver-utils: 2.1.0 - async: 3.2.5 + async: 3.2.6 buffer-crc32: 0.2.13 readable-stream: 3.6.2 readdir-glob: 1.1.3 tar-stream: 2.2.0 zip-stream: 4.1.1 - archy@1.0.0: {} - are-docs-informative@0.0.2: {} arg@4.1.3: {} @@ -12348,7 +12259,7 @@ snapshots: arrivals@2.1.2: dependencies: - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.7(supports-color@8.1.1) nanotimer: 0.3.14 transitivePeerDependencies: - supports-color @@ -12357,7 +12268,7 @@ snapshots: dependencies: '@playwright/browser-chromium': 1.44.1 '@playwright/test': 1.44.1 - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.7(supports-color@8.1.1) playwright: 1.44.1 transitivePeerDependencies: - supports-color @@ -12382,7 +12293,7 @@ snapshots: artillery-plugin-ensure@1.9.0: dependencies: chalk: 2.4.2 - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.7(supports-color@8.1.1) filtrex: 2.2.3 transitivePeerDependencies: - supports-color @@ -12390,7 +12301,7 @@ snapshots: artillery-plugin-expect@2.9.0: dependencies: chalk: 4.1.2 - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.7(supports-color@8.1.1) jmespath: 0.16.0 lodash: 4.17.21 transitivePeerDependencies: @@ -12402,36 +12313,36 @@ snapshots: artillery-plugin-metrics-by-endpoint@1.9.0: dependencies: - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.7(supports-color@8.1.1) transitivePeerDependencies: - supports-color artillery-plugin-publish-metrics@2.20.0: dependencies: - '@aws-sdk/client-cloudwatch': 3.600.0 + '@aws-sdk/client-cloudwatch': 3.679.0 '@opentelemetry/api': 1.9.0 - '@opentelemetry/context-async-hooks': 1.25.0(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-metrics-otlp-grpc': 0.52.0(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-metrics-otlp-http': 0.52.0(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-metrics-otlp-proto': 0.52.0(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-trace-otlp-grpc': 0.52.0(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-trace-otlp-http': 0.52.0(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-trace-otlp-proto': 0.52.0(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-zipkin': 1.25.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 1.25.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-metrics': 1.25.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 1.25.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.25.0 + '@opentelemetry/context-async-hooks': 1.27.0(@opentelemetry/api@1.9.0) + '@opentelemetry/exporter-metrics-otlp-grpc': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/exporter-metrics-otlp-http': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/exporter-metrics-otlp-proto': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/exporter-trace-otlp-grpc': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/exporter-trace-otlp-http': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/exporter-trace-otlp-proto': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/exporter-zipkin': 1.27.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 1.27.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-metrics': 1.27.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-trace-base': 1.27.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.27.0 async: 2.6.4 datadog-metrics: 0.9.3 - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.7(supports-color@8.1.1) dogapi: 2.8.4 hot-shots: 6.8.7 lightstep-tracer: 0.31.2 mixpanel: 0.13.0 opentracing: 0.14.7 prom-client: 14.2.0 - semver: 7.6.2 + semver: 7.6.3 uuid: 8.3.2 transitivePeerDependencies: - aws-crt @@ -12441,16 +12352,16 @@ snapshots: artillery-plugin-slack@1.4.0: dependencies: - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.7(supports-color@8.1.1) got: 11.8.6 transitivePeerDependencies: - supports-color - artillery@2.0.15(@aws-sdk/client-sso-oidc@3.600.0)(@types/node@20.12.12)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3): + artillery@2.0.15(@aws-sdk/client-sso-oidc@3.679.0(@aws-sdk/client-sts@3.679.0))(@types/node@20.12.12)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3): dependencies: '@artilleryio/int-commons': 2.6.0 '@artilleryio/int-core': 2.10.0 - '@aws-sdk/credential-providers': 3.600.0(@aws-sdk/client-sso-oidc@3.600.0) + '@aws-sdk/credential-providers': 3.679.0(@aws-sdk/client-sso-oidc@3.679.0(@aws-sdk/client-sts@3.679.0)) '@oclif/core': 2.16.0(@types/node@20.12.12)(typescript@5.6.3) '@oclif/plugin-help': 5.2.20(@types/node@20.12.12)(typescript@5.6.3) '@oclif/plugin-not-found': 2.4.3(@types/node@20.12.12)(typescript@5.6.3) @@ -12464,14 +12375,14 @@ snapshots: artillery-plugin-publish-metrics: 2.20.0 artillery-plugin-slack: 1.4.0 async: 2.6.4 - aws-sdk: 2.1645.0 + aws-sdk: 2.1691.0 chalk: 2.4.2 chokidar: 3.6.0 ci-info: 3.9.0 cli-table3: 0.6.5 cross-spawn: 7.0.3 csv-parse: 4.16.3 - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.7(supports-color@8.1.1) dependency-tree: 10.0.9 detective-es6: 4.0.1 dotenv: 16.4.5 @@ -12487,7 +12398,7 @@ snapshots: moment: 2.30.1 nanoid: 3.3.7 ora: 4.1.1 - posthog-node: 3.6.3(debug@4.3.5) + posthog-node: 3.6.3(debug@4.3.7) rc: 1.2.8 sqs-consumer: 5.8.0 temp: 0.9.4 @@ -12539,7 +12450,7 @@ snapshots: dependencies: lodash: 4.17.21 - async@3.2.5: {} + async@3.2.6: {} asynckit@0.4.0: {} @@ -12549,7 +12460,7 @@ snapshots: dependencies: possible-typed-array-names: 1.0.0 - aws-sdk@2.1645.0: + aws-sdk@2.1691.0: dependencies: buffer: 4.9.2 events: 1.1.1 @@ -12568,18 +12479,10 @@ snapshots: axe-core@4.10.2: {} - axios@1.7.2(debug@4.3.5): + axios@1.7.7(debug@4.3.7): dependencies: - follow-redirects: 1.15.6(debug@4.3.5) - form-data: 4.0.0 - proxy-from-env: 1.1.0 - transitivePeerDependencies: - - debug - - axios@1.7.7: - dependencies: - follow-redirects: 1.15.6(debug@4.3.5) - form-data: 4.0.0 + follow-redirects: 1.15.9(debug@4.3.7) + form-data: 4.0.1 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug @@ -12662,12 +12565,12 @@ snapshots: browser-stdout@1.3.1: {} - browserslist@4.23.1: + browserslist@4.24.2: dependencies: - caniuse-lite: 1.0.30001636 - electron-to-chromium: 1.4.807 - node-releases: 2.0.14 - update-browserslist-db: 1.0.16(browserslist@4.23.1) + caniuse-lite: 1.0.30001674 + electron-to-chromium: 1.5.49 + node-releases: 2.0.18 + update-browserslist-db: 1.1.1(browserslist@4.24.2) buffer-crc32@0.2.13: {} @@ -12686,26 +12589,40 @@ snapshots: bytes@3.1.2: {} + c8@10.1.2: + dependencies: + '@bcoe/v8-coverage': 0.2.3 + '@istanbuljs/schema': 0.1.3 + find-up: 5.0.0 + foreground-child: 3.3.0 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-report: 3.0.1 + istanbul-reports: 3.1.7 + test-exclude: 7.0.1 + v8-to-istanbul: 9.3.0 + yargs: 17.7.2 + yargs-parser: 21.1.1 + c8@9.1.0: dependencies: '@bcoe/v8-coverage': 0.2.3 '@istanbuljs/schema': 0.1.3 find-up: 5.0.0 - foreground-child: 3.2.1 + foreground-child: 3.3.0 istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 istanbul-reports: 3.1.7 test-exclude: 6.0.0 - v8-to-istanbul: 9.2.0 + v8-to-istanbul: 9.3.0 yargs: 17.7.2 yargs-parser: 21.1.1 - cacache@18.0.3: + cacache@18.0.4: dependencies: '@npmcli/fs': 3.1.1 fs-minipass: 3.0.3 - glob: 10.4.2 - lru-cache: 10.2.2 + glob: 10.4.5 + lru-cache: 10.4.3 minipass: 7.1.2 minipass-collect: 2.0.1 minipass-flush: 1.0.5 @@ -12727,13 +12644,6 @@ snapshots: normalize-url: 6.1.0 responselike: 2.0.1 - caching-transform@4.0.0: - dependencies: - hasha: 5.2.2 - make-dir: 3.1.0 - package-hash: 4.0.0 - write-file-atomic: 3.0.3 - call-bind@1.0.7: dependencies: es-define-property: 1.0.0 @@ -12744,11 +12654,9 @@ snapshots: callsites@3.1.0: {} - camelcase@5.3.1: {} - camelcase@6.3.0: {} - caniuse-lite@1.0.30001636: {} + caniuse-lite@1.0.30001674: {} cardinal@2.1.1: dependencies: @@ -12778,7 +12686,7 @@ snapshots: get-func-name: 2.0.2 loupe: 2.3.7 pathval: 1.1.1 - type-detect: 4.0.8 + type-detect: 4.1.0 chalk@2.4.2: dependencies: @@ -12815,15 +12723,19 @@ snapshots: domhandler: 5.0.3 domutils: 3.1.0 - cheerio@1.0.0-rc.12: + cheerio@1.0.0: dependencies: cheerio-select: 2.1.0 dom-serializer: 2.0.0 domhandler: 5.0.3 domutils: 3.1.0 - htmlparser2: 8.0.2 - parse5: 7.1.2 - parse5-htmlparser2-tree-adapter: 7.0.0 + encoding-sniffer: 0.2.0 + htmlparser2: 9.1.0 + parse5: 7.2.1 + parse5-htmlparser2-tree-adapter: 7.1.0 + parse5-parser-stream: 7.1.2 + undici: 6.20.1 + whatwg-mimetype: 4.0.0 chokidar@3.6.0: dependencies: @@ -12841,7 +12753,7 @@ snapshots: ci-info@3.9.0: {} - cjs-module-lexer@1.3.1: {} + cjs-module-lexer@1.4.1: {} classnames@2.3.1: {} @@ -12863,6 +12775,10 @@ snapshots: dependencies: restore-cursor: 4.0.0 + cli-cursor@5.0.0: + dependencies: + restore-cursor: 5.1.0 + cli-progress@3.12.0: dependencies: string-width: 4.2.3 @@ -12883,13 +12799,7 @@ snapshots: cli-truncate@4.0.0: dependencies: slice-ansi: 5.0.0 - string-width: 7.1.0 - - cliui@6.0.0: - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 6.2.0 + string-width: 7.2.0 cliui@7.0.4: dependencies: @@ -12941,8 +12851,6 @@ snapshots: comment-parser@1.4.1: {} - commondir@1.0.1: {} - compress-commons@4.1.2: dependencies: buffer-crc32: 0.2.13 @@ -12958,22 +12866,20 @@ snapshots: content-type@1.0.5: {} - convert-source-map@1.9.0: {} - convert-source-map@2.0.0: {} convert-to-spaces@2.0.1: {} - cookie-parser@1.4.6: + cookie-parser@1.4.7: dependencies: - cookie: 0.4.1 + cookie: 0.7.2 cookie-signature: 1.0.6 cookie-signature@1.0.6: {} - cookie@0.4.1: {} + cookie@0.7.1: {} - cookie@0.6.0: {} + cookie@0.7.2: {} core-util-is@1.0.2: {} @@ -12998,14 +12904,14 @@ snapshots: cpx2@7.0.1: dependencies: - debounce: 2.1.0 + debounce: 2.2.0 debug: 4.3.7(supports-color@8.1.1) duplexer: 0.1.2 fs-extra: 11.2.0 - glob: 10.4.2 + glob: 10.4.5 glob2base: 0.0.12 - ignore: 5.3.1 - minimatch: 9.0.4 + ignore: 5.3.2 + minimatch: 9.0.5 p-map: 6.0.0 resolve: 1.22.8 safe-buffer: 5.2.1 @@ -13065,9 +12971,9 @@ snapshots: css-what@6.1.0: {} - cssstyle@4.0.1: + cssstyle@4.1.0: dependencies: - rrweb-cssom: 0.6.0 + rrweb-cssom: 0.7.1 csstype@3.1.2: {} @@ -13111,7 +13017,7 @@ snapshots: debounce@1.2.1: {} - debounce@2.1.0: {} + debounce@2.2.0: {} debug@2.6.9: dependencies: @@ -13125,20 +13031,12 @@ snapshots: dependencies: ms: 2.1.3 - debug@4.3.5(supports-color@8.1.1): - dependencies: - ms: 2.1.2 - optionalDependencies: - supports-color: 8.1.1 - debug@4.3.7(supports-color@8.1.1): dependencies: ms: 2.1.3 optionalDependencies: supports-color: 8.1.1 - decamelize@1.2.0: {} - decamelize@4.0.0: {} decimal.js@10.4.3: {} @@ -13149,7 +13047,7 @@ snapshots: deep-eql@4.1.4: dependencies: - type-detect: 4.0.8 + type-detect: 4.1.0 deep-extend@0.6.0: {} @@ -13159,10 +13057,6 @@ snapshots: deep-is@0.1.4: {} - default-require-extensions@3.0.1: - dependencies: - strip-bom: 4.0.0 - defaults@1.0.4: dependencies: clone: 1.0.4 @@ -13224,8 +13118,8 @@ snapshots: detective-postcss@6.1.3: dependencies: is-url: 1.2.4 - postcss: 8.4.38 - postcss-values-parser: 6.0.2(postcss@8.4.38) + postcss: 8.4.47 + postcss-values-parser: 6.0.2(postcss@8.4.47) detective-sass@5.0.3: dependencies: @@ -13274,7 +13168,7 @@ snapshots: dom-helpers@5.2.1: dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.26.0 csstype: 3.1.2 dom-serializer@2.0.0: @@ -13289,7 +13183,7 @@ snapshots: dependencies: domelementtype: 2.3.0 - dompurify@2.5.6: {} + dompurify@2.5.7: {} domutils@3.1.0: dependencies: @@ -13322,19 +13216,19 @@ snapshots: ejs@3.1.10: dependencies: - jake: 10.9.1 + jake: 10.9.2 - electron-to-chromium@1.4.807: {} + electron-to-chromium@1.5.49: {} electron@28.3.1: dependencies: '@electron/get': 2.0.3 - '@types/node': 18.19.37 + '@types/node': 18.19.60 extract-zip: 2.0.1 transitivePeerDependencies: - supports-color - emoji-regex@10.3.0: {} + emoji-regex@10.4.0: {} emoji-regex@8.0.0: {} @@ -13344,6 +13238,11 @@ snapshots: encodeurl@2.0.0: {} + encoding-sniffer@0.2.0: + dependencies: + iconv-lite: 0.6.3 + whatwg-encoding: 3.1.1 + encoding@0.1.13: dependencies: iconv-lite: 0.6.3 @@ -13353,21 +13252,21 @@ snapshots: dependencies: once: 1.4.0 - engine.io-client@6.5.4: + engine.io-client@6.6.2: dependencies: '@socket.io/component-emitter': 3.1.2 - debug: 4.3.5(supports-color@8.1.1) - engine.io-parser: 5.2.2 + debug: 4.3.7(supports-color@8.1.1) + engine.io-parser: 5.2.3 ws: 8.17.1 - xmlhttprequest-ssl: 2.0.0 + xmlhttprequest-ssl: 2.1.2 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - engine.io-parser@5.2.2: {} + engine.io-parser@5.2.3: {} - enhanced-resolve@5.17.0: + enhanced-resolve@5.17.1: dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 @@ -13383,6 +13282,8 @@ snapshots: env-paths@2.2.1: {} + environment@1.1.0: {} + err-code@2.0.3: {} error-ex@1.3.2: @@ -13422,10 +13323,10 @@ snapshots: is-string: 1.0.7 is-typed-array: 1.1.13 is-weakref: 1.0.2 - object-inspect: 1.13.1 + object-inspect: 1.13.2 object-keys: 1.1.1 object.assign: 4.1.5 - regexp.prototype.flags: 1.5.2 + regexp.prototype.flags: 1.5.3 safe-array-concat: 1.1.2 safe-regex-test: 1.0.3 string.prototype.trim: 1.2.9 @@ -13483,7 +13384,8 @@ snapshots: is-date-object: 1.0.5 is-symbol: 1.0.4 - es6-error@4.1.1: {} + es6-error@4.1.1: + optional: true es6-promise@4.2.8: {} @@ -13515,7 +13417,7 @@ snapshots: '@esbuild/win32-ia32': 0.20.2 '@esbuild/win32-x64': 0.20.2 - escalade@3.1.2: {} + escalade@3.2.0: {} escape-html@1.0.3: {} @@ -13609,7 +13511,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-jsx-a11y@6.10.1(eslint@9.13.0): + eslint-plugin-jsx-a11y@6.10.2(eslint@9.13.0): dependencies: aria-query: 5.3.2 array-includes: 3.1.8 @@ -13619,7 +13521,6 @@ snapshots: axobject-query: 4.1.0 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - es-iterator-helpers: 1.1.0 eslint: 9.13.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 @@ -13670,14 +13571,14 @@ snapshots: eslint@9.13.0: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.13.0) - '@eslint-community/regexpp': 4.11.1 + '@eslint-community/eslint-utils': 4.4.1(eslint@9.13.0) + '@eslint-community/regexpp': 4.12.1 '@eslint/config-array': 0.18.0 '@eslint/core': 0.7.0 '@eslint/eslintrc': 3.1.0 '@eslint/js': 9.13.0 - '@eslint/plugin-kit': 0.2.1 - '@humanfs/node': 0.16.5 + '@eslint/plugin-kit': 0.2.2 + '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.3.1 '@types/estree': 1.0.6 @@ -13696,7 +13597,7 @@ snapshots: file-entry-cache: 8.0.0 find-up: 5.0.0 glob-parent: 6.0.2 - ignore: 5.3.1 + ignore: 5.3.2 imurmurhash: 0.1.4 is-glob: 4.0.3 json-stable-stringify-without-jsonify: 1.0.1 @@ -13710,14 +13611,14 @@ snapshots: espree@10.2.0: dependencies: - acorn: 8.12.0 - acorn-jsx: 5.3.2(acorn@8.12.0) + acorn: 8.14.0 + acorn-jsx: 5.3.2(acorn@8.14.0) eslint-visitor-keys: 4.1.0 espree@9.6.1: dependencies: - acorn: 8.12.0 - acorn-jsx: 5.3.2(acorn@8.12.0) + acorn: 8.14.0 + acorn-jsx: 5.3.2(acorn@8.14.0) eslint-visitor-keys: 3.4.3 esprima@4.0.1: {} @@ -13772,22 +13673,22 @@ snapshots: exponential-backoff@3.1.1: {} - express-ws@5.0.2(express@4.21.0): + express-ws@5.0.2(express@4.21.1): dependencies: - express: 4.21.0 + express: 4.21.1 ws: 7.5.10 transitivePeerDependencies: - bufferutil - utf-8-validate - express@4.21.0: + express@4.21.1: dependencies: accepts: 1.3.8 array-flatten: 1.1.1 body-parser: 1.20.3 content-disposition: 0.5.4 content-type: 1.0.5 - cookie: 0.6.0 + cookie: 0.7.1 cookie-signature: 1.0.6 debug: 2.6.9 depd: 2.0.0 @@ -13846,7 +13747,7 @@ snapshots: '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.7 + micromatch: 4.0.8 fast-json-stable-stringify@2.1.0: {} @@ -13858,7 +13759,7 @@ snapshots: fast-sort@3.4.0: {} - fast-xml-parser@4.2.5: + fast-xml-parser@4.4.1: dependencies: strnum: 1.0.5 @@ -13893,7 +13794,7 @@ snapshots: dependencies: app-module-path: 2.2.0 commander: 10.0.1 - enhanced-resolve: 5.17.0 + enhanced-resolve: 5.17.1 is-relative-path: 1.0.2 module-definition: 5.0.1 module-lookup-amd: 8.0.5 @@ -13924,12 +13825,6 @@ snapshots: transitivePeerDependencies: - supports-color - find-cache-dir@3.3.2: - dependencies: - commondir: 1.0.1 - make-dir: 3.1.0 - pkg-dir: 4.2.0 - find-index@0.1.1: {} find-up@4.1.0: @@ -13944,7 +13839,7 @@ snapshots: find-yarn-workspace-root2@1.2.16: dependencies: - micromatch: 4.0.7 + micromatch: 4.0.8 pkg-dir: 4.2.0 flat-cache@4.0.1: @@ -13958,20 +13853,15 @@ snapshots: flatted@3.3.1: {} - follow-redirects@1.15.6(debug@4.3.5): + follow-redirects@1.15.9(debug@4.3.7): optionalDependencies: - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.7(supports-color@8.1.1) for-each@0.3.3: dependencies: is-callable: 1.2.7 - foreground-child@2.0.0: - dependencies: - cross-spawn: 7.0.3 - signal-exit: 3.0.7 - - foreground-child@3.2.1: + foreground-child@3.3.0: dependencies: cross-spawn: 7.0.3 signal-exit: 4.1.0 @@ -13984,19 +13874,20 @@ snapshots: combined-stream: 1.0.8 mime-types: 2.1.35 - form-data@2.5.1: + form-data@2.5.2: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 mime-types: 2.1.35 + safe-buffer: 5.2.1 - form-data@3.0.1: + form-data@3.0.2: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 mime-types: 2.1.35 - form-data@4.0.0: + form-data@4.0.1: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 @@ -14074,7 +13965,7 @@ snapshots: get-caller-file@2.0.5: {} - get-east-asian-width@1.2.0: {} + get-east-asian-width@1.3.0: {} get-func-name@2.0.2: {} @@ -14092,11 +13983,11 @@ snapshots: get-stream@4.1.0: dependencies: - pump: 3.0.0 + pump: 3.0.2 get-stream@5.2.0: dependencies: - pump: 3.0.0 + pump: 3.0.2 get-stream@8.0.1: {} @@ -14154,22 +14045,22 @@ snapshots: dependencies: find-index: 0.1.1 - glob@10.4.2: + glob@10.4.5: dependencies: - foreground-child: 3.2.1 - jackspeak: 3.4.0 - minimatch: 9.0.4 + foreground-child: 3.3.0 + jackspeak: 3.4.3 + minimatch: 9.0.5 minipass: 7.1.2 - package-json-from-dist: 1.0.0 + package-json-from-dist: 1.0.1 path-scurry: 1.11.1 glob@11.0.0: dependencies: - foreground-child: 3.2.1 - jackspeak: 4.0.1 + foreground-child: 3.3.0 + jackspeak: 4.0.2 minimatch: 10.0.1 minipass: 7.1.2 - package-json-from-dist: 1.0.0 + package-json-from-dist: 1.0.1 path-scurry: 2.0.0 glob@7.2.3: @@ -14199,9 +14090,9 @@ snapshots: serialize-error: 7.0.1 optional: true - global-jsdom@24.0.0(jsdom@24.1.0): + global-jsdom@25.0.0(jsdom@25.0.1): dependencies: - jsdom: 24.1.0 + jsdom: 25.0.1 globals@11.12.0: {} @@ -14217,7 +14108,7 @@ snapshots: array-union: 2.1.0 dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.3.1 + ignore: 5.3.2 merge2: 1.4.1 slash: 3.0.0 @@ -14276,11 +14167,6 @@ snapshots: has@1.0.4: {} - hasha@5.2.2: - dependencies: - is-stream: 2.0.1 - type-fest: 0.8.1 - hasown@2.0.2: dependencies: function-bind: 1.1.2 @@ -14297,7 +14183,7 @@ snapshots: hosted-git-info@7.0.2: dependencies: - lru-cache: 10.2.2 + lru-cache: 10.4.3 hot-shots@6.8.7: optionalDependencies: @@ -14311,7 +14197,7 @@ snapshots: html-escaper@2.0.2: {} - htmlparser2@8.0.2: + htmlparser2@9.1.0: dependencies: domelementtype: 2.3.0 domhandler: 5.0.3 @@ -14357,18 +14243,18 @@ snapshots: https-proxy-agent@5.0.0: dependencies: agent-base: 6.0.2 - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.7(supports-color@8.1.1) transitivePeerDependencies: - supports-color https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.7(supports-color@8.1.1) transitivePeerDependencies: - supports-color - https-proxy-agent@7.0.4: + https-proxy-agent@7.0.5: dependencies: agent-base: 7.1.1 debug: 4.3.7(supports-color@8.1.1) @@ -14389,7 +14275,7 @@ snapshots: i18next-browser-languagedetector@6.1.8: dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.26.0 i18next-http-backend@1.4.5(encoding@0.1.13): dependencies: @@ -14399,7 +14285,7 @@ snapshots: i18next@21.10.0: dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.26.0 iconv-lite@0.4.24: dependencies: @@ -14417,15 +14303,15 @@ snapshots: ignore-walk@6.0.5: dependencies: - minimatch: 9.0.4 + minimatch: 9.0.5 - ignore@5.3.1: {} + ignore@5.3.2: {} immer@10.0.4: {} immer@9.0.6: {} - immutable@4.3.6: {} + immutable@4.3.7: {} import-fresh@3.3.0: dependencies: @@ -14434,9 +14320,9 @@ snapshots: import-in-the-middle@1.7.1: dependencies: - acorn: 8.12.0 - acorn-import-assertions: 1.9.0(acorn@8.12.0) - cjs-module-lexer: 1.3.1 + acorn: 8.14.0 + acorn-import-assertions: 1.9.0(acorn@8.14.0) + cjs-module-lexer: 1.4.1 module-details-from-path: 1.0.3 import-lazy@4.0.0: {} @@ -14456,6 +14342,8 @@ snapshots: ini@1.3.8: {} + ini@4.1.3: {} + ink@4.4.1(@types/react@18.3.3)(react@18.3.1): dependencies: '@alcalzone/ansi-tokenize': 0.1.3 @@ -14482,7 +14370,7 @@ snapshots: type-fest: 0.12.0 widest-line: 4.0.1 wrap-ansi: 8.1.0 - ws: 8.17.1 + ws: 8.18.0 yoga-wasm-web: 0.3.3 optionalDependencies: '@types/react': 18.3.3 @@ -14546,10 +14434,6 @@ snapshots: dependencies: ci-info: 3.9.0 - is-core-module@2.13.1: - dependencies: - hasown: 2.0.2 - is-core-module@2.15.1: dependencies: hasown: 2.0.2 @@ -14576,7 +14460,7 @@ snapshots: is-fullwidth-code-point@5.0.0: dependencies: - get-east-asian-width: 1.2.0 + get-east-asian-width: 1.3.0 is-generator-function@1.0.10: dependencies: @@ -14592,7 +14476,7 @@ snapshots: is-lower-case@2.0.2: dependencies: - tslib: 2.6.3 + tslib: 2.8.0 is-map@2.0.3: {} @@ -14606,6 +14490,8 @@ snapshots: is-obj@1.0.1: {} + is-plain-obj@1.1.0: {} + is-plain-obj@2.1.0: {} is-plain-object@5.0.0: {} @@ -14637,8 +14523,6 @@ snapshots: is-stream@1.1.0: {} - is-stream@2.0.1: {} - is-stream@3.0.0: {} is-string@1.0.7: @@ -14663,7 +14547,7 @@ snapshots: is-upper-case@2.0.2: dependencies: - tslib: 2.6.3 + tslib: 2.8.0 is-url-superb@4.0.0: {} @@ -14706,43 +14590,12 @@ snapshots: istanbul-lib-coverage@3.2.2: {} - istanbul-lib-hook@3.0.0: - dependencies: - append-transform: 2.0.0 - - istanbul-lib-instrument@6.0.3: - dependencies: - '@babel/core': 7.24.7 - '@babel/parser': 7.24.7 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-coverage: 3.2.2 - semver: 7.6.3 - transitivePeerDependencies: - - supports-color - - istanbul-lib-processinfo@2.0.3: - dependencies: - archy: 1.0.0 - cross-spawn: 7.0.3 - istanbul-lib-coverage: 3.2.2 - p-map: 3.0.0 - rimraf: 3.0.2 - uuid: 8.3.2 - istanbul-lib-report@3.0.1: dependencies: istanbul-lib-coverage: 3.2.2 make-dir: 4.0.0 supports-color: 7.2.0 - istanbul-lib-source-maps@4.0.1: - dependencies: - debug: 4.3.7(supports-color@8.1.1) - istanbul-lib-coverage: 3.2.2 - source-map: 0.6.1 - transitivePeerDependencies: - - supports-color - istanbul-reports@3.1.7: dependencies: html-escaper: 2.0.2 @@ -14756,21 +14609,19 @@ snapshots: reflect.getprototypeof: 1.0.6 set-function-name: 2.0.2 - jackspeak@3.4.0: + jackspeak@3.4.3: dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: '@pkgjs/parseargs': 0.11.0 - jackspeak@4.0.1: + jackspeak@4.0.2: dependencies: '@isaacs/cliui': 8.0.2 - optionalDependencies: - '@pkgjs/parseargs': 0.11.0 - jake@10.9.1: + jake@10.9.2: dependencies: - async: 3.2.5 + async: 3.2.6 chalk: 4.1.2 filelist: 1.0.4 minimatch: 3.1.2 @@ -14811,7 +14662,7 @@ snapshots: '@sideway/formula': 3.0.1 '@sideway/pinpoint': 2.0.0 - jotai@2.8.3(@types/react@18.3.3)(react@18.3.1): + jotai@2.10.1(@types/react@18.3.3)(react@18.3.1): optionalDependencies: '@types/react': 18.3.3 react: 18.3.1 @@ -14835,35 +14686,35 @@ snapshots: jsdoc-type-pratt-parser@4.1.0: {} - jsdom@24.1.0: + jsdom@25.0.1: dependencies: - cssstyle: 4.0.1 + cssstyle: 4.1.0 data-urls: 5.0.0 decimal.js: 10.4.3 - form-data: 4.0.0 + form-data: 4.0.1 html-encoding-sniffer: 4.0.0 http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.4 + https-proxy-agent: 7.0.5 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.10 - parse5: 7.1.2 + nwsapi: 2.2.13 + parse5: 7.2.1 rrweb-cssom: 0.7.1 saxes: 6.0.0 symbol-tree: 3.2.4 - tough-cookie: 4.1.4 + tough-cookie: 5.0.0 w3c-xmlserializer: 5.0.0 webidl-conversions: 7.0.0 whatwg-encoding: 3.1.1 whatwg-mimetype: 4.0.0 whatwg-url: 14.0.0 - ws: 8.17.1 + ws: 8.18.0 xml-name-validator: 5.0.0 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - jsesc@2.5.2: {} + jsesc@3.0.2: {} json-bigint@1.0.0: dependencies: @@ -14891,7 +14742,7 @@ snapshots: json5@2.2.3: {} - jsonc-parser@3.2.1: {} + jsonc-parser@3.3.1: {} jsonfile@4.0.0: optionalDependencies: @@ -14918,7 +14769,7 @@ snapshots: lodash.isstring: 4.0.1 lodash.once: 4.1.1 ms: 2.1.3 - semver: 7.6.2 + semver: 7.6.3 jsprim@1.4.2: dependencies: @@ -15007,23 +14858,23 @@ snapshots: dependencies: chalk: 5.3.0 commander: 12.1.0 - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.7(supports-color@8.1.1) execa: 8.0.1 lilconfig: 3.1.2 - listr2: 8.2.3 - micromatch: 4.0.7 + listr2: 8.2.5 + micromatch: 4.0.8 pidtree: 0.6.0 string-argv: 0.3.2 yaml: 2.4.5 transitivePeerDependencies: - supports-color - listr2@8.2.3: + listr2@8.2.5: dependencies: cli-truncate: 4.0.0 colorette: 2.0.20 eventemitter3: 5.0.1 - log-update: 6.0.0 + log-update: 6.1.0 rfdc: 1.4.1 wrap-ansi: 9.0.0 @@ -15057,8 +14908,6 @@ snapshots: lodash.flatten@4.4.0: {} - lodash.flattendeep@4.4.0: {} - lodash.get@4.4.2: {} lodash.includes@4.3.0: {} @@ -15094,10 +14943,10 @@ snapshots: chalk: 4.1.2 is-unicode-supported: 0.1.0 - log-update@6.0.0: + log-update@6.1.0: dependencies: - ansi-escapes: 6.2.1 - cli-cursor: 4.0.0 + ansi-escapes: 7.0.0 + cli-cursor: 5.0.0 slice-ansi: 7.1.0 strip-ansi: 7.1.0 wrap-ansi: 9.0.0 @@ -15114,9 +14963,9 @@ snapshots: lowercase-keys@2.0.0: {} - lru-cache@10.2.2: {} + lru-cache@10.4.3: {} - lru-cache@11.0.0: {} + lru-cache@11.0.1: {} lru-cache@4.1.5: dependencies: @@ -15135,10 +14984,6 @@ snapshots: lz-string@1.5.0: {} - make-dir@3.1.0: - dependencies: - semver: 6.3.1 - make-dir@4.0.0: dependencies: semver: 7.6.3 @@ -15148,14 +14993,14 @@ snapshots: make-fetch-happen@13.0.1: dependencies: '@npmcli/agent': 2.2.2 - cacache: 18.0.3 + cacache: 18.0.4 http-cache-semantics: 4.1.1 is-lambda: 1.0.1 minipass: 7.1.2 minipass-fetch: 3.0.5 minipass-flush: 1.0.5 minipass-pipeline: 1.2.4 - negotiator: 0.6.3 + negotiator: 0.6.4 proc-log: 4.2.0 promise-retry: 2.0.1 ssri: 10.0.6 @@ -15222,7 +15067,7 @@ snapshots: micro-memoize@4.1.2: {} - micromatch@4.0.7: + micromatch@4.0.8: dependencies: braces: 3.0.3 picomatch: 2.3.1 @@ -15239,6 +15084,8 @@ snapshots: mimic-fn@4.0.0: {} + mimic-function@5.0.1: {} + mimic-response@1.0.1: {} mimic-response@3.1.0: {} @@ -15259,7 +15106,7 @@ snapshots: dependencies: brace-expansion: 2.0.1 - minimatch@9.0.4: + minimatch@9.0.5: dependencies: brace-expansion: 2.0.1 @@ -15281,7 +15128,7 @@ snapshots: dependencies: minipass: 3.3.6 - minipass-json-stream@1.0.1: + minipass-json-stream@1.0.2: dependencies: jsonparse: 1.3.1 minipass: 3.3.6 @@ -15321,18 +15168,18 @@ snapshots: mkdirp@3.0.1: {} - mocha-junit-reporter@2.2.1(mocha@10.6.0): + mocha-junit-reporter@2.2.1(mocha@10.7.3): dependencies: debug: 4.3.7(supports-color@8.1.1) md5: 2.3.0 mkdirp: 3.0.1 - mocha: 10.6.0 + mocha: 10.7.3 strip-ansi: 6.0.1 xml: 1.0.1 transitivePeerDependencies: - supports-color - mocha@10.6.0: + mocha@10.7.3: dependencies: ansi-colors: 4.1.3 browser-stdout: 1.3.1 @@ -15366,7 +15213,7 @@ snapshots: dependencies: commander: 10.0.1 glob: 7.2.3 - requirejs: 2.3.6 + requirejs: 2.3.7 requirejs-config-file: 4.0.0 moment@2.30.1: {} @@ -15375,8 +15222,6 @@ snapshots: ms@2.0.0: {} - ms@2.1.2: {} - ms@2.1.3: {} multiparty@4.2.3: @@ -15387,7 +15232,7 @@ snapshots: mute-stream@0.0.8: {} - nan@2.20.0: + nan@2.22.0: optional: true nanoid@3.3.7: {} @@ -15402,15 +15247,17 @@ snapshots: negotiator@0.6.3: {} + negotiator@0.6.4: {} + nice-try@1.0.5: {} - nise@6.0.0: + nise@6.1.1: dependencies: '@sinonjs/commons': 3.0.1 - '@sinonjs/fake-timers': 11.2.2 - '@sinonjs/text-encoding': 0.7.2 + '@sinonjs/fake-timers': 13.0.4 + '@sinonjs/text-encoding': 0.7.3 just-extend: 6.2.0 - path-to-regexp: 6.2.2 + path-to-regexp: 8.2.0 node-fetch@2.6.7(encoding@0.1.13): dependencies: @@ -15418,21 +15265,15 @@ snapshots: optionalDependencies: encoding: 0.1.13 - node-fetch@2.7.0(encoding@0.1.13): - dependencies: - whatwg-url: 5.0.0 - optionalDependencies: - encoding: 0.1.13 - - node-gyp@10.1.0: + node-gyp@10.2.0: dependencies: env-paths: 2.2.1 exponential-backoff: 3.1.1 - glob: 10.4.2 + glob: 10.4.5 graceful-fs: 4.2.11 make-fetch-happen: 13.0.1 nopt: 7.2.1 - proc-log: 3.0.0 + proc-log: 4.2.0 semver: 7.6.3 tar: 6.2.1 which: 4.0.0 @@ -15441,15 +15282,11 @@ snapshots: node-int64@0.4.0: {} - node-preload@0.2.1: - dependencies: - process-on-spawn: 1.0.0 - - node-releases@2.0.14: {} + node-releases@2.0.18: {} node-source-walk@6.0.2: dependencies: - '@babel/parser': 7.24.7 + '@babel/parser': 7.26.1 nopt@7.2.1: dependencies: @@ -15462,10 +15299,9 @@ snapshots: semver: 5.7.2 validate-npm-package-license: 3.0.4 - normalize-package-data@6.0.1: + normalize-package-data@6.0.2: dependencies: hosted-git-info: 7.0.2 - is-core-module: 2.15.1 semver: 7.6.3 validate-npm-package-license: 3.0.4 @@ -15483,7 +15319,7 @@ snapshots: npm-normalize-package-bin@3.0.1: {} - npm-package-arg@11.0.2: + npm-package-arg@11.0.3: dependencies: hosted-git-info: 7.0.2 proc-log: 4.2.0 @@ -15494,11 +15330,11 @@ snapshots: dependencies: ignore-walk: 6.0.5 - npm-pick-manifest@9.0.1: + npm-pick-manifest@9.1.0: dependencies: npm-install-checks: 6.3.0 npm-normalize-package-bin: 3.0.1 - npm-package-arg: 11.0.2 + npm-package-arg: 11.0.3 semver: 7.6.3 npm-registry-fetch@16.2.1: @@ -15507,9 +15343,9 @@ snapshots: make-fetch-happen: 13.0.1 minipass: 7.1.2 minipass-fetch: 3.0.5 - minipass-json-stream: 1.0.1 + minipass-json-stream: 1.0.2 minizlib: 2.1.2 - npm-package-arg: 11.0.2 + npm-package-arg: 11.0.3 proc-log: 4.2.0 transitivePeerDependencies: - supports-color @@ -15538,39 +15374,7 @@ snapshots: dependencies: boolbase: 1.0.0 - nwsapi@2.2.10: {} - - nyc@17.0.0: - dependencies: - '@istanbuljs/load-nyc-config': 1.1.0 - '@istanbuljs/schema': 0.1.3 - caching-transform: 4.0.0 - convert-source-map: 1.9.0 - decamelize: 1.2.0 - find-cache-dir: 3.3.2 - find-up: 4.1.0 - foreground-child: 2.0.0 - get-package-type: 0.1.0 - glob: 7.2.3 - istanbul-lib-coverage: 3.2.2 - istanbul-lib-hook: 3.0.0 - istanbul-lib-instrument: 6.0.3 - istanbul-lib-processinfo: 2.0.3 - istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.7 - make-dir: 3.1.0 - node-preload: 0.2.1 - p-map: 3.0.0 - process-on-spawn: 1.0.0 - resolve-from: 5.0.0 - rimraf: 3.0.2 - signal-exit: 3.0.7 - spawn-wrap: 2.0.0 - test-exclude: 6.0.0 - yargs: 15.4.1 - transitivePeerDependencies: - - supports-color + nwsapi@2.2.13: {} oauth-sign@0.9.0: {} @@ -15582,7 +15386,7 @@ snapshots: object-hash@3.0.0: {} - object-inspect@1.13.1: {} + object-inspect@1.13.2: {} object-keys@1.1.1: {} @@ -15636,6 +15440,10 @@ snapshots: dependencies: mimic-fn: 4.0.0 + onetime@7.0.0: + dependencies: + mimic-function: 5.0.1 + open@7.4.2: dependencies: is-docker: 2.2.1 @@ -15699,10 +15507,6 @@ snapshots: p-map@2.1.0: {} - p-map@3.0.0: - dependencies: - aggregate-error: 3.1.0 - p-map@4.0.0: dependencies: aggregate-error: 3.1.0 @@ -15711,27 +15515,20 @@ snapshots: p-try@2.2.0: {} - package-hash@4.0.0: - dependencies: - graceful-fs: 4.2.11 - hasha: 5.2.2 - lodash.flattendeep: 4.4.0 - release-zalgo: 1.0.0 - - package-json-from-dist@1.0.0: {} + package-json-from-dist@1.0.1: {} pacote@17.0.7: dependencies: - '@npmcli/git': 5.0.7 + '@npmcli/git': 5.0.8 '@npmcli/installed-package-contents': 2.1.0 '@npmcli/promise-spawn': 7.0.2 '@npmcli/run-script': 7.0.4 - cacache: 18.0.3 + cacache: 18.0.4 fs-minipass: 3.0.3 minipass: 7.1.2 - npm-package-arg: 11.0.2 + npm-package-arg: 11.0.3 npm-packlist: 8.0.2 - npm-pick-manifest: 9.0.1 + npm-pick-manifest: 9.1.0 npm-registry-fetch: 16.2.1 proc-log: 4.2.0 promise-retry: 2.0.1 @@ -15768,12 +15565,16 @@ snapshots: dependencies: parse-path: 7.0.0 - parse5-htmlparser2-tree-adapter@7.0.0: + parse5-htmlparser2-tree-adapter@7.1.0: dependencies: domhandler: 5.0.3 - parse5: 7.1.2 + parse5: 7.2.1 + + parse5-parser-stream@7.1.2: + dependencies: + parse5: 7.2.1 - parse5@7.1.2: + parse5@7.2.1: dependencies: entities: 4.5.0 @@ -15800,17 +15601,17 @@ snapshots: path-scurry@1.11.1: dependencies: - lru-cache: 10.2.2 + lru-cache: 10.4.3 minipass: 7.1.2 path-scurry@2.0.0: dependencies: - lru-cache: 11.0.0 + lru-cache: 11.0.1 minipass: 7.1.2 path-to-regexp@0.1.10: {} - path-to-regexp@6.2.2: {} + path-to-regexp@8.2.0: {} path-type@3.0.0: dependencies: @@ -15824,7 +15625,7 @@ snapshots: performance-now@2.1.0: {} - picocolors@1.0.1: {} + picocolors@1.1.1: {} picomatch@2.3.1: {} @@ -15852,24 +15653,26 @@ snapshots: polite-json@4.0.1: {} + polite-json@5.0.0: {} + possible-typed-array-names@1.0.0: {} - postcss-values-parser@6.0.2(postcss@8.4.38): + postcss-values-parser@6.0.2(postcss@8.4.47): dependencies: color-name: 1.1.4 is-url-superb: 4.0.0 - postcss: 8.4.38 + postcss: 8.4.47 quote-unquote: 1.0.0 - postcss@8.4.38: + postcss@8.4.47: dependencies: nanoid: 3.3.7 - picocolors: 1.0.1 - source-map-js: 1.2.0 + picocolors: 1.1.1 + source-map-js: 1.2.1 - posthog-node@3.6.3(debug@4.3.5): + posthog-node@3.6.3(debug@4.3.7): dependencies: - axios: 1.7.2(debug@4.3.5) + axios: 1.7.7(debug@4.3.7) rusha: 0.8.14 transitivePeerDependencies: - debug @@ -15891,12 +15694,12 @@ snapshots: transitivePeerDependencies: - supports-color - preferred-pm@3.1.3: + preferred-pm@3.1.4: dependencies: find-up: 5.0.0 find-yarn-workspace-root2: 1.2.16 path-exists: 4.0.0 - which-pm: 2.0.0 + which-pm: 2.2.0 prelude-ls@1.2.1: {} @@ -15927,8 +15730,6 @@ snapshots: prismjs@1.29.0: {} - proc-log@3.0.0: {} - proc-log@4.2.0: {} process-nextick-args@2.0.1: {} @@ -15937,8 +15738,6 @@ snapshots: dependencies: fromentries: 1.3.2 - process@0.11.10: {} - progress@2.0.3: {} prom-client@14.2.0: @@ -15958,7 +15757,7 @@ snapshots: object-assign: 4.1.1 react-is: 16.13.1 - protobufjs@7.3.2: + protobufjs@7.4.0: dependencies: '@protobufjs/aspromise': 1.1.2 '@protobufjs/base64': 1.1.2 @@ -15970,7 +15769,7 @@ snapshots: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 20.14.6 + '@types/node': 20.12.12 long: 5.2.3 protocols@2.0.1: {} @@ -15986,7 +15785,7 @@ snapshots: psl@1.9.0: {} - pump@3.0.0: + pump@3.0.2: dependencies: end-of-stream: 1.4.4 once: 1.4.0 @@ -16009,6 +15808,11 @@ snapshots: queue-microtask@1.2.3: {} + quibble@0.9.2: + dependencies: + lodash: 4.17.21 + resolve: 1.22.8 + quick-lru@5.1.1: {} quote-unquote@1.0.0: {} @@ -16060,12 +15864,12 @@ snapshots: react-error-boundary@4.0.13(react@18.3.1): dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.26.0 react: 18.3.1 react-error-boundary@4.0.3(react@18.3.1): dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.26.0 react: 18.3.1 react-is@16.13.1: {} @@ -16082,7 +15886,7 @@ snapshots: react-redux@7.2.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.26.0 '@types/react-redux': 7.1.33 hoist-non-react-statics: 3.3.2 loose-envify: 1.4.0 @@ -16110,7 +15914,7 @@ snapshots: react-transition-group@4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.26.0 dom-helpers: 5.2.1 loose-envify: 1.4.0 prop-types: 15.8.1 @@ -16119,7 +15923,7 @@ snapshots: react-window@1.8.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.26.0 memoize-one: 5.2.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -16135,9 +15939,9 @@ snapshots: read-package-json@7.0.1: dependencies: - glob: 10.4.2 + glob: 10.4.5 json-parse-even-better-errors: 3.0.2 - normalize-package-data: 6.0.1 + normalize-package-data: 6.0.2 npm-normalize-package-bin: 3.0.1 read-pkg@3.0.0: @@ -16183,7 +15987,7 @@ snapshots: redux@4.2.1: dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.26.0 reflect-metadata@0.1.14: {} @@ -16195,21 +15999,17 @@ snapshots: es-errors: 1.3.0 get-intrinsic: 1.2.4 globalthis: 1.0.4 - which-builtin-type: 1.1.3 + which-builtin-type: 1.1.4 regenerator-runtime@0.14.1: {} - regexp.prototype.flags@1.5.2: + regexp.prototype.flags@1.5.3: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-errors: 1.3.0 set-function-name: 2.0.2 - release-zalgo@1.0.0: - dependencies: - es6-error: 4.1.1 - request@2.88.2: dependencies: aws-sign2: 0.7.0 @@ -16237,16 +16037,14 @@ snapshots: require-from-string@2.0.2: {} - require-in-the-middle@7.3.0: + require-in-the-middle@7.4.0: dependencies: - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.7(supports-color@8.1.1) module-details-from-path: 1.0.3 resolve: 1.22.8 transitivePeerDependencies: - supports-color - require-main-filename@2.0.0: {} - requireindex@1.1.0: {} requirejs-config-file@4.0.0: @@ -16254,7 +16052,7 @@ snapshots: esprima: 4.0.1 stringify-object: 3.3.0 - requirejs@2.3.6: {} + requirejs@2.3.7: {} requires-port@1.0.0: {} @@ -16268,14 +16066,14 @@ snapshots: resolve-from@5.0.0: {} - resolve-import@1.4.5: + resolve-import@1.4.6: dependencies: - glob: 10.4.2 + glob: 10.4.5 walk-up-path: 3.0.1 resolve@1.22.8: dependencies: - is-core-module: 2.13.1 + is-core-module: 2.15.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -16299,6 +16097,11 @@ snapshots: onetime: 5.1.2 signal-exit: 3.0.7 + restore-cursor@5.1.0: + dependencies: + onetime: 7.0.0 + signal-exit: 4.1.0 + retry@0.12.0: {} reusify@1.0.4: {} @@ -16313,14 +16116,14 @@ snapshots: dependencies: glob: 7.2.3 - rimraf@5.0.5: + rimraf@5.0.10: dependencies: - glob: 10.4.2 + glob: 10.4.5 rimraf@6.0.1: dependencies: glob: 11.0.0 - package-json-from-dist: 1.0.0 + package-json-from-dist: 1.0.1 roarr@2.15.4: dependencies: @@ -16332,30 +16135,30 @@ snapshots: sprintf-js: 1.1.3 optional: true - rollup@4.18.0: + rollup@4.24.2: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.18.0 - '@rollup/rollup-android-arm64': 4.18.0 - '@rollup/rollup-darwin-arm64': 4.18.0 - '@rollup/rollup-darwin-x64': 4.18.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.18.0 - '@rollup/rollup-linux-arm-musleabihf': 4.18.0 - '@rollup/rollup-linux-arm64-gnu': 4.18.0 - '@rollup/rollup-linux-arm64-musl': 4.18.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.18.0 - '@rollup/rollup-linux-riscv64-gnu': 4.18.0 - '@rollup/rollup-linux-s390x-gnu': 4.18.0 - '@rollup/rollup-linux-x64-gnu': 4.18.0 - '@rollup/rollup-linux-x64-musl': 4.18.0 - '@rollup/rollup-win32-arm64-msvc': 4.18.0 - '@rollup/rollup-win32-ia32-msvc': 4.18.0 - '@rollup/rollup-win32-x64-msvc': 4.18.0 + '@rollup/rollup-android-arm-eabi': 4.24.2 + '@rollup/rollup-android-arm64': 4.24.2 + '@rollup/rollup-darwin-arm64': 4.24.2 + '@rollup/rollup-darwin-x64': 4.24.2 + '@rollup/rollup-freebsd-arm64': 4.24.2 + '@rollup/rollup-freebsd-x64': 4.24.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.24.2 + '@rollup/rollup-linux-arm-musleabihf': 4.24.2 + '@rollup/rollup-linux-arm64-gnu': 4.24.2 + '@rollup/rollup-linux-arm64-musl': 4.24.2 + '@rollup/rollup-linux-powerpc64le-gnu': 4.24.2 + '@rollup/rollup-linux-riscv64-gnu': 4.24.2 + '@rollup/rollup-linux-s390x-gnu': 4.24.2 + '@rollup/rollup-linux-x64-gnu': 4.24.2 + '@rollup/rollup-linux-x64-musl': 4.24.2 + '@rollup/rollup-win32-arm64-msvc': 4.24.2 + '@rollup/rollup-win32-ia32-msvc': 4.24.2 + '@rollup/rollup-win32-x64-msvc': 4.24.2 fsevents: 2.3.3 - rrweb-cssom@0.6.0: {} - rrweb-cssom@0.7.1: {} run-parallel@1.2.0: @@ -16370,7 +16173,7 @@ snapshots: rxjs@7.8.1: dependencies: - tslib: 2.6.3 + tslib: 2.8.0 safe-array-concat@1.1.2: dependencies: @@ -16402,13 +16205,11 @@ snapshots: sass@1.75.0: dependencies: chokidar: 3.6.0 - immutable: 4.3.6 - source-map-js: 1.2.0 + immutable: 4.3.7 + source-map-js: 1.2.1 sax@1.2.1: {} - sax@1.4.1: {} - saxes@6.0.0: dependencies: xmlchars: 2.2.0 @@ -16432,8 +16233,6 @@ snapshots: dependencies: lru-cache: 6.0.0 - semver@7.6.2: {} - semver@7.6.3: {} send@0.19.0: @@ -16472,8 +16271,6 @@ snapshots: transitivePeerDependencies: - supports-color - set-blocking@2.0.0: {} - set-function-length@1.2.2: dependencies: define-data-property: 1.1.4 @@ -16511,7 +16308,7 @@ snapshots: shiki@0.14.7: dependencies: ansi-sequence-parser: 1.1.1 - jsonc-parser: 3.2.1 + jsonc-parser: 3.3.1 vscode-oniguruma: 1.7.0 vscode-textmate: 8.0.0 @@ -16522,7 +16319,7 @@ snapshots: call-bind: 1.0.7 es-errors: 1.3.0 get-intrinsic: 1.2.4 - object-inspect: 1.13.1 + object-inspect: 1.13.2 signal-exit@3.0.7: {} @@ -16547,10 +16344,10 @@ snapshots: sinon@18.0.0: dependencies: '@sinonjs/commons': 3.0.1 - '@sinonjs/fake-timers': 11.2.2 - '@sinonjs/samsam': 8.0.0 + '@sinonjs/fake-timers': 11.3.1 + '@sinonjs/samsam': 8.0.2 diff: 5.2.0 - nise: 6.0.0 + nise: 6.1.1 supports-color: 7.2.0 slash@3.0.0: {} @@ -16580,11 +16377,11 @@ snapshots: smart-buffer@4.2.0: {} - socket.io-client@4.7.5: + socket.io-client@4.8.1: dependencies: '@socket.io/component-emitter': 3.1.2 - debug: 4.3.5(supports-color@8.1.1) - engine.io-client: 6.5.4 + debug: 4.3.7(supports-color@8.1.1) + engine.io-client: 6.6.2 socket.io-parser: 4.2.4 transitivePeerDependencies: - bufferutil @@ -16594,13 +16391,13 @@ snapshots: socket.io-parser@4.2.4: dependencies: '@socket.io/component-emitter': 3.1.2 - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.7(supports-color@8.1.1) transitivePeerDependencies: - supports-color socketio-wildcard@2.0.0: {} - socks-proxy-agent@8.0.3: + socks-proxy-agent@8.0.4: dependencies: agent-base: 7.1.1 debug: 4.3.7(supports-color@8.1.1) @@ -16613,7 +16410,7 @@ snapshots: ip-address: 9.0.5 smart-buffer: 4.2.0 - source-map-js@1.2.0: {} + source-map-js@1.2.1: {} source-map-support@0.3.3: dependencies: @@ -16625,15 +16422,6 @@ snapshots: source-map@0.6.1: {} - spawn-wrap@2.0.0: - dependencies: - foreground-child: 2.0.0 - is-windows: 1.0.2 - make-dir: 3.1.0 - rimraf: 3.0.2 - signal-exit: 3.0.7 - which: 2.0.2 - spawndamnit@2.0.0: dependencies: cross-spawn: 5.1.0 @@ -16642,21 +16430,21 @@ snapshots: spdx-correct@3.2.0: dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.18 + spdx-license-ids: 3.0.20 spdx-exceptions@2.5.0: {} spdx-expression-parse@3.0.1: dependencies: spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.18 + spdx-license-ids: 3.0.20 spdx-expression-parse@4.0.0: dependencies: spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.18 + spdx-license-ids: 3.0.20 - spdx-license-ids@3.0.18: {} + spdx-license-ids@3.0.20: {} sprintf-js@1.0.3: {} @@ -16664,8 +16452,8 @@ snapshots: sqs-consumer@5.8.0: dependencies: - aws-sdk: 2.1645.0 - debug: 4.3.5(supports-color@8.1.1) + aws-sdk: 2.1691.0 + debug: 4.3.7(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -16711,10 +16499,10 @@ snapshots: emoji-regex: 9.2.2 strip-ansi: 7.1.0 - string-width@7.1.0: + string-width@7.2.0: dependencies: - emoji-regex: 10.3.0 - get-east-asian-width: 1.2.0 + emoji-regex: 10.4.0 + get-east-asian-width: 1.3.0 strip-ansi: 7.1.0 string.prototype.includes@2.0.1: @@ -16734,7 +16522,7 @@ snapshots: gopd: 1.0.1 has-symbols: 1.0.3 internal-slot: 1.0.7 - regexp.prototype.flags: 1.5.2 + regexp.prototype.flags: 1.5.3 set-function-name: 2.0.2 side-channel: 1.0.6 @@ -16777,6 +16565,11 @@ snapshots: dependencies: safe-buffer: 5.2.1 + stringify-object-es5@2.5.0: + dependencies: + is-plain-obj: 1.1.0 + is-regexp: 1.0.0 + stringify-object@3.3.0: dependencies: get-own-enumerable-property-symbols: 3.0.2 @@ -16789,12 +16582,10 @@ snapshots: strip-ansi@7.1.0: dependencies: - ansi-regex: 6.0.1 + ansi-regex: 6.1.0 strip-bom@3.0.0: {} - strip-bom@4.0.0: {} - strip-eof@1.0.0: {} strip-final-newline@3.0.0: {} @@ -16842,15 +16633,15 @@ snapshots: sync-content@1.0.2: dependencies: - glob: 10.4.2 + glob: 10.4.5 mkdirp: 3.0.1 path-scurry: 1.11.1 - rimraf: 5.0.5 + rimraf: 5.0.10 synckit@0.9.2: dependencies: '@pkgr/core': 0.1.1 - tslib: 2.6.3 + tslib: 2.8.0 tabbable@6.2.0: {} @@ -16861,8 +16652,8 @@ snapshots: tap-yaml@2.2.2: dependencies: - yaml: 2.4.5 - yaml-types: 0.3.0(yaml@2.4.5) + yaml: 2.6.0 + yaml-types: 0.3.0(yaml@2.6.0) tap@19.2.5(@types/node@20.12.12)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3): dependencies: @@ -16885,7 +16676,7 @@ snapshots: '@tapjs/test': 2.2.4(@tapjs/core@2.1.6(@types/node@20.12.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@20.12.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tapjs/typescript': 1.4.13(@tapjs/core@2.1.6(@types/node@20.12.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@20.12.12)(typescript@5.6.3) '@tapjs/worker': 2.0.8(@tapjs/core@2.1.6(@types/node@20.12.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - resolve-import: 1.4.5 + resolve-import: 1.4.6 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -16944,8 +16735,23 @@ snapshots: glob: 7.2.3 minimatch: 3.1.2 + test-exclude@7.0.1: + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 10.4.5 + minimatch: 9.0.5 + + testdouble@3.20.2: + dependencies: + lodash: 4.17.21 + quibble: 0.9.2 + stringify-object-es5: 2.5.0 + theredoc: 1.0.0 + text-table@0.2.0: {} + theredoc@1.0.0: {} + thrift@0.14.2: dependencies: browser-or-node: 1.3.0 @@ -16963,6 +16769,12 @@ snapshots: dependencies: '@popperjs/core': 2.11.8 + tldts-core@6.1.57: {} + + tldts@6.1.57: + dependencies: + tldts-core: 6.1.57 + tmp@0.0.33: dependencies: os-tmpdir: 1.0.2 @@ -16971,8 +16783,6 @@ snapshots: dependencies: rimraf: 3.0.2 - to-fast-properties@2.0.0: {} - to-regex-range@5.0.1: dependencies: is-number: 7.0.0 @@ -16993,6 +16803,10 @@ snapshots: universalify: 0.2.0 url-parse: 1.5.10 + tough-cookie@5.0.0: + dependencies: + tldts: 6.1.57 + tr46@0.0.3: {} tr46@5.0.0: @@ -17013,7 +16827,7 @@ snapshots: dependencies: typescript: 5.6.3 - ts-key-enum@2.0.12: {} + ts-key-enum@2.0.13: {} ts-node@10.9.2(@types/node@20.12.12)(typescript@5.6.3): dependencies: @@ -17023,8 +16837,8 @@ snapshots: '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 '@types/node': 20.12.12 - acorn: 8.12.0 - acorn-walk: 8.3.3 + acorn: 8.14.0 + acorn-walk: 8.3.4 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 @@ -17046,23 +16860,23 @@ snapshots: minimist: 1.2.8 strip-bom: 3.0.0 - tshy@1.15.1: + tshy@1.18.0: dependencies: chalk: 5.3.0 chokidar: 3.6.0 - foreground-child: 3.2.1 - minimatch: 9.0.4 + foreground-child: 3.3.0 + minimatch: 9.0.5 mkdirp: 3.0.1 - polite-json: 4.0.1 - resolve-import: 1.4.5 - rimraf: 5.0.5 + polite-json: 5.0.0 + resolve-import: 1.4.6 + rimraf: 5.0.10 sync-content: 1.0.2 typescript: 5.6.3 walk-up-path: 3.0.1 tslib@1.14.1: {} - tslib@2.6.3: {} + tslib@2.8.0: {} tsutils@3.21.0(typescript@5.6.3): dependencies: @@ -17081,8 +16895,6 @@ snapshots: dependencies: safe-buffer: 5.2.1 - tunnel@0.0.6: {} - tweetnacl@0.14.5: {} type-check@0.4.0: @@ -17091,6 +16903,8 @@ snapshots: type-detect@4.0.8: {} + type-detect@4.1.0: {} + type-fest@0.12.0: {} type-fest@0.13.1: @@ -17098,8 +16912,6 @@ snapshots: type-fest@0.21.3: {} - type-fest@0.8.1: {} - type-is@1.6.18: dependencies: media-typer: 0.3.0 @@ -17137,10 +16949,6 @@ snapshots: is-typed-array: 1.1.13 possible-typed-array-names: 1.0.0 - typedarray-to-buffer@3.1.5: - dependencies: - is-typedarray: 1.0.0 - typedoc-plugin-merge-modules@5.1.0(typedoc@0.25.13(typescript@5.6.3)): dependencies: typedoc: 0.25.13(typescript@5.6.3) @@ -17149,7 +16957,7 @@ snapshots: dependencies: lunr: 2.3.9 marked: 4.3.0 - minimatch: 9.0.4 + minimatch: 9.0.5 shiki: 0.14.7 typescript: 5.6.3 @@ -17174,6 +16982,8 @@ snapshots: undici-types@5.26.5: {} + undici@6.20.1: {} + unicode-trie@2.0.0: dependencies: pako: 0.2.9 @@ -17196,16 +17006,16 @@ snapshots: unix-dgram@2.0.6: dependencies: bindings: 1.5.0 - nan: 2.20.0 + nan: 2.22.0 optional: true unpipe@1.0.0: {} - update-browserslist-db@1.0.16(browserslist@4.23.1): + update-browserslist-db@1.1.1(browserslist@4.24.2): dependencies: - browserslist: 4.23.1 - escalade: 3.1.2 - picocolors: 1.0.1 + browserslist: 4.24.2 + escalade: 3.2.0 + picocolors: 1.1.1 uri-js@4.4.1: dependencies: @@ -17221,10 +17031,6 @@ snapshots: punycode: 1.3.2 querystring: 0.2.0 - use-sync-external-store@1.2.0(react@18.3.1): - dependencies: - react: 18.3.1 - use-sync-external-store@1.2.2(react@18.3.1): dependencies: react: 18.3.1 @@ -17258,7 +17064,7 @@ snapshots: v8-compile-cache-lib@3.0.1: {} - v8-to-istanbul@9.2.0: + v8-to-istanbul@9.3.0: dependencies: '@jridgewell/trace-mapping': 0.3.25 '@types/istanbul-lib-coverage': 2.0.6 @@ -17284,14 +17090,14 @@ snapshots: chokidar: 3.6.0 fast-glob: 3.3.2 fs-extra: 11.2.0 - picocolors: 1.0.1 + picocolors: 1.1.1 vite: 5.2.14(@types/node@20.12.12)(sass@1.75.0) vite@5.2.14(@types/node@20.12.12)(sass@1.75.0): dependencies: esbuild: 0.20.2 - postcss: 8.4.38 - rollup: 4.18.0 + postcss: 8.4.47 + rollup: 4.24.2 optionalDependencies: '@types/node': 20.12.12 fsevents: 2.3.3 @@ -17344,7 +17150,7 @@ snapshots: is-string: 1.0.7 is-symbol: 1.0.4 - which-builtin-type@1.1.3: + which-builtin-type@1.1.4: dependencies: function.prototype.name: 1.1.6 has-tostringtag: 1.0.2 @@ -17366,9 +17172,7 @@ snapshots: is-weakmap: 2.0.2 is-weakset: 2.0.3 - which-module@2.0.1: {} - - which-pm@2.0.0: + which-pm@2.2.0: dependencies: load-yaml-file: 0.2.0 path-exists: 4.0.0 @@ -17419,13 +17223,7 @@ snapshots: globby: 11.1.0 jju: 1.4.0 js-yaml: 4.1.0 - micromatch: 4.0.7 - - wrap-ansi@6.2.0: - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 + micromatch: 4.0.8 wrap-ansi@7.0.0: dependencies: @@ -17442,18 +17240,11 @@ snapshots: wrap-ansi@9.0.0: dependencies: ansi-styles: 6.2.1 - string-width: 7.1.0 + string-width: 7.2.0 strip-ansi: 7.1.0 wrappy@1.0.2: {} - write-file-atomic@3.0.3: - dependencies: - imurmurhash: 0.1.4 - is-typedarray: 1.0.0 - signal-exit: 3.0.7 - typedarray-to-buffer: 3.1.5 - ws@5.2.4: dependencies: async-limiter: 1.0.1 @@ -17462,14 +17253,11 @@ snapshots: ws@8.17.1: {} - wtfnode@0.9.2: {} + ws@8.18.0: {} - xml-name-validator@5.0.0: {} + wtfnode@0.9.3: {} - xml2js@0.5.0: - dependencies: - sax: 1.4.1 - xmlbuilder: 11.0.1 + xml-name-validator@5.0.0: {} xml2js@0.6.2: dependencies: @@ -17482,9 +17270,7 @@ snapshots: xmlchars@2.2.0: {} - xmlhttprequest-ssl@2.0.0: {} - - y18n@4.0.3: {} + xmlhttprequest-ssl@2.1.2: {} y18n@5.0.8: {} @@ -17496,16 +17282,13 @@ snapshots: yaml-js@0.2.3: {} - yaml-types@0.3.0(yaml@2.4.5): + yaml-types@0.3.0(yaml@2.6.0): dependencies: - yaml: 2.4.5 + yaml: 2.6.0 yaml@2.4.5: {} - yargs-parser@18.1.3: - dependencies: - camelcase: 5.3.1 - decamelize: 1.2.0 + yaml@2.6.0: {} yargs-parser@20.2.9: {} @@ -17518,24 +17301,10 @@ snapshots: flat: 5.0.2 is-plain-obj: 2.1.0 - yargs@15.4.1: - dependencies: - cliui: 6.0.0 - decamelize: 1.2.0 - find-up: 4.1.0 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - require-main-filename: 2.0.0 - set-blocking: 2.0.0 - string-width: 4.2.3 - which-module: 2.0.1 - y18n: 4.0.3 - yargs-parser: 18.1.3 - yargs@16.2.0: dependencies: cliui: 7.0.4 - escalade: 3.1.2 + escalade: 3.2.0 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 @@ -17545,7 +17314,7 @@ snapshots: yargs@17.7.2: dependencies: cliui: 8.0.1 - escalade: 3.1.2 + escalade: 3.2.0 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 @@ -17569,9 +17338,9 @@ snapshots: compress-commons: 4.1.2 readable-stream: 3.6.2 - zustand@4.5.2(@types/react@18.3.3)(immer@9.0.6)(react@18.3.1): + zustand@4.5.5(@types/react@18.3.3)(immer@9.0.6)(react@18.3.1): dependencies: - use-sync-external-store: 1.2.0(react@18.3.1) + use-sync-external-store: 1.2.2(react@18.3.1) optionalDependencies: '@types/react': 18.3.3 immer: 9.0.6 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 6338ece8a..e7314cc8a 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -61,17 +61,18 @@ catalogs: "@types/mocha": "^10.0.7" "@types/sinon": "^17.0.3" "@types/sinon-chai": "^3.2.12" + "c8": "^10.1.2" "chai": "^4.4.1" "chai-as-promised": "^7.1.2" "chai-jest-snapshot": "^2.0.0" "chai-subset": "^1.6.0" - "global-jsdom": "^24.0.0" + "global-jsdom": "^25.0.0" "ignore-styles": "^5.0.1" - "jsdom": "^24.1.0" - "mocha": "^10.6.0" - "nyc": "^17.0.0" + "jsdom": "^25.0.1" + "mocha": "^10.7.3" "sinon": "^18.0.0" "sinon-chai": "^3.7.0" + "testdouble": "^3.20.2" build-tools: "@itwin/build-tools": "^4.10.0-dev.33"