From d3f7b9c6aa80249cd898916f6315ea27c4526812 Mon Sep 17 00:00:00 2001 From: Patrick Lafrance Date: Sun, 22 Sep 2024 23:18:47 -0400 Subject: [PATCH] feat: Nested navigation items (#204) * Some stuff * More stuff * More stuff * More stuff * More stuff * More stuff * More stuff * More stuff * More stuff * More stuff * More stuff * More stuff * Added a changeset file * Fix CI --- .changeset/chilly-beers-hang.md | 23 + docs/getting-started/create-host.md | 2 +- docs/getting-started/create-local-module.md | 2 +- docs/getting-started/create-remote-module.md | 2 +- docs/getting-started/learn-the-api.md | 49 + docs/guides/fetch-global-data.md | 2 +- docs/guides/fetch-page-data.md | 8 +- docs/guides/migrate-to-firefly-v9.md | 22 +- docs/guides/use-feature-flags.md | 6 +- docs/guides/use-modular-tabs.md | 14 +- .../registration/registerLocalModules.md | 10 +- .../registration/registerRemoteModules.md | 12 +- docs/reference/routing/protectedRoutes.md | 2 +- docs/reference/routing/publicRoutes.md | 2 +- .../routing/useRenderedNavigationItems.md | 12 +- docs/reference/runtime/runtime-class.md | 147 +- docs/reference/runtime/useNavigationItems.md | 4 +- .../webpack/defineBuildHostConfig.md | 6 +- docs/reference/webpack/defineDevHostConfig.md | 6 +- docs/troubleshooting.md | 1 + package.json | 16 +- packages/core/package.json | 10 +- packages/core/src/runtime/runtime.ts | 1 + packages/fakes/package.json | 4 +- packages/firefly-webpack-configs/package.json | 14 +- packages/firefly/package.json | 20 +- packages/i18next/package.json | 16 +- packages/module-federation/package.json | 16 +- packages/msw/package.json | 8 +- packages/react-router/package.json | 16 +- .../src/navigationItemRegistry.ts | 303 +- .../react-router/src/reactRouterRuntime.ts | 104 +- packages/react-router/src/routeRegistry.ts | 57 +- .../src/useRenderedNavigationItems.tsx | 10 +- .../tests/navigationItemRegistry.test.ts | 707 +++- .../tests/reactRouterRuntime.test.tsx | 208 +- .../react-router/tests/routeRegistry.test.tsx | 2 +- .../tests/useRenderedNavigationItems.test.tsx | 8 +- packages/webpack-configs/package.json | 14 +- pnpm-lock.yaml | 3277 ++++++++--------- .../basic/another-remote-module/package.json | 24 +- .../another-remote-module/src/register.tsx | 9 + samples/basic/host/package.json | 26 +- samples/basic/local-module/package.json | 24 +- samples/basic/remote-module/package.json | 24 +- samples/basic/remote-module/src/register.tsx | 9 +- samples/basic/shared/package.json | 8 +- samples/basic/shell/package.json | 8 +- samples/endpoints/host/package.json | 28 +- samples/endpoints/host/src/register.tsx | 2 +- samples/endpoints/i18next/package.json | 6 +- samples/endpoints/layouts/package.json | 8 +- .../endpoints/layouts/src/registerLayouts.tsx | 2 +- samples/endpoints/local-module/package.json | 30 +- .../endpoints/local-module/src/register.tsx | 6 +- samples/endpoints/remote-module/package.json | 30 +- .../endpoints/remote-module/src/register.tsx | 10 +- samples/endpoints/shared/package.json | 8 +- samples/endpoints/shell/package.json | 10 +- .../apps/local-module/src/register.tsx | 2 +- .../apps/remote-module/src/register.tsx | 2 +- 61 files changed, 3251 insertions(+), 2168 deletions(-) create mode 100644 .changeset/chilly-beers-hang.md diff --git a/.changeset/chilly-beers-hang.md b/.changeset/chilly-beers-hang.md new file mode 100644 index 000000000..9024150cd --- /dev/null +++ b/.changeset/chilly-beers-hang.md @@ -0,0 +1,23 @@ +--- +"@squide/firefly-webpack-configs": minor +"@squide/module-federation": minor +"@squide/webpack-configs": minor +"@squide/react-router": minor +"@squide/firefly": minor +"@squide/i18next": minor +"@squide/fakes": minor +"@squide/core": minor +"@squide/msw": minor +--- + +The `registerNavigationItem` function now accepts a `sectionId` option to nest the item under a specific navigation section: + +```ts +runtime.registerNavigationItem({ + $id: "link", + $label: "Link", + to: "/link" +}, { + sectionId: "some-section" +}); +``` diff --git a/docs/getting-started/create-host.md b/docs/getting-started/create-host.md index 26fc05a5b..02de17cda 100644 --- a/docs/getting-started/create-host.md +++ b/docs/getting-started/create-host.md @@ -204,7 +204,7 @@ export function RootLayout() { } ``` -The `RootLayout` component created in the previous sample will serves as the default layout for the homepage as well as for every page (route) registered by a module that are not nested under a parent route with either the [parentPath](../reference/runtime/runtime-class.md#register-nested-routes-under-an-existing-route) or the [parentName](../reference/runtime/runtime-class.md#register-a-named-route) option. +The `RootLayout` component created in the previous sample will serves as the default layout for the homepage as well as for every page (route) registered by a module that are not nested under a parent route with either the [parentPath](../reference/runtime/runtime-class.md#register-nested-routes) or the [parentName](../reference/runtime/runtime-class.md#register-a-named-route) option. ### Homepage diff --git a/docs/getting-started/create-local-module.md b/docs/getting-started/create-local-module.md index 24b6c9b3d..b62f9ef2b 100644 --- a/docs/getting-started/create-local-module.md +++ b/docs/getting-started/create-local-module.md @@ -97,7 +97,7 @@ export const register: ModuleRegisterFunction = runtime => { }); runtime.registerNavigationItem({ - $key: "local-page", + $id: "local-page", $label: "Local/Page", to: "/local/page" }); diff --git a/docs/getting-started/create-remote-module.md b/docs/getting-started/create-remote-module.md index 776dc6c28..279630199 100644 --- a/docs/getting-started/create-remote-module.md +++ b/docs/getting-started/create-remote-module.md @@ -82,7 +82,7 @@ export const register: ModuleRegisterFunction = runtime => { }); runtime.registerNavigationItem({ - $key: "remote-page", + $id: "remote-page", $label: "Remote/Page", to: "/remote/page" }); diff --git a/docs/getting-started/learn-the-api.md b/docs/getting-started/learn-the-api.md index d48a95014..a7e362860 100644 --- a/docs/getting-started/learn-the-api.md +++ b/docs/getting-started/learn-the-api.md @@ -103,6 +103,55 @@ const myPlugin = usePlugin(MyPlugin.name) as MyPlugin; A plugin can also be retrieved from the [FireflyRuntime](/reference/runtime/runtime-class.md#retrieve-a-plugin) instance. +> By default, the `FireflyRuntime` registers Squide's [MSW plugin](../guides/setup-msw.md). An optional [i18next plugin](../guides/setup-i18next.md) is available. + +## TanStack Query + +Hooks are available to retrieve global application data using [TanStack Query](https://tanstack.com/query/latest). To fetch public data, use the [usePublicDataQueries](../reference/tanstack-query/usePublicDataQueries.md) hook: + +```tsx +import { usePublicDataQueries } from "@squide/firefly"; + +const [featureFlags] = usePublicDataQueries([ +{ + queryKey: ["/api/feature-flags"], + queryFn: async () => { + const response = await fetch("/api/feature-flags"); + + return response.json(); + } +} +]); +``` + +To retrieve protected data, use the [useProtectedDataQueries](../reference/tanstack-query/useProtectedDataQueries.md) hook instead: + +```tsx +import { useProtectedDataQueries } from "@squide/firefly"; +import { ApiError } from "@sample/shared"; + +const [session, subscription] = useProtectedDataQueries([ + { + queryKey: ["/api/session"], + queryFn: async () => { + const response = await fetch("/api/session"); + + return response.json(); + } + }, + { + queryKey: ["/api/subscription"], + queryFn: async () => { + const response = await fetch("/api/subscription"); + + await response.json(); + } + } +], error => isApiError(error) && error.status === 401); +``` + +If an unmanaged error occur while retrieving the data, a [GlobalDataQueriesError](../reference/tanstack-query/isGlobalDataQueriesError.md) is thrown. + ## Fakes Take a look at the [fake implementations](../reference/default.md#fakes). These implementations are designed to facilitate the set up of a module isolated environment. diff --git a/docs/guides/fetch-global-data.md b/docs/guides/fetch-global-data.md index 52185fcd3..c8fed4620 100644 --- a/docs/guides/fetch-global-data.md +++ b/docs/guides/fetch-global-data.md @@ -248,7 +248,7 @@ export const register: ModuleRegisterFunction = async runtime => }); runtime.registerNavigationItem({ - $key: "global-data", + $id: "global-data", $label: "Global data Page", to: "/global-data" }); diff --git a/docs/guides/fetch-page-data.md b/docs/guides/fetch-page-data.md index e1d5df876..46f985f26 100644 --- a/docs/guides/fetch-page-data.md +++ b/docs/guides/fetch-page-data.md @@ -57,7 +57,7 @@ export const register: ModuleRegisterFunction = runtime => { }); runtime.registerNavigationItem({ - $key: "page", + $id: "page", $label: "Page", to: "/page" }); @@ -96,7 +96,7 @@ export const register: ModuleRegisterFunction = runtime => { }); runtime.registerNavigationItem({ - $key: "page", + $id: "page", $label: "Page", to: "/page" }); @@ -135,7 +135,7 @@ export const register: ModuleRegisterFunction = runtime => { }); runtime.registerNavigationItem({ - $key: "page", + $id: "page", $label: "Page", to: "/page" }); @@ -172,7 +172,7 @@ export const register: ModuleRegisterFunction = runtime => { }); runtime.registerNavigationItem({ - $key: "page", + $id: "page", $label: "Page", to: "/page" }); diff --git a/docs/guides/migrate-to-firefly-v9.md b/docs/guides/migrate-to-firefly-v9.md index 4d63c7800..7535d9274 100644 --- a/docs/guides/migrate-to-firefly-v9.md +++ b/docs/guides/migrate-to-firefly-v9.md @@ -57,7 +57,7 @@ export const register: ModuleRegisterFunction { if (featureFlags?.featureB) { runtime.registerNavigationItem({ - $key: "page", + $id: "page", $label: "Page", to: "/page" }); @@ -249,25 +249,25 @@ export function App() { - Deferred registration functions now receives a new [operations](../reference/registration/registerLocalModules.md#use-the-deferred-registration-operation-argument) argument. - Navigation items now include a [$canRender](../reference/runtime/runtime-class.md#conditionally-render-a-navigation-item) option, enabling modules to control whether a navigation item should be rendered. -### New `$key` option for navigation items +### New `$id` option for navigation items -Navigation items now supports a new `$key` option. Previously, most navigation item React elements used a `key` property generated by concatenating the item's `level` and `index`, which goes against React's best practices: +Navigation items now supports a new `$id` option. Previously, most navigation item React elements used a `key` property generated by concatenating the item's `level` and `index`, which goes against React's best practices: ```tsx
  • ``` -It wasn't that much of a big deal since navigation items never changed once the application was bootstrapped. Now, with the deferred registration functions re-executing when the global data changes, the registered navigation items can be updated post-bootstrapping. The new `$key` option allows the navigation item to be configured with a unique key at registration. +It wasn't that much of a big deal since navigation items never changed once the application was bootstrapped. Now, with the deferred registration functions re-executing when the global data changes, the registered navigation items can be updated post-bootstrapping. The new `$id` option allows the navigation item to be configured with a unique key at registration, preventing UI shifts. ```tsx !#2 runtime.registerNavigationItem({ - $key: "page-1", + $id: "page-1", $label: "Page 1", to: "/page-1" }); ``` -The configured `$key` option is then passed as an argument to the [useRenderedNavigationItems](../reference/routing/useRenderedNavigationItems.md) rendering functions: +The configured `$id` option is then passed as a `key` argument to the [useRenderedNavigationItems](../reference/routing/useRenderedNavigationItems.md) rendering functions: ```tsx !#1,5,13,15 const renderItem: RenderItemFunction = (item, key) => { @@ -293,6 +293,8 @@ const renderSection: RenderSectionFunction = (elements, key) => { const navigationElements = useRenderedNavigationItems(navigationItems, renderItem, renderSection); ``` +> If no `$id` is configured for a navigation item, the `key` argument will be a concatenation of the `level` and `index` argument. + ## Migrate an host application !!!info @@ -312,10 +314,10 @@ The `v9` release introduces several breaking changes affecting the host applicat 4. Remove the `sessionAccessor` option from the `FireflyRuntime` instance. Update the `BootstrappingRoute` component to create a `TanStackSessionManager` instance and share it down the component tree using a `SessionManagedContext` provider. [View example](./add-authentication.md#fetch-the-session) 5. Add or update the `AuthenticationBoundary` component to use the new `useIsAuthenticated` hook. Global data fetch request shouldn't be throwing 401 error anymore when the user is not authenticated. [View example](./add-authentication.md#add-an-authentication-boundary) 6. Update the `AuthenticatedLayout` component to use the session manager instance to clear the session. Retrieve the session manager instance from the context defined in the `BootstrappingRoute` component using the `useSessionManager` hook. [View example](./add-authentication.md#define-an-authenticated-layout) -7. Update the `AuthenticatedLayout` component to use the new `$key` option of the navigation item. [View example](#new-key-option-for-navigation-items) +7. Update the `AuthenticatedLayout` component to use the new `key` argument. [View example](#new-id-option-for-navigation-items) 8. Replace the `ManagedRoutes` placeholder with the new [PublicRoutes](../reference/routing/publicRoutes.md) and [ProtectedRoutes](../reference/routing/protectedRoutes.md) placeholders. [View example](../getting-started/create-host.md#homepage) 9. Convert all deferred routes into static routes. [View example](#removed-support-for-deferred-routes) -10. Add a `$key` option to the navigation item registrations. [View example](#new-key-option-for-navigation-items) +10. Add an `$id` option to the navigation item registrations. [View example](#new-id-option-for-navigation-items) ### Root error boundary @@ -374,7 +376,7 @@ A migration example from v8 to v9 is available for the [wl-squide-monorepo-templ The changes in `v9` have minimal impact on module code. To migrate an existing module, follow these steps: 1. Convert all deferred routes into static routes. [View example](#removed-support-for-deferred-routes) -2. Add a `$key` option to the navigation item registrations. [View example](#new-key-option-for-navigation-items) +2. Add a `$id` option to the navigation item registrations. [View example](#new-id-option-for-navigation-items) ### Isolated development diff --git a/docs/guides/use-feature-flags.md b/docs/guides/use-feature-flags.md index ee491b5e0..e0e3cf6d4 100644 --- a/docs/guides/use-feature-flags.md +++ b/docs/guides/use-feature-flags.md @@ -165,7 +165,7 @@ export const register: ModuleRegisterFunction = runtime => { }); runtime.registerNavigationItem({ - $key: "page", + $id: "page", $label: "Page", to: "/page" }); @@ -218,7 +218,7 @@ export const register: ModuleRegisterFunction = runtime => { }); runtime.registerNavigationItem({ - $key: "tabs", + $id: "tabs", $label: "tabs", to: "/tabs" }); @@ -76,7 +76,7 @@ It is recommended to define the shared layouts in a standalone package as it's d ## Create the tab routes -Next, let's add the actual tabs to the modules. To do so, we'll use the [parentPath](../reference/runtime/runtime-class.md#register-nested-routes-under-an-existing-route) option of the [registerRoute](../reference/runtime/runtime-class.md#register-routes) function to register the routes under the `TabsLayout` component: +Next, let's add the actual tabs to the modules. To do so, we'll use the [parentPath](../reference/runtime/runtime-class.md#register-nested-routes) option of the [registerRoute](../reference/runtime/runtime-class.md#register-routes) function to register the routes under the `TabsLayout` component: ```tsx !#7,10 remote-module-1/src/register.tsx import type { ModuleRegisterFunction, FireflyRuntime } from "@squide/firefly"; @@ -173,7 +173,7 @@ export const register: ModuleRegisterFunction = runtime => { }); runtime.registerNavigationItem({ - $key: "tab-1", + $id: "tab-1", $label: "Tab 1", to: "/tabs" }, { @@ -199,7 +199,7 @@ export const register: ModuleRegisterFunction = runtime => { }); runtime.registerNavigationItem({ - $key: "tab-2", + $id: "tab-2", $label: "Tab 2", to: "/tabs/tab-2" }, { @@ -225,7 +225,7 @@ export const register: ModuleRegisterFunction = runtime => { }); runtime.registerNavigationItem({ - $key: "tab-3", + $id: "tab-3", $label: "Tab 3", to: "/tabs/tab-3" }, { @@ -289,7 +289,7 @@ export function TabsLayout() { ## Change the display order of the tabs -Similarly to how the display order of regular navigation items can be configured, a modular tab position can be affected with the [priority](http://localhost:5000/wl-squide/reference/runtime/runtime-class/#sort-registered-navigation-items) property. +Similarly to how the display order of regular navigation items can be configured, a modular tab position can be affected with the [priority](http://localhost:5000/wl-squide/reference/runtime/runtime-class/#sort-registered-navigation-items) option. To force `Tab 3` to be positioned first, we'll give him a priority of `999`: @@ -306,7 +306,7 @@ export const register: ModuleRegisterFunction = runtime => { }); runtime.registerNavigationItem({ - $key: "tab-3", + $id: "tab-3", $label: "Tab 3", // Highest priority goes first. $priority: 999, diff --git a/docs/reference/registration/registerLocalModules.md b/docs/reference/registration/registerLocalModules.md index c14b062d3..bdb192c9b 100644 --- a/docs/reference/registration/registerLocalModules.md +++ b/docs/reference/registration/registerLocalModules.md @@ -55,7 +55,7 @@ export const register: ModuleRegisterFunction = runtime => { }); runtime.registerNavigationItem({ - $key: "about", + $id: "about", $label: "About", to: "/about" }); @@ -159,7 +159,7 @@ export const register: ModuleRegisterFunction = runtime => { }); runtime.registerNavigationItem({ - $key: "about", + $id: "about", $label: "About", to: "/about" }); @@ -178,7 +178,7 @@ export const register: ModuleRegisterFunction A protected route is a route with a `"protected"` visibility that is not [hoisted](../runtime/runtime-class.md#register-an-hoisted-route) or nested with either a [parentPath](../runtime/runtime-class.md#register-nested-routes-under-an-existing-route) or [parentName](../runtime/runtime-class.md#register-a-named-route) option. +> A protected route is a route with a `"protected"` visibility that is not [hoisted](../runtime/runtime-class.md#register-an-hoisted-route) or nested with either a [parentPath](../runtime/runtime-class.md#register-nested-routes) or [parentName](../runtime/runtime-class.md#register-a-named-route) option. ## Reference diff --git a/docs/reference/routing/publicRoutes.md b/docs/reference/routing/publicRoutes.md index 58a60e2ea..36e9f641f 100644 --- a/docs/reference/routing/publicRoutes.md +++ b/docs/reference/routing/publicRoutes.md @@ -8,7 +8,7 @@ toc: A placeholder indicating where in the routing tree should the public routes be rendered. The `PublicRoutes` placeholder concept is similar to React Router's [outlet](https://reactrouter.com/en/main/components/outlet), it's a pipeline to inject routes at a predetermined location. -> A public route is a route with a `"public"` visibility that is not [hoisted](../runtime/runtime-class.md#register-an-hoisted-route) or nested with either a [parentPath](../runtime/runtime-class.md#register-nested-routes-under-an-existing-route) or [parentName](../runtime/runtime-class.md#register-a-named-route) option. +> A public route is a route with a `"public"` visibility that is not [hoisted](../runtime/runtime-class.md#register-an-hoisted-route) or nested with either a [parentPath](../runtime/runtime-class.md#register-nested-routes) or [parentName](../runtime/runtime-class.md#register-a-named-route) option. ## Reference diff --git a/docs/reference/routing/useRenderedNavigationItems.md b/docs/reference/routing/useRenderedNavigationItems.md index 488c499fa..22235484d 100644 --- a/docs/reference/routing/useRenderedNavigationItems.md +++ b/docs/reference/routing/useRenderedNavigationItems.md @@ -31,14 +31,14 @@ const elements = useRenderedNavigationItems( Accept any properties of a React Router [Link](https://reactrouter.com/en/main/components/link) component with the addition of: -- `$key`: An optional key identifying the link. Usually used as the React element [key](https://legacy.reactjs.org/docs/lists-and-keys.html#keys) property. +- `$id`: An optional identifier for the link. Usually used as the React element [key](https://legacy.reactjs.org/docs/lists-and-keys.html#keys) property. - `$label`: The link label. Could either by a `string` or a `ReactNode`. - `$canRender`: An optional function accepting an object and returning a `boolean` indicating whether or not the link should be rendered. - `$additionalProps`: An optional object literal of additional props to apply to the link component. #### `NavigationSection` -- `$key`: An optional key identifying the section. Usually used as the React element [key](https://legacy.reactjs.org/docs/lists-and-keys.html#keys) property. +- `$id`: An optional key identifying the section. Usually used to nest navigation items undern a specific section and as the React element [key](https://legacy.reactjs.org/docs/lists-and-keys.html#keys) property. - `$label`: The section label. Could either by a `string` or a `ReactNode`. - `$canRender`: An optional function accepting an object and returning a `boolean` indicating whether or not the section should be rendered. - `$additionalProps`: An optional object literal of additional props to apply to the section component. @@ -53,9 +53,9 @@ An array of `ReactElement`. ### Render nested items !!!info -We recommend always providing a `$key` property for a navigation item, as it ensures the menus doesn't flicker when [deferred registrations](../registration/registerLocalModules.md#defer-the-registration-of-navigation-items) are updated. Be sure to use a unique key. +We recommend always providing an `$id` option for a navigation item, as it ensures the menus doesn't flicker when [deferred registrations](../registration/registerLocalModules.md#defer-the-registration-of-navigation-items) are updated. Be sure to use a unique key. -When no `$key` property is provided, a default key value is computed based on the `index` and `level` properties. While this works in most cases, the default key cannot guarantee that the menu won't flicker during updates. +When no `$id` option is provided, a default `key` argument is computed based on the `index` and `level` properties. While this works in most cases, the default key cannot guarantee that the menu won't flicker during updates. !!! ```tsx !#38-40,42-48,52 host/src/RootLayout.tsx @@ -123,7 +123,7 @@ export function RootLayout() { ### Render dynamic segments -The `to` property of a navigation item can include dynamic segments (`/user-profile/:userId`), enabling the rendering of dynamic routes based on contextual values. To resolve a route dynamic segments, use the [resolveRouteSegments](resolveRouteSegments.md) function. +The `to` option of a navigation item can include dynamic segments (`/user-profile/:userId`), enabling the rendering of dynamic routes based on contextual values. To resolve a route dynamic segments, use the [resolveRouteSegments](resolveRouteSegments.md) function. ```tsx !#14,18,21,39-45,56,59 host/src/UserProfileLayout.tsx import type { ReactNode } from "react"; @@ -200,7 +200,7 @@ import type { ModuleRegisterFunction, FireflyRuntime } from "@squide/firefly"; export const register: ModuleRegisterFunction = (runtime) => { runtime.registerNavigationItem({ - $key: "user-profile", + $id: "user-profile", $label: "User profile", to: "/user-profile/:userId" }, { diff --git a/docs/reference/runtime/runtime-class.md b/docs/reference/runtime/runtime-class.md index 3b03ecf60..ea0ef2d39 100644 --- a/docs/reference/runtime/runtime-class.md +++ b/docs/reference/runtime/runtime-class.md @@ -103,7 +103,7 @@ runtime.registerRoute({ ### Register an hoisted route -Unlike a regular route, a hoisted route is added at the root of the router, outside of the host application's root layout, root error boundary and even root authentication boundary. This means that a hoisted route has full control over its rendering. To mark a route as hoisted, provide an `hoist` property to the route options. +Unlike a regular route, a hoisted route is added at the root of the router, outside of the host application's root layout, root error boundary and even root authentication boundary. This means that a hoisted route has full control over its rendering. To mark a route as hoisted, provide an `hoist` option to the route options. ```tsx !#7 import { Page } from "./Page.tsx"; @@ -123,36 +123,6 @@ By declaring a route as hoisted, other parts of the application will not be isol - If the hoisted route requires an authentication, make sure to **wrap** the route **with** an **authentication boundary** or to handle the authentication within the route. !!! -### Register a route with a different layout - -```tsx !#9,12,22 -import { Page } from "./Page.tsx"; -import { RemoteLayout } from "./RemoteLayout.tsx"; -import { RemoteErrorBoundary } from "./RemoteErrorBoundary.tsx"; - -runtime.registerRoute({ - path: "/page-1", - // Will render the route inside the "RemoteLayout" rather than the "RootLayout". - // For more information about React Router's nested routes, view https://reactrouter.com/en/main/start/tutorial#nested-routes. - element: , - children: [ - { - errorElement: , - children: [ - { - index: true, - element: - } - ] - } - ] -}, { - hoist: true -}); -``` - -[!ref text="Learn more about overriding the host application layout"](../../guides/override-the-host-layout.md) - ### Register a public route When registering a route, a value can be provided indicating whether the route is `"public"` or `"protected"`. This is especially useful when dealing with code that **fetches global data for protected routes** (e.g. a session). Although a route definition accepts a `$visibility` value, we recommended using the runtime `registerPublicRoute` function to register a **root** public route instead. @@ -191,9 +161,9 @@ When no `$visibility` indicator is provided, a route is considered `protected`. ### Register a named route -The `registerRoute` function accepts a `parentName` property, allowing a route to be [nested under an existing parent route](#register-nested-routes-under-an-existing-route). When searching for the parent route matching the `parentName` property, the `parentName` will be matched against the `$name` property of every route. +The `registerRoute` function accepts a `parentName` option, allowing a route to be [nested under an existing parent route](#register-nested-routes). When searching for the parent route matching the `parentName` option, the `parentName` will be matched against the `$name` option of every route. -> A `$name` property should only be defined for routes that doesn't have a path like an error boundary or an authentication boundary. +> A `$name` option should only be defined for routes that doesn't have a path like an error boundary or an authentication boundary. ```tsx !#4 import { RootErrorBoundary } from "./RootErrorBoundary.tsx"; @@ -204,29 +174,13 @@ runtime.registerRoute({ }); ``` -A nested route can also be named: - -```tsx !#8 -import { RootErrorBoundary } from "./RootErrorBoundary.tsx"; -import { RootLayout } from "./RootLayout.tsx"; - -runtime.registerRoute({ - $name: "error-boundary", - element: , - children: [ - $name: "root-layout", - element: - ] -}); -``` - -### Register nested routes under an existing route +### Register nested routes React router [nested routes](https://reactrouter.com/en/main/start/tutorial#nested-routes) enable applications to render nested layouts at various points within the router tree. This is quite helpful for modular applications as it enables composable and decoupled UI. To fully harness the power of nested routes, the `registerRoute` function allows a route to be registered **under any** previously **registered route**, even if that route was registered by another module. The only requirement is that the **parent route** must have been registered with the `registerRoute` function. -When registering a new route with the `registerRoute` function, to render the route under a parent route, specify a `parentPath` property that matches the parent route's `path` property: +When registering a new route with the `registerRoute` function, to render the route under a parent route, specify a `parentPath` option that matches the parent route's `path` option: ```tsx !#7 import { Page } from "./Page.tsx"; @@ -239,7 +193,7 @@ runtime.registerRoute({ }); ``` -Or a `parentName` property that matches the parent route's `name` property: +Or a `parentName` option that matches the parent route's `name` option: ```tsx !#7 import { Page } from "./Page.tsx"; @@ -255,7 +209,7 @@ runtime.registerRoute({ [!ref text="Learn more about using nested routes for modular tabs"](../../guides/use-modular-tabs.md) !!!info -Likewise any other React Router routes, the `path` property of a route rendered under an existing parent route must be an absolute path. For example, if a parent route `path` is `/layout`, the `path` property of a route rendered under that parent route and responding to the `/page-1` url, should be `/layout/page-1`. +Likewise any other React Router routes, the `path` option of a route rendered under an existing parent route must be an absolute path. For example, if a parent route `path` is `/layout`, the `path` option of a route rendered under that parent route and responding to the `/page-1` url, should be `/layout/page-1`. !!! ### Retrieve routes @@ -281,7 +235,7 @@ A Squide navigation item can either be a `NavigationLink` or a `NavigationSectio #### `NavigationLink` Accept any properties of a React Router [Link](https://reactrouter.com/en/main/components/link) component with the addition of: -- `$key`: An optional key identifying the link. Usually used as the React element [key](https://legacy.reactjs.org/docs/lists-and-keys.html#keys) property. +- `$id`: An optional key identifying the link. Usually used as the React element [key](https://legacy.reactjs.org/docs/lists-and-keys.html#keys) property. - `$label`: The link text. - `$canRender`: An optional function accepting an object and returning a `boolean` indicating whether or not the link should be rendered. - `$priority`: An order priority affecting the position of the item in the menu (higher first) @@ -289,7 +243,7 @@ Accept any properties of a React Router [Link](https://reactrouter.com/en/main/c #### `NavigationSection` -- `$key`: An optional key identifying the section. Usually used as the React element [key](https://legacy.reactjs.org/docs/lists-and-keys.html#keys) property. +- `$id`: An optional key identifying the section. Usually used to nest navigation items under a specific section and as the React element [key](https://legacy.reactjs.org/docs/lists-and-keys.html#keys) property. - `$label`: The section text. - `$canRender`: An optional function accepting an object and returning a `boolean` indicating whether or not the section should be rendered. - `$priority`: An order priority affecting the position of the item in the menu (higher first) @@ -297,13 +251,13 @@ Accept any properties of a React Router [Link](https://reactrouter.com/en/main/c - `children`: The section content. !!!info -We recommend always providing a `$key` property for a navigation item, as it ensures the menus doesn't flicker when [deferred registrations](../registration/registerLocalModules.md#defer-the-registration-of-navigation-items) are updated. Be sure to use a unique key. +We recommend always providing an `$id` option for a navigation item, as it ensures the menus doesn't flicker when [deferred registrations](../registration/registerLocalModules.md#defer-the-registration-of-navigation-items) are updated. Be sure to use a unique identifier. !!! ```ts // Register a new navigation item from a local or remote module. runtime.registerNavigationItem({ - $key: "page-1", + $id: "page-1", $label: "Page 1", to: "/page-1" }); @@ -313,6 +267,21 @@ runtime.registerNavigationItem({ ### Register nested navigation items +Similarly to [nested routes](#register-nested-navigation-items), a navigation item can be nested under an existing section be specifying a `sectionId` option that matches the section's `$id` option: + +```ts !#7 +runtime.registerNavigationItem({ + $id: "link", + $label: "Link", + to: "/link" +}, { + // The following example takes for granted that a section with the "some-section" $id is already registered or will be registered. + sectionId: "some-section" +}); +``` + +Navigation items can also be nested by registering multipe items in a single registration block: + ```ts // Register the following menu hierarchy: // @@ -320,39 +289,47 @@ runtime.registerNavigationItem({ // --- Nested Section // ------- Nested Nested Link // --- Nested Link -// Link runtime.registerNavigationItem({ - $key: "section", + $id: "section", $label: "Section", children: [ { - $key: "nested-section", + $id: "nested-section", $label: "Nested Section", children: [ { - $key: "nested-nested-link", + $id: "nested-nested-link", $label: "Nested Nested Link", to: "#" } ] }, { - $key: "nested-link", + $id: "nested-link", $label: "Nested Link", to: "#" } ] -}, -{ - $key: "link", - $label: "Link", - to: "#" }); ``` -### Sort registered navigation items +### Register navigation items for a specific menu + +By default, every navigation item registered with the `registerNavigationItem` function is registered as part of the `root` navigation menu. To register a navigation item for a different navigation menu, specify a `menuId` option when registering the items. + +```tsx !#6 +runtime.registerNavigationItem({ + $id: "page-1", + $label: "Page 1", + to: "/layout/page-1" +}, { + menuId: "my-custom-layout" +}); +``` + +### Sort navigation items -A `$priority` property can be added to a navigation item to affect it's position in the menu. The sorting algorithm is as follow: +A `$priority` option can be added to a navigation item to affect it's position in the menu. The sorting algorithm is as follow: - By default a navigation item have a priority of `0`. - If no navigation item have a priority, the items are positioned according to their registration order. @@ -361,14 +338,14 @@ A `$priority` property can be added to a navigation item to affect it's position ```ts !#4,13 runtime.registerNavigationItem({ - $key: "about", + $id: "about", $label: "About", $priority: 10, to: "/about" }); runtime.registerNavigationItem({ - $key: "home", + $id: "home", $label: "Home", // Because the "Home" navigation item has an higher priority, it will be rendered // before the "About" navigation item. @@ -377,11 +354,11 @@ runtime.registerNavigationItem({ }); ``` -### Use dynamic segments +### Use dynamic segments for navigation items ```ts !#4 runtime.registerNavigationItem({ - $key: "user-profile", + $id: "user-profile", $label: "User profile", to: "/user-profile/:userId" }); @@ -395,7 +372,7 @@ runtime.registerNavigationItem({ import { QuestionMarkIcon } from "@sample/icons"; runtime.registerNavigationItem({ - $key: "about", + $id: "about", $label: ( About @@ -408,7 +385,7 @@ runtime.registerNavigationItem({ ```ts !#4-6 runtime.registerNavigationItem({ - $key: "about", + $id: "about", $label: "About", style: { backgroundColor: "#000" @@ -421,7 +398,7 @@ runtime.registerNavigationItem({ ```ts !#4 runtime.registerNavigationItem({ - $key: "about", + $id: "about", $label: "About", target: "_blank", to: "/about" @@ -432,7 +409,7 @@ runtime.registerNavigationItem({ ```ts !#4-6 runtime.registerNavigationItem({ - $key: "about", + $id: "about", $label: "About", $canRender: (index: number) => { return index % 2 == 0; @@ -447,7 +424,7 @@ runtime.registerNavigationItem({ ```ts !#4-6 runtime.registerNavigationItem({ - $key: "about", + $id: "about", $label: "About", $additionalProps: { highlight: true @@ -456,19 +433,7 @@ runtime.registerNavigationItem({ }); ``` -### Register navigation items for a specific menu - -By default, every navigation item registered with the `registerNavigationItem` function is registered as part of the `root` navigation menu. To register a navigation item for a different navigation menu, specify a `menuId` property when registering the items. - -```tsx !#6 -runtime.registerNavigationItem({ - $key: "page-1", - $label: "Page 1", - to: "/layout/page-1" -}, { - menuId: "my-custom-layout" -}); -``` +> It's the responsibility of the code rendering the menu to handle the additional properties. ### Retrieve navigation items diff --git a/docs/reference/runtime/useNavigationItems.md b/docs/reference/runtime/useNavigationItems.md index 9f8c98379..1d70865a9 100644 --- a/docs/reference/runtime/useNavigationItems.md +++ b/docs/reference/runtime/useNavigationItems.md @@ -26,14 +26,14 @@ An array of `NavigationLink | NavigationSection`. #### `NavigationLink` Accept any properties of a React Router [Link](https://reactrouter.com/en/main/components/link) component with the addition of: -- `$key`: An optional key identifying the link. Usually used as the React element [key](https://legacy.reactjs.org/docs/lists-and-keys.html#keys) property. +- `$id`: An optional key identifying the link. Usually used as the React element [key](https://legacy.reactjs.org/docs/lists-and-keys.html#keys) property. - `$label`: The link label. Could either by a `string` or a `ReactNode`. - `$canRender`: An optional function accepting an object and returning a `boolean` indicating whether or not the link should be rendered. - `$additionalProps`: An optional object literal of additional props to apply to the link component. #### `NavigationSection` -- `$key`: An optional key identifying the section. Usually used as the React element [key](https://legacy.reactjs.org/docs/lists-and-keys.html#keys) property. +- `$id`: An optional key identifying the section. Usually used to nest navigation items under a specific section and as the React element [key](https://legacy.reactjs.org/docs/lists-and-keys.html#keys) property. - `$label`: The section label. Could either by a `string` or a `ReactNode`. - `$canRender`: An optional function accepting an object and returning a `boolean` indicating whether or not the section should be rendered. - `$additionalProps`: An optional object literal of additional props to apply to the section component. diff --git a/docs/reference/webpack/defineBuildHostConfig.md b/docs/reference/webpack/defineBuildHostConfig.md index e32b2220b..9c55f0386 100644 --- a/docs/reference/webpack/defineBuildHostConfig.md +++ b/docs/reference/webpack/defineBuildHostConfig.md @@ -24,7 +24,7 @@ const webpackConfig = defineBuildHostConfig(swcConfig: {}, remotes: [], options? - `remotes`: An array of `RemoteDefinition` (view the [Remote definition](#remote-definition) section). - `options`: An optional object literal of options: - Accepts most of webpack `definedBuildConfig` [predefined options](https://gsoft-inc.github.io/wl-web-configs/webpack/configure-build/#3-set-predefined-options). - - `htmlWebpackPluginOptions`: An optional object literal accepting any property of the [HtmlWebpackPlugin](https://github.com/jantimon/html-webpack-plugin#options). + - `htmlWebpackPluginOptions`: An optional object literal accepting any options of the [HtmlWebpackPlugin](https://github.com/jantimon/html-webpack-plugin#options). - `features`: An optional object literal of feature switches to define additional shared dependencies. - `i18next`: Whether or not to add `@squide/i18next` as a shared dependency. - `sharedDependencies`: An optional object literal of additional (or updated) module federation shared dependencies. @@ -223,7 +223,7 @@ export default defineBuildHostConfig(swcConfig, Remotes, { ### `name` -The `name` property of a remote definition **must match** the `name` property defined in the remote module [ModuleFederationPlugin](https://module-federation.io/configure/index.html) configuration. +The `name` option of a remote definition **must match** the `name` option defined in the remote module [ModuleFederationPlugin](https://module-federation.io/configure/index.html) configuration. If you are relying on the Squide [defineBuildRemoteModuleConfig](../webpack/defineBuildRemoteModuleConfig.md) function to add the `ModuleFederationPlugin` to the remote module webpack [configuration object](https://module-federation.io/), then the remote module `name` is the second argument of the function. @@ -249,7 +249,7 @@ export default defineBuildRemoteModuleConfig(swcConfig, "remote1"); ### `url` -The `url` property of a remote definition **must match** the [publicPath](https://webpack.js.org/guides/public-path/) of the remote module webpack [configuration object](https://webpack.js.org/concepts/configuration/). +The `url` option of a remote definition **must match** the [publicPath](https://webpack.js.org/guides/public-path/) of the remote module webpack [configuration object](https://webpack.js.org/concepts/configuration/). In the following exemple, the remote module `publicPath` is `http://localhost:8081`. diff --git a/docs/reference/webpack/defineDevHostConfig.md b/docs/reference/webpack/defineDevHostConfig.md index 90b7962cf..891dd3dfa 100644 --- a/docs/reference/webpack/defineDevHostConfig.md +++ b/docs/reference/webpack/defineDevHostConfig.md @@ -25,7 +25,7 @@ const webpackConfig = defineDevHostConfig(swcConfig: {}, port, remotes: [], opti - `remotes`: An array of `RemoteDefinition` (view the [Remote definition](#remote-definition) section). - `options`: An optional object literal of options: - Accepts most of webpack `definedDevConfig` [predefined options](https://gsoft-inc.github.io/wl-web-configs/webpack/configure-dev/#3-set-predefined-options). - - `htmlWebpackPluginOptions`: An optional object literal accepting any property of the [HtmlWebpackPlugin](https://github.com/jantimon/html-webpack-plugin#options). + - `htmlWebpackPluginOptions`: An optional object literal accepting any options of the [HtmlWebpackPlugin](https://github.com/jantimon/html-webpack-plugin#options). - `features`: An optional object literal of feature switches to define additional shared dependencies. - `i18next`: Whether or not to add `@squide/i18next` as a shared dependency. - `sharedDependencies`: An optional object literal of additional (or updated) module federation shared dependencies. @@ -224,7 +224,7 @@ export default defineDevHostConfig(swcConfig, 8080, Remotes, { ### `name` -The `name` property of a remote definition **must match** the `name` property defined in the remote module [ModuleFederationPlugin](https://module-federation.io/configure/index.html) configuration. +The `name` option of a remote definition **must match** the `name` option defined in the remote module [ModuleFederationPlugin](https://module-federation.io/configure/index.html) configuration. If you are relying on the Squide [defineDevRemoteModuleConfig](../webpack/defineDevRemoteModuleConfig.md) function to add the `ModuleFederationPlugin` to the remote module webpack [configuration object](https://module-federation.io/), then the remote module `name` is the second argument of the function. @@ -250,7 +250,7 @@ export default defineDevRemoteModuleConfig(swcConfig, "remote1", 8081); ### `url` -The `url` property of a remote definition **must match** the [publicPath](https://webpack.js.org/guides/public-path/) of the remote module webpack [configuration object](https://webpack.js.org/concepts/configuration/). +The `url` option of a remote definition **must match** the [publicPath](https://webpack.js.org/guides/public-path/) of the remote module webpack [configuration object](https://webpack.js.org/concepts/configuration/). In the following exemple, the remote module `publicPath` is `http://localhost:8081`. diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md index 95cddd8de..6ccd5aee6 100644 --- a/docs/troubleshooting.md +++ b/docs/troubleshooting.md @@ -71,6 +71,7 @@ To faciliate the debugging of a Squide application bootstrapping flow, a lot of ### Navigation items registration +- `[squide] The following static navigation item registration is pending until the "officevibe" section of the "root" menu is registered` - `[squide] The following static navigation item has been registered to the "/federated-tabs" menu for a total of 2 static items.` - `[squide] The following deferred navigation item has been registered to the "root" menu for a total of 4 deferred items.` diff --git a/package.json b/package.json index 1bad9ac90..672c9a592 100644 --- a/package.json +++ b/package.json @@ -34,25 +34,25 @@ "deploy-endpoints": "cross-env NETLIFY=true turbo run deploy --filter=./samples/endpoints/*", "deploy-endpoints-isolated": "cross-env NETLIFY=true turbo run deploy-isolated --filter=./samples/endpoints/*", "dev-docs": "retype start", - "list-outdated-deps": "pnpm outdated -r --format list !eslint !useless-lib !turbo", - "update-outdated-deps": "pnpm update -r --latest !eslint !useless-lib !turbo" + "list-outdated-deps": "pnpm outdated -r --format list !eslint !useless-lib !turbo !typescript", + "update-outdated-deps": "pnpm update -r --latest !eslint !useless-lib !turbo !typescript" }, "devDependencies": { "@changesets/changelog-github": "0.5.0", - "@changesets/cli": "2.27.7", - "@types/node": "20.14.11", - "@typescript-eslint/parser": "7.16.1", + "@changesets/cli": "2.27.8", + "@types/node": "22.5.5", + "@typescript-eslint/parser": "8.6.0", "@workleap/eslint-plugin": "3.2.2", "@workleap/typescript-configs": "3.0.2", "cross-env": "7.0.3", "eslint": "8.57.0", "installed-check": "9.3.0", "jest": "29.7.0", - "knip": "5.26.0", - "retypeapp": "3.5.0", + "knip": "5.30.2", + "retypeapp": "3.6.0", "ts-node": "10.9.2", "turbo": "1.13.3", - "typescript": "5.5.3" + "typescript": "5.5.4" }, "engines": { "node": ">=21.1.0", diff --git a/packages/core/package.json b/packages/core/package.json index 472d0616c..bd617ace4 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -35,10 +35,10 @@ "react-dom": "*" }, "devDependencies": { - "@swc/core": "1.7.0", + "@swc/core": "1.7.26", "@swc/jest": "0.2.36", - "@types/jest": "29.5.12", - "@types/react": "18.3.3", + "@types/jest": "29.5.13", + "@types/react": "18.3.8", "@workleap/eslint-plugin": "3.2.2", "@workleap/swc-configs": "2.2.3", "@workleap/tsup-configs": "3.0.6", @@ -46,8 +46,8 @@ "eslint": "8.57.0", "jest": "29.7.0", "react": "18.3.1", - "tsup": "8.1.2", - "typescript": "5.5.3" + "tsup": "8.3.0", + "typescript": "5.5.4" }, "dependencies": { "eventemitter3": "5.0.1" diff --git a/packages/core/src/runtime/runtime.ts b/packages/core/src/runtime/runtime.ts index 3629d0bdd..1c361c043 100644 --- a/packages/core/src/runtime/runtime.ts +++ b/packages/core/src/runtime/runtime.ts @@ -21,6 +21,7 @@ export interface RegisterRouteOptions { export interface RegisterNavigationItemOptions { menuId?: string; + sectionId?: string; } export const RootMenuId = "root"; diff --git a/packages/fakes/package.json b/packages/fakes/package.json index 427d5d6cd..b1057dbf5 100644 --- a/packages/fakes/package.json +++ b/packages/fakes/package.json @@ -35,8 +35,8 @@ "@workleap/tsup-configs": "3.0.6", "@workleap/typescript-configs": "3.0.2", "eslint": "8.57.0", - "tsup": "8.1.2", - "typescript": "5.5.3" + "tsup": "8.3.0", + "typescript": "5.5.4" }, "dependencies": { "@squide/core": "workspace:*" diff --git a/packages/firefly-webpack-configs/package.json b/packages/firefly-webpack-configs/package.json index 44cb30b8b..2835c88f9 100644 --- a/packages/firefly-webpack-configs/package.json +++ b/packages/firefly-webpack-configs/package.json @@ -40,10 +40,10 @@ "webpack-dev-server": ">=5.0.0" }, "devDependencies": { - "@module-federation/enhanced": "0.2.6", - "@swc/core": "1.7.0", + "@module-federation/enhanced": "0.6.6", + "@swc/core": "1.7.26", "@swc/jest": "0.2.36", - "@types/jest": "29.5.12", + "@types/jest": "29.5.13", "@workleap/eslint-plugin": "3.2.2", "@workleap/swc-configs": "2.2.3", "@workleap/tsup-configs": "3.0.6", @@ -51,10 +51,10 @@ "eslint": "8.57.0", "jest": "29.7.0", "jest-environment-jsdom": "29.7.0", - "ts-jest": "29.2.3", - "tsup": "8.1.2", - "typescript": "5.5.3", - "webpack": "5.93.0" + "ts-jest": "29.2.5", + "tsup": "8.3.0", + "typescript": "5.5.4", + "webpack": "5.94.0" }, "dependencies": { "@squide/webpack-configs": "workspace:*", diff --git a/packages/firefly/package.json b/packages/firefly/package.json index 462ae2880..016b70cf1 100644 --- a/packages/firefly/package.json +++ b/packages/firefly/package.json @@ -38,12 +38,12 @@ "react-router-dom": "*" }, "devDependencies": { - "@swc/core": "1.7.0", + "@swc/core": "1.7.26", "@swc/jest": "0.2.36", - "@testing-library/jest-dom": "6.4.6", - "@testing-library/react": "16.0.0", - "@types/jest": "29.5.12", - "@types/react": "18.3.3", + "@testing-library/jest-dom": "6.5.0", + "@testing-library/react": "16.0.1", + "@types/jest": "29.5.13", + "@types/react": "18.3.8", "@types/react-dom": "18.3.0", "@workleap/eslint-plugin": "3.2.2", "@workleap/swc-configs": "2.2.3", @@ -52,13 +52,13 @@ "eslint": "8.57.0", "jest": "29.7.0", "jest-environment-jsdom": "29.7.0", - "msw": "2.3.1", + "msw": "2.4.9", "react": "18.3.1", "react-dom": "18.3.1", - "react-router-dom": "6.25.1", - "ts-jest": "29.2.3", - "tsup": "8.1.2", - "typescript": "5.5.3" + "react-router-dom": "6.26.2", + "ts-jest": "29.2.5", + "tsup": "8.3.0", + "typescript": "5.5.4" }, "dependencies": { "@squide/core": "workspace:*", diff --git a/packages/i18next/package.json b/packages/i18next/package.json index 0903a86b1..96d801674 100644 --- a/packages/i18next/package.json +++ b/packages/i18next/package.json @@ -38,26 +38,26 @@ "react-i18next": "*" }, "devDependencies": { - "@swc/core": "1.7.0", + "@swc/core": "1.7.26", "@swc/jest": "0.2.36", - "@types/jest": "29.5.12", - "@types/react": "18.3.3", + "@types/jest": "29.5.13", + "@types/react": "18.3.8", "@types/react-dom": "18.3.0", "@workleap/eslint-plugin": "3.2.2", "@workleap/swc-configs": "2.2.3", "@workleap/tsup-configs": "3.0.6", "@workleap/typescript-configs": "3.0.2", "eslint": "8.57.0", - "i18next": "23.12.1", + "i18next": "23.15.1", "i18next-browser-languagedetector": "8.0.0", "jest": "29.7.0", "jest-environment-jsdom": "29.7.0", "react": "18.3.1", "react-dom": "18.3.1", - "react-i18next": "15.0.0", - "ts-jest": "29.2.3", - "tsup": "8.1.2", - "typescript": "5.5.3" + "react-i18next": "15.0.2", + "ts-jest": "29.2.5", + "tsup": "8.3.0", + "typescript": "5.5.4" }, "dependencies": { "@formatjs/intl-localematcher": "0.5.4", diff --git a/packages/module-federation/package.json b/packages/module-federation/package.json index 291e38b3b..f61116259 100644 --- a/packages/module-federation/package.json +++ b/packages/module-federation/package.json @@ -35,11 +35,11 @@ "react-dom": "*" }, "devDependencies": { - "@swc/core": "1.7.0", + "@swc/core": "1.7.26", "@swc/jest": "0.2.36", - "@types/jest": "29.5.12", - "@types/node": "20.14.11", - "@types/react": "18.3.3", + "@types/jest": "29.5.13", + "@types/node": "22.5.5", + "@types/react": "18.3.8", "@types/react-dom": "18.3.0", "@workleap/eslint-plugin": "3.2.2", "@workleap/swc-configs": "2.2.3", @@ -50,12 +50,12 @@ "jest-environment-jsdom": "29.7.0", "react": "18.3.1", "react-dom": "18.3.1", - "ts-jest": "29.2.3", - "tsup": "8.1.2", - "typescript": "5.5.3" + "ts-jest": "29.2.5", + "tsup": "8.3.0", + "typescript": "5.5.4" }, "dependencies": { - "@module-federation/enhanced": "0.2.6", + "@module-federation/enhanced": "0.6.6", "@squide/core": "workspace:*" }, "sideEffects": false, diff --git a/packages/msw/package.json b/packages/msw/package.json index 07ee03318..a94628ca8 100644 --- a/packages/msw/package.json +++ b/packages/msw/package.json @@ -41,17 +41,17 @@ } }, "devDependencies": { - "@types/react": "18.3.3", + "@types/react": "18.3.8", "@types/react-dom": "18.3.0", "@workleap/eslint-plugin": "3.2.2", "@workleap/tsup-configs": "3.0.6", "@workleap/typescript-configs": "3.0.2", "eslint": "8.57.0", - "msw": "2.3.1", + "msw": "2.4.9", "react": "18.3.1", "react-dom": "18.3.1", - "tsup": "8.1.2", - "typescript": "5.5.3" + "tsup": "8.3.0", + "typescript": "5.5.4" }, "dependencies": { "@squide/core": "workspace:*" diff --git a/packages/react-router/package.json b/packages/react-router/package.json index 21011c597..5100ddf4c 100644 --- a/packages/react-router/package.json +++ b/packages/react-router/package.json @@ -36,11 +36,11 @@ "react-router-dom": "*" }, "devDependencies": { - "@swc/core": "1.7.0", + "@swc/core": "1.7.26", "@swc/jest": "0.2.36", - "@testing-library/react": "16.0.0", - "@types/jest": "29.5.12", - "@types/react": "18.3.3", + "@testing-library/react": "16.0.1", + "@types/jest": "29.5.13", + "@types/react": "18.3.8", "@types/react-dom": "18.3.0", "@types/react-test-renderer": "18.3.0", "@workleap/eslint-plugin": "3.2.2", @@ -52,11 +52,11 @@ "jest-environment-jsdom": "29.7.0", "react": "18.3.1", "react-dom": "18.3.1", - "react-router-dom": "6.25.1", + "react-router-dom": "6.26.2", "react-test-renderer": "18.3.1", - "ts-jest": "29.2.3", - "tsup": "8.1.2", - "typescript": "5.5.3" + "ts-jest": "29.2.5", + "tsup": "8.3.0", + "typescript": "5.5.4" }, "dependencies": { "@squide/core": "workspace:*", diff --git a/packages/react-router/src/navigationItemRegistry.ts b/packages/react-router/src/navigationItemRegistry.ts index 55a035d12..37747b89d 100644 --- a/packages/react-router/src/navigationItemRegistry.ts +++ b/packages/react-router/src/navigationItemRegistry.ts @@ -4,7 +4,7 @@ import type { ReactNode } from "react"; import type { LinkProps } from "react-router-dom"; export interface NavigationLink extends Omit { - $key?: string; + $id?: string; $label: ReactNode; $additionalProps?: Record; $canRender?: (obj?: unknown) => boolean; @@ -12,7 +12,7 @@ export interface NavigationLink extends Omit { } export interface NavigationSection { - $key?: string; + $id?: string; $label: ReactNode; $additionalProps?: Record; $canRender?: (obj?: unknown) => boolean; @@ -32,14 +32,46 @@ export type RootNavigationItem = NavigationItem & { $priority?: number; }; +export interface AddNavigationItemOptions { + sectionId?: string; +} + +export type NavigationItemRegistrationStatus = "pending" | "registered"; export type NavigationItemRegistrationType = "static" | "deferred"; -export interface RegistryItem { +export interface NavigationItemRegistrationResult { + registrationStatus: NavigationItemRegistrationStatus; + completedPendingRegistrations: NavigationItem[]; + registrationType: NavigationItemRegistrationType; + item: RootNavigationItem; + menuId: string; + sectionId?: string; +} + +interface RegistryItem { + menuId: string; + registrationType: NavigationItemRegistrationType; + item: RootNavigationItem; +} + +interface SectionIndexItem { + menuId: string; + sectionId: string; + registrationType: NavigationItemRegistrationType; + item: NavigationSection; +} + +interface PendingRegistrationItem { menuId: string; + sectionId: string; registrationType: NavigationItemRegistrationType; item: RootNavigationItem; } +interface DeferredRegistrationTransactionalScopeItem extends RegistryItem { + options?: AddNavigationItemOptions; +} + export class NavigationItemDeferredRegistrationScope { readonly _registry: NavigationItemRegistry; @@ -47,8 +79,8 @@ export class NavigationItemDeferredRegistrationScope { this._registry = registry; } - addItem(menuId: string, navigationItem: RootNavigationItem) { - this._registry.add(menuId, "deferred", navigationItem); + addItem(menuId: string, navigationItem: NavigationItem, options?: AddNavigationItemOptions) { + return this._registry.add(menuId, "deferred", navigationItem, options); } getItems(menuId: string) { @@ -59,62 +91,266 @@ export class NavigationItemDeferredRegistrationScope { } export class NavigationItemDeferredRegistrationTransactionalScope extends NavigationItemDeferredRegistrationScope { - readonly #activeItemsIndex: Map = new Map(); + readonly #ItemsIndex: Map = new Map(); - addItem(menuId: string, navigationItem: RootNavigationItem) { - this.#activeItemsIndex.set(menuId, [ - ...(this.#activeItemsIndex.get(menuId) ?? []), + addItem(menuId: string, navigationItem: NavigationItem, options: AddNavigationItemOptions = {}): NavigationItemRegistrationResult { + this.#ItemsIndex.set(menuId, [ + ...(this.#ItemsIndex.get(menuId) ?? []), { menuId, registrationType: "deferred", - item: navigationItem + item: navigationItem, + options } ]); + + // This scope is only for updates, meaning that we know there will not be any pending registrations + // so we can safely return that an item is registered even if it's only buffered. + return { + registrationStatus: "registered", + completedPendingRegistrations: [], + registrationType: "deferred", + item: navigationItem, + menuId, + sectionId: options.sectionId + }; } getItems(menuId: string) { - return this.#activeItemsIndex.get(menuId)?.map(x => x.item) ?? []; + return this.#ItemsIndex.get(menuId)?.map(x => x.item) ?? []; } complete() { this._registry.clearDeferredItems(); - this.#activeItemsIndex.forEach(items => { + this.#ItemsIndex.forEach(items => { items.forEach(x => { - this._registry.add(x.menuId, x.registrationType, x.item); + this._registry.add(x.menuId, x.registrationType, x.item, x.options); }); }); - this.#activeItemsIndex.clear(); + this.#ItemsIndex.clear(); } } +function createSectionIndexKey(menuId: string, sectionId: string) { + return `${menuId}-${sectionId}`; +} + +export function parseSectionIndexKey(indexKey: string) { + return indexKey.split("-"); +} + export class NavigationItemRegistry { // readonly #menusIndex: Map = new Map(); + // + readonly #sectionsIndex: Map = new Map(); + + // An index of pending navigation items to registered once their section is registered. + // + readonly #pendingRegistrationsIndex: Map = new Map(); + // Since the "getItems" function is transforming the menus items from registry items to navigation items, the result of // the transformation is memoized to ensure the returned array is immutable and can be use in React closures. readonly #memoizedGetItems = memoize((menuId: string) => this.#menusIndex.get(menuId)?.map(x => x.item) ?? []); + #addSectionIndex(menuId: string, registrationType: NavigationItemRegistrationType, sectionItem: NavigationSection) { + // Only add sections with an identifier. + if (sectionItem.$id) { + const indexKey = createSectionIndexKey(menuId, sectionItem.$id); + + if (this.#sectionsIndex.has(indexKey)) { + throw new Error(`[squide] A navigation section index has already been registered for the menu: "${menuId}" and section: "${sectionItem.$id}". Did you register two navigation sections with similar "$id" option for the same menu?`); + } + + this.#sectionsIndex.set(indexKey, { + menuId, + sectionId: sectionItem.$id, + registrationType, + item: sectionItem + }); + + return indexKey; + } + } + + #recursivelyRegisterSections(menuId: string, registrationType: NavigationItemRegistrationType, items: NavigationItem[]) { + const completedPendingRegistrations: NavigationItem[] = []; + + items.forEach(x => { + if (!isLinkItem(x)) { + // Add index entries to speed up the registration of future nested navigation items. + const indexKey = this.#addSectionIndex(menuId, registrationType, x); + + if (x.children) { + // Recursively go through the children. + const result = this.#recursivelyRegisterSections(menuId, registrationType, x.children); + completedPendingRegistrations.push(...result); + } + + // If there's an index key, it means it's an identified section so there could be pending registrations. + if (indexKey) { + const result = this.#tryRegisterPendingItems(indexKey); + completedPendingRegistrations.unshift(...result); + } + } + }); + + return completedPendingRegistrations; + } + + #tryRegisterPendingItems(indexKey: string) { + const completedPendingRegistrations: RootNavigationItem[] = []; + const pendingRegistrations = this.#pendingRegistrationsIndex.get(indexKey); + + if (pendingRegistrations) { + completedPendingRegistrations.push(...(pendingRegistrations.map(x => x.item))); + + pendingRegistrations.forEach(x => { + // Register the pending navigation items. + const result = this.#addNestedItem(x.menuId, x.sectionId, x.registrationType, x.item); + completedPendingRegistrations.push(...result.completedPendingRegistrations); + }); + + // Delete the pending registrations for the section. + this.#pendingRegistrationsIndex.delete(indexKey); + } + + return completedPendingRegistrations; + } + #setItems(menuId: string, items: RegistryItem[]) { this.#menusIndex.set(menuId, items); memoizeClear(this.#memoizedGetItems); } - add(menuId: string, registrationType: NavigationItemRegistrationType, navigationItem: RootNavigationItem) { + add(menuId: string, registrationType: NavigationItemRegistrationType, navigationItem: RootNavigationItem, { sectionId }: AddNavigationItemOptions = {}): NavigationItemRegistrationResult { + if (sectionId) { + return this.#addNestedItem(menuId, sectionId, registrationType, navigationItem); + } + + if (isLinkItem(navigationItem)) { + return this.#addRootLink(menuId, registrationType, navigationItem); + } + + return this.#addRootSection(menuId, registrationType, navigationItem); + } + + #addRootLink(menuId: string, registrationType: NavigationItemRegistrationType, item: RootNavigationItem): NavigationItemRegistrationResult { + // Create a new array so the navigation items array is immutable. + const items = [ + ...(this.#menusIndex.get(menuId) ?? []), + { + menuId, + registrationType, + item: item + } + ]; + + this.#setItems(menuId, items); + + return { + registrationStatus: "registered", + completedPendingRegistrations: [], + registrationType, + item, + menuId + }; + } + + #addRootSection(menuId: string, registrationType: NavigationItemRegistrationType, item: RootNavigationItem): NavigationItemRegistrationResult { + const completedPendingRegistrations = this.#recursivelyRegisterSections(menuId, registrationType, [item]); + // Create a new array so the navigation items array is immutable. const items = [ ...(this.#menusIndex.get(menuId) ?? []), { menuId, registrationType, - item: navigationItem + item: item } ]; this.#setItems(menuId, items); + + return { + registrationStatus: "registered", + completedPendingRegistrations, + registrationType, + item, + menuId, + sectionId: item.$id + }; + } + + #addNestedItem(menuId: string, sectionId: string, registrationType: NavigationItemRegistrationType, item: RootNavigationItem): NavigationItemRegistrationResult { + const indexKey = createSectionIndexKey(menuId, sectionId); + const parentSection = this.#sectionsIndex.get(indexKey); + + if (!parentSection) { + const registryItem = { + menuId, + sectionId, + registrationType, + item: item + }; + + const pendingRegistration = this.#pendingRegistrationsIndex.get(indexKey); + + if (pendingRegistration) { + pendingRegistration.push(registryItem); + } else { + this.#pendingRegistrationsIndex.set(indexKey, [registryItem]); + } + + return { + registrationStatus: "pending", + completedPendingRegistrations: [], + registrationType, + item, + menuId, + sectionId + }; + } + + // Must be the same registration type as the section to ensure + // deferred registrations updates works properly. + if (parentSection.registrationType !== registrationType) { + let message = "[squide] A nested navigation item must have the same registration type as the section it's nested under.\r\n"; + message += "Did you statically (not in a deferred registration function) register the navigation section and registered the nested navigation item in a deferred registration function?\r\n"; + message += "Did you deferred the registration of the navigation section and statically (not in a deferred registration function) registered the nested navigation item?"; + + throw new Error(message); + } + + const completedPendingRegistrations: RootNavigationItem[] = []; + + // If it's a section item, add a section index entry and look for pending registrations. + if (!isLinkItem(item)) { + const result = this.#recursivelyRegisterSections(menuId, registrationType, [item]); + completedPendingRegistrations.push(...result); + } + + // Register the nested item as a children of the parent section. + parentSection.item.children = [ + ...(parentSection.item.children ?? []), + item + ]; + + // Clear the "getItems" memoize cache since a nested object has been updated. + memoizeClear(this.#memoizedGetItems); + + return { + registrationStatus: "registered", + completedPendingRegistrations, + registrationType, + item, + menuId, + sectionId + }; } getItems(menuId: string) { @@ -139,6 +375,41 @@ export class NavigationItemRegistry { if (registryItems.some(x => x.registrationType === "deferred")) { this.#setItems(key, registryItems.filter(x => x.registrationType !== "deferred")); } + + // Keep the section index in sync with the menu index. + this.#deleteDeferredSectionIndexEntries(key); } } + + #deleteDeferredSectionIndexEntries(menuId: string) { + const idsToDelete: string[] = []; + + this.#sectionsIndex.forEach(y => { + if (y.registrationType === "deferred") { + idsToDelete.push(y.sectionId); + } + }); + + idsToDelete.forEach(y => this.#sectionsIndex.delete(createSectionIndexKey(menuId, y))); + } + + getPendingRegistrations() { + return new PendingNavigationItemRegistrations(this.#pendingRegistrationsIndex); + } +} + +export class PendingNavigationItemRegistrations { + readonly #pendingRegistrationsIndex: Map = new Map(); + + constructor(pendingRegistrationsIndex: Map = new Map()) { + this.#pendingRegistrationsIndex = pendingRegistrationsIndex; + } + + getPendingSectionIds() { + return Array.from(this.#pendingRegistrationsIndex.keys()); + } + + getPendingRegistrationsForSection(indexKey: string) { + return this.#pendingRegistrationsIndex.get(indexKey) ?? []; + } } diff --git a/packages/react-router/src/reactRouterRuntime.ts b/packages/react-router/src/reactRouterRuntime.ts index 503894e51..ca8db2fff 100644 --- a/packages/react-router/src/reactRouterRuntime.ts +++ b/packages/react-router/src/reactRouterRuntime.ts @@ -1,15 +1,15 @@ import { RootMenuId, Runtime, type RegisterNavigationItemOptions, type RegisterRouteOptions } from "@squide/core"; -import { NavigationItemDeferredRegistrationScope, NavigationItemDeferredRegistrationTransactionalScope, NavigationItemRegistry, type RootNavigationItem } from "./navigationItemRegistry.ts"; +import { NavigationItemDeferredRegistrationScope, NavigationItemDeferredRegistrationTransactionalScope, NavigationItemRegistry, parseSectionIndexKey, type NavigationItemRegistrationResult, type RootNavigationItem } from "./navigationItemRegistry.ts"; import { ProtectedRoutesOutletName, PublicRoutesOutletName } from "./outlets.ts"; import { RouteRegistry, type Route } from "./routeRegistry.ts"; function translateOutletsParentId(parentId?: string) { if (parentId === PublicRoutesOutletName) { - return "public-routes-placeholder"; + return "PublicRoutes"; } if (parentId === ProtectedRoutesOutletName) { - return "protected-routes-placeholder"; + return "ProtectedRoutes"; } return parentId; @@ -84,26 +84,51 @@ export class ReactRouterRuntime extends Runtime { return this.#routeRegistry.routes; } - registerNavigationItem(navigationItem: RootNavigationItem, { menuId = RootMenuId }: RegisterNavigationItemOptions = {}) { + registerNavigationItem(navigationItem: RootNavigationItem, { menuId = RootMenuId, ...options }: RegisterNavigationItemOptions = {}) { if (this.#navigationItemScope) { - this.#navigationItemScope.addItem(menuId, navigationItem); - + const result = this.#navigationItemScope.addItem(menuId, navigationItem, options); const items = this.#navigationItemScope.getItems(menuId)!; - this._logger.debug( - `[squide] The following deferred navigation item has been %cregistered%c to the "${menuId}" menu for a total of ${items.length} deferred item${items.length !== 1 ? "s" : ""}.`, "color: white; background-color: green;", "%s", - "Newly registered item:", navigationItem, - "All registered items:", items - ); + this.#logNavigationItemRegistrationResult(result, items); } else { - this.#navigationItemRegistry.add(menuId, "static", navigationItem); - + const result = this.#navigationItemRegistry.add(menuId, "static", navigationItem, options); const items = this.#navigationItemRegistry.getItems(menuId)!; + this.#logNavigationItemRegistrationResult(result, items); + } + } + + #logNavigationItemRegistrationResult(result: NavigationItemRegistrationResult, registeredItems: RootNavigationItem[]) { + const { + registrationStatus, + completedPendingRegistrations, + registrationType, + item: newItem, + menuId, + sectionId + } = result; + + if (registrationStatus === "registered") { + const sectionLog = sectionId ? `under the "${sectionId}" section of` : "to"; + + this._logger.debug( + `[squide] The following ${registrationType} navigation item has been %cregistered%c ${sectionLog} the "${menuId}" menu for a total of ${registeredItems.length} ${registrationType} item${registeredItems.length !== 1 ? "s" : ""}.`, "color: white; background-color: green;", "%s", + "Newly registered item:", newItem, + "All registered items:", registeredItems + ); + + if (completedPendingRegistrations.length > 0) { + this._logger.debug( + `[squide] The pending registration of the following ${registrationType} navigation item${completedPendingRegistrations.length !== 1 ? "s" : ""} has been %ccompleted%c.`, "color: white; background-color: green;", "%s", + "Newly registered items:", completedPendingRegistrations, + "All registered items:", registeredItems + ); + } + } else { this._logger.debug( - `[squide] The following static navigation item has been %cregistered%c to the "${menuId}" menu for a total of ${items.length} static item${items.length !== 1 ? "s" : ""}.`, "color: white; background-color: green;", "%s", - "Newly registered item:", navigationItem, - "All registered items:", items + `[squide] The following ${registrationType} navigation item registration is %cpending%c until the "${sectionId}" section of the "${menuId}" menu is registered.`, "color: black; background-color: yellow;", "%s", + "Pending registration:", newItem, + "All registered items:", registeredItems ); } } @@ -113,6 +138,13 @@ export class ReactRouterRuntime extends Runtime { } _validateRegistrations() { + this.#validateRouteRegistrations(); + this.#validateNavigationItemRegistrations(); + + super._validateRegistrations(); + } + + #validateRouteRegistrations() { const pendingRegistrations = this.#routeRegistry.getPendingRegistrations(); const pendingRoutes = pendingRegistrations.getPendingRouteIds(); @@ -132,9 +164,9 @@ export class ReactRouterRuntime extends Runtime { message += `${index}/${pendingRoutes.length} Missing route with the following path or name: "${x}"\r\n`; message += " Pending registrations:\r\n"; - const nestedPendingRegistrations = pendingRegistrations.getPendingRegistrationsForRoute(x); + const pendingRegistrationsForRoute = pendingRegistrations.getPendingRegistrationsForRoute(x); - nestedPendingRegistrations.forEach(y => { + pendingRegistrationsForRoute.forEach(y => { message += ` - "${y.path ?? y.$name ?? "(no identifier)"}"\r\n`; }); @@ -142,7 +174,7 @@ export class ReactRouterRuntime extends Runtime { }); message += `If you are certain that the route${pendingRoutes.length !== 1 ? "s" : ""} has been registered, make sure that the following conditions are met:\r\n`; - message += "- The missing routes \"path\" or \"name\" property perfectly match the provided \"parentPath\" or \"parentName\" (make sure that there's no leading or trailing \"/\" that differs).\r\n"; + message += "- The missing routes \"path\" or \"name\" option perfectly match the provided \"parentPath\" or \"parentName\" (make sure that there's no leading or trailing \"/\" that differs).\r\n"; message += "- The missing routes has been registered with the runtime.registerRoute function. A route cannot be registered under a parent route that has not be registered with the runtime.registerRoute function.\r\n"; message += "For more information about nested routes, refers to https://gsoft-inc.github.io/wl-squide/reference/runtime/runtime-class/#register-nested-routes-under-an-existing-route.\r\n"; message += "For more information about the PublicRoutes and ProtectedRoutes outlets, refers to https://gsoft-inc.github.io/wl-squide/reference/#routing."; @@ -153,7 +185,39 @@ export class ReactRouterRuntime extends Runtime { this._logger.error(message); } } + } - super._validateRegistrations(); + #validateNavigationItemRegistrations() { + const pendingRegistrations = this.#navigationItemRegistry.getPendingRegistrations(); + const pendingSectionIds = pendingRegistrations.getPendingSectionIds(); + + if (pendingSectionIds.length > 0) { + let message = `[squide] ${pendingSectionIds.length} navigation item${pendingSectionIds.length !== 1 ? "s were" : " is"} expected to be registered but ${pendingSectionIds.length !== 1 ? "are" : "is"} missing:\r\n\r\n`; + + pendingSectionIds.forEach((x, index) => { + const [menuId, sectionId] = parseSectionIndexKey(x); + + message += `${index}/${pendingSectionIds.length} Missing navigation section "${sectionId}" of the "${menuId}" menu.\r\n`; + message += " Pending registrations:\r\n"; + + const pendingItems = pendingRegistrations.getPendingRegistrationsForSection(x); + + pendingItems.forEach(y => { + message += ` - "${y.item.$id ?? y.item.$label ?? y.item.to ?? "(no identifier)"}"\r\n`; + }); + + message += "\r\n"; + }); + + message += `If you are certain that the navigation section${pendingSectionIds.length !== 1 ? "s" : ""} has been registered, make sure that the following conditions are met:\r\n`; + message += "- The missing navigation section \"$id\" and \"menuId\" properties perfectly match the provided \"sectionId\" and \"menuId\".\r\n"; + message += "For more information about nested navigation items, refers to [TODO: ADD LINK].\r\n"; + + if (this._mode === "development") { + throw new Error(message); + } else { + this._logger.error(message); + } + } } } diff --git a/packages/react-router/src/routeRegistry.ts b/packages/react-router/src/routeRegistry.ts index b6e44fc80..f156ea288 100644 --- a/packages/react-router/src/routeRegistry.ts +++ b/packages/react-router/src/routeRegistry.ts @@ -1,4 +1,3 @@ -import type { RegisterRouteOptions } from "@squide/core"; import type { IndexRouteObject, NonIndexRouteObject } from "react-router-dom"; import { ProtectedRoutes, ProtectedRoutesOutletName, PublicRoutes, PublicRoutesOutletName, isProtectedRoutesOutletRoute, isPublicRoutesOutletRoute } from "./outlets.ts"; @@ -17,6 +16,12 @@ export interface NonIndexRoute extends Omit { export type Route = IndexRoute | NonIndexRoute; +export interface AddRouteOptions { + hoist?: true; + parentPath?: string; + parentName?: string; +} + export type RouteRegistrationStatus = "pending" | "registered"; export interface RouteRegistrationResult { @@ -41,8 +46,6 @@ export function createIndexKey(route: Route) { if (route.$name) { return route.$name; } - - return undefined; } export class RouteRegistry { @@ -52,7 +55,7 @@ export class RouteRegistry { // readonly #routesIndex: Map = new Map(); - // An index of pending routes to registered once their parent is registered. + // An index of pending routes to register once their parent is registered. // readonly #pendingRegistrationsIndex: Map = new Map(); @@ -61,7 +64,7 @@ export class RouteRegistry { if (key) { if (this.#routesIndex.has(key)) { - throw new Error(`[squide] A route index has already been registered for the key: "${key}". Did you register two routes with the same "path" or "name" property?`); + throw new Error(`[squide] A route index has already been registered for the key: "${key}". Did you register two routes with the same "path" or "name" option?`); } this.#routesIndex.set(key, route); @@ -96,8 +99,8 @@ export class RouteRegistry { // Otherwise pending routes will be handled twice (one time as a pending registration and one time as child // of the route). if (indexKey) { - const pendingRegistrations = this.#tryRegisterPendingRoutes(indexKey); - completedPendingRegistrations.unshift(...pendingRegistrations); + const result = this.#tryRegisterPendingRoutes(indexKey); + completedPendingRegistrations.unshift(...result); } newRoutes.push(route); @@ -110,34 +113,34 @@ export class RouteRegistry { } #tryRegisterPendingRoutes(parentId: string) { + const completedPendingRegistrations: Route[] = []; const pendingRegistrations = this.#pendingRegistrationsIndex.get(parentId); if (pendingRegistrations) { - // Try to register the pending routes. - const { registrationStatus } = this.#addNestedRoutes(pendingRegistrations, parentId); + completedPendingRegistrations.push(...pendingRegistrations); - if (registrationStatus === "registered") { - // Remove the pending registrations. - this.#pendingRegistrationsIndex.delete(parentId); + // Register the pending routes. + const result = this.#addNestedRoutes(pendingRegistrations, parentId); + completedPendingRegistrations.push(...result.completedPendingRegistrations); - return pendingRegistrations; - } + // Delete the pending registrations. + this.#pendingRegistrationsIndex.delete(parentId); } - return []; + return completedPendingRegistrations; } - #validateRouteRegistrationOptions(route: Route, { hoist, parentPath, parentName }: RegisterRouteOptions = {}) { + #validateRouteRegistrationOptions(route: Route, { hoist, parentPath, parentName }: AddRouteOptions = {}) { if (hoist && parentPath) { - throw new Error(`[squide] A route cannot have the "hoist" property when a "publicPath" option is provided. Route id: "${route.path ?? route.$name ?? "(no identifier)"}".`); + throw new Error(`[squide] A route cannot have the "hoist" option when a "publicPath" option is provided. Route id: "${route.path ?? route.$name ?? "(no identifier)"}".`); } if (hoist && parentName) { - throw new Error(`[squide] A route cannot have the "hoist" property when a "parentName" option is provided. Route id: "${route.path ?? route.$name ?? "(no identifier)"}".`); + throw new Error(`[squide] A route cannot have the "hoist" option when a "parentName" option is provided. Route id: "${route.path ?? route.$name ?? "(no identifier)"}".`); } } - add(route: Route, options: RegisterRouteOptions = {}) { + add(route: Route, options: AddRouteOptions = {}) { let parentName = options.parentName; // By default, a route that is not hoisted nor nested under a known @@ -154,7 +157,7 @@ export class RouteRegistry { }); } - #addRoute(route: Route, { parentPath, parentName }: RegisterRouteOptions) { + #addRoute(route: Route, { parentPath, parentName }: AddRouteOptions) { if (parentPath) { // The normalized path cannot be undefined because it's been provided by the consumer // (e.g. it cannot be a pathless route). @@ -181,9 +184,9 @@ export class RouteRegistry { } #addNestedRoutes(routes: Route[], parentId: string): RouteRegistrationResult { - const layoutRoute = this.#routesIndex.get(parentId); + const parentRoute = this.#routesIndex.get(parentId); - if (!layoutRoute) { + if (!parentRoute) { const pendingRegistration = this.#pendingRegistrationsIndex.get(parentId); if (pendingRegistration) { @@ -201,9 +204,9 @@ export class RouteRegistry { const { newRoutes, completedPendingRegistrations } = this.#recursivelyAddRoutes(routes); - // Register new nested routes as children of their layout route. - layoutRoute.children = [ - ...(layoutRoute.children ?? []), + // Register new nested routes as children of their parent route. + parentRoute.children = [ + ...(parentRoute.children ?? []), ...newRoutes ]; @@ -223,11 +226,11 @@ export class RouteRegistry { } getPendingRegistrations() { - return new PendingRegistrations(this.#pendingRegistrationsIndex); + return new PendingRouteRegistrations(this.#pendingRegistrationsIndex); } } -export class PendingRegistrations { +export class PendingRouteRegistrations { readonly #pendingRegistrationsIndex: Map = new Map(); constructor(pendingRegistrationsIndex: Map = new Map()) { diff --git a/packages/react-router/src/useRenderedNavigationItems.tsx b/packages/react-router/src/useRenderedNavigationItems.tsx index a0159e5d6..b48003fa8 100644 --- a/packages/react-router/src/useRenderedNavigationItems.tsx +++ b/packages/react-router/src/useRenderedNavigationItems.tsx @@ -28,9 +28,9 @@ export type RenderItemFunction = (item: NavigationItemRenderProps, key: string, export type RenderSectionFunction = (elements: ReactNode[], key: string, index: number, level: number) => ReactNode; function toLinkProps({ - // Explicitly omitted because the "$key" prop shouldn't be used by the consumer. + // Explicitly omitted because the "$od" prop shouldn't be used by the consumer. // eslint-disable-next-line @typescript-eslint/no-unused-vars - $key, + $id, $label, $additionalProps, $canRender, @@ -59,13 +59,13 @@ function renderItems(items: NavigationItem[], renderItem: RenderItemFunction, re let itemElement: ReactNode; if (isLinkItem(x)) { - itemElement = renderItem(toLinkProps(x), x.$key ?? `${itemIndex}-${level}`, itemIndex, level); + itemElement = renderItem(toLinkProps(x), x.$id ?? `${itemIndex}-${level}`, itemIndex, level); } else { const sectionIndex = 0; const sectionLevel = level + 1; - const sectionElement = renderItems(x.children, renderItem, renderSection, x.$key ?? `${sectionIndex}-${sectionLevel}`, sectionIndex, sectionLevel); + const sectionElement = renderItems(x.children, renderItem, renderSection, x.$id ?? `${sectionIndex}-${sectionLevel}`, sectionIndex, sectionLevel); - itemElement = renderItem(toMenuProps(x, sectionElement), x.$key ?? `${itemIndex}-${level}`, itemIndex, level); + itemElement = renderItem(toMenuProps(x, sectionElement), x.$id ?? `${itemIndex}-${level}`, itemIndex, level); } return itemElement; diff --git a/packages/react-router/tests/navigationItemRegistry.test.ts b/packages/react-router/tests/navigationItemRegistry.test.ts index 0ea1a3a22..3d878151b 100644 --- a/packages/react-router/tests/navigationItemRegistry.test.ts +++ b/packages/react-router/tests/navigationItemRegistry.test.ts @@ -6,12 +6,12 @@ describe("add", () => { registry.add("foo", "deferred", { $label: "1", - to: "1" + to: "/1" }); expect(registry.getItems("foo")[0]).toBeDefined(); expect(registry.getItems("foo")[0].$label).toBe("1"); - expect(registry.getItems("foo")[0].to).toBe("1"); + expect(registry.getItems("foo")[0].to).toBe("/1"); }); test("can add a single static item", () => { @@ -19,12 +19,12 @@ describe("add", () => { registry.add("foo", "static", { $label: "1", - to: "1" + to: "/1" }); expect(registry.getItems("foo")[0]).toBeDefined(); expect(registry.getItems("foo")[0].$label).toBe("1"); - expect(registry.getItems("foo")[0].to).toBe("1"); + expect(registry.getItems("foo")[0].to).toBe("/1"); }); test("can add multiple items", () => { @@ -32,12 +32,12 @@ describe("add", () => { registry.add("foo", "deferred", { $label: "1", - to: "1" + to: "/1" }); registry.add("foo", "static", { $label: "2", - to: "2" + to: "/2" }); expect(registry.getItems("foo").length).toBe(2); @@ -48,22 +48,531 @@ describe("add", () => { registry.add("foo", "deferred", { $label: "1", - to: "1" + to: "/1" }); registry.add("foo", "static", { $label: "2", - to: "2" + to: "/2" }); registry.add("bar", "deferred", { $label: "3", - to: "3" + to: "/3" }); expect(registry.getItems("foo").length).toBe(2); expect(registry.getItems("bar").length).toBe(1); }); + + test("when a root link is added, return the \"registered\" registration status", () => { + const registry = new NavigationItemRegistry(); + + const result = registry.add("foo", "static", { + $label: "1", + to: "/1" + }); + + expect(result.registrationStatus).toBe("registered"); + }); + + test("when a root identified section is added, return the \"registered\" registration status", () => { + const registry = new NavigationItemRegistry(); + + const result = registry.add("foo", "static", { + $id: "1", + $label: "1", + children: [] + }); + + expect(result.registrationStatus).toBe("registered"); + }); + + test("when a root anonymous section is added, return the \"registered\" registration status", () => { + const registry = new NavigationItemRegistry(); + + const result = registry.add("foo", "static", { + $label: "1", + children: [] + }); + + expect(result.registrationStatus).toBe("registered"); + }); + + test("when a nested link is pending for registration, return the \"pending\" registration status", () => { + const registry = new NavigationItemRegistry(); + + const result = registry.add("foo", "static", { + $label: "1", + to: "/1" + }, { + sectionId: "bar" + }); + + expect(result.registrationStatus).toBe("pending"); + expect(result.menuId).toBe("foo"); + expect(result.sectionId).toBe("bar"); + }); + + test("when a nested identified section is pending for registration, return the \"pending\" registration status", () => { + const registry = new NavigationItemRegistry(); + + const result = registry.add("foo", "static", { + $id: "1", + $label: "1", + children: [] + }, { + sectionId: "bar" + }); + + expect(result.registrationStatus).toBe("pending"); + expect(result.menuId).toBe("foo"); + expect(result.sectionId).toBe("bar"); + }); + + test("when a nested anonymous section is pending for registration, return the \"pending\" registration status", () => { + const registry = new NavigationItemRegistry(); + + const result = registry.add("foo", "static", { + $label: "1", + children: [] + }, { + sectionId: "bar" + }); + + expect(result.registrationStatus).toBe("pending"); + }); + + test("when a nested link is added, return the \"registered\" registration status", () => { + const registry = new NavigationItemRegistry(); + + const result1 = registry.add("foo", "static", { + $id: "bar", + $label: "bar", + children: [] + }); + + const result2 = registry.add("foo", "static", { + $label: "1", + to: "/1" + }, { + sectionId: "bar" + }); + + expect(result1.registrationStatus).toBe("registered"); + expect(result2.registrationStatus).toBe("registered"); + }); + + test("when a nested identified section is added, return the \"registered\" registration status", () => { + const registry = new NavigationItemRegistry(); + + const result1 = registry.add("foo", "static", { + $id: "bar", + $label: "bar", + children: [] + }); + + const result2 = registry.add("foo", "static", { + $id: "toto", + $label: "toto", + children: [] + }, { + sectionId: "bar" + }); + + expect(result1.registrationStatus).toBe("registered"); + expect(result2.registrationStatus).toBe("registered"); + }); + + test("when a nested anonymous section is added, return the \"registered\" registration status", () => { + const registry = new NavigationItemRegistry(); + + const result1 = registry.add("foo", "static", { + $id: "bar", + $label: "bar", + children: [] + }); + + const result2 = registry.add("foo", "static", { + $label: "toto", + children: [] + }, { + sectionId: "bar" + }); + + expect(result1.registrationStatus).toBe("registered"); + expect(result2.registrationStatus).toBe("registered"); + }); + + test("when a root identified section is added and complete the pending registration of nested items, add the registered items to the returned \"completedPendingRegistrations\" array", () => { + const registry = new NavigationItemRegistry(); + + const result1 = registry.add("foo", "static", { + $label: "1", + to: "/1" + }, { + sectionId: "bar" + }); + + const result2 = registry.add("foo", "static", { + $label: "2", + to: "/2" + }, { + sectionId: "bar" + }); + + const result3 = registry.add("foo", "static", { + $id: "bar", + $label: "bar", + children: [] + }); + + expect(result1.registrationStatus).toBe("pending"); + expect(result2.registrationStatus).toBe("pending"); + expect(result3.registrationStatus).toBe("registered"); + expect(result3.completedPendingRegistrations.length).toBe(2); + expect(result3.completedPendingRegistrations[0]).toBe(result1.item); + expect(result3.completedPendingRegistrations[1]).toBe(result2.item); + }); + + test("when a root identified section is added for another section and do not complete any pending registration, return an empty \"completedPendingRegistrations\" array", () => { + const registry = new NavigationItemRegistry(); + + const result1 = registry.add("foo", "static", { + $label: "1", + to: "/1" + }, { + sectionId: "bar" + }); + + const result2 = registry.add("foo", "static", { + $label: "2", + to: "/2" + }, { + sectionId: "bar" + }); + + const result3 = registry.add("foo", "static", { + $id: "toto", + $label: "toto", + children: [] + }); + + expect(result1.registrationStatus).toBe("pending"); + expect(result2.registrationStatus).toBe("pending"); + expect(result3.registrationStatus).toBe("registered"); + expect(result3.completedPendingRegistrations.length).toBe(0); + }); + + test("when a root identified section is added for another menu and do not complete any pending registration, return an empty \"completedPendingRegistrations\" array", () => { + const registry = new NavigationItemRegistry(); + + const result1 = registry.add("foo", "static", { + $label: "1", + to: "/1" + }, { + sectionId: "bar" + }); + + const result2 = registry.add("foo", "static", { + $label: "2", + to: "/2" + }, { + sectionId: "bar" + }); + + const result3 = registry.add("toto", "static", { + $id: "bar", + $label: "bar", + children: [] + }); + + expect(result1.registrationStatus).toBe("pending"); + expect(result2.registrationStatus).toBe("pending"); + expect(result3.registrationStatus).toBe("registered"); + expect(result3.completedPendingRegistrations.length).toBe(0); + }); + + test("when a root anonymous section is added, return an empty \"completedPendingRegistrations\" array", () => { + const registry = new NavigationItemRegistry(); + + const result1 = registry.add("foo", "static", { + $label: "1", + to: "/1" + }, { + sectionId: "bar" + }); + + const result2 = registry.add("foo", "static", { + $label: "2", + to: "/2" + }, { + sectionId: "bar" + }); + + const result3 = registry.add("foo", "static", { + $label: "section", + children: [] + }); + + expect(result1.registrationStatus).toBe("pending"); + expect(result2.registrationStatus).toBe("pending"); + expect(result3.registrationStatus).toBe("registered"); + expect(result3.completedPendingRegistrations.length).toBe(0); + }); + + test("when a root link is added, return an empty \"completedPendingRegistrations\" array", () => { + const registry = new NavigationItemRegistry(); + + const result = registry.add("foo", "static", { + $label: "1", + to: "/1" + }); + + expect(result.registrationStatus).toBe("registered"); + expect(result.completedPendingRegistrations.length).toBe(0); + }); + + test("when a deeply nested link is added, return the \"registered\" registration status", () => { + const registry = new NavigationItemRegistry(); + + const result1 = registry.add("foo", "static", { + $label: "root", + children: [ + { + $label: "nested", + children: [ + { + $id: "bar", + $label: "bar", + children: [] + } + ] + } + ] + }); + + const result2 = registry.add("foo", "static", { + $label: "1", + to: "/1" + }, { + sectionId: "bar" + }); + + expect(result1.registrationStatus).toBe("registered"); + expect(result2.registrationStatus).toBe("registered"); + }); + + test("when a deeply nested section is added, return the \"registered\" registration status", () => { + const registry = new NavigationItemRegistry(); + + const result1 = registry.add("foo", "static", { + $label: "root", + children: [ + { + $label: "nested", + children: [ + { + $id: "bar", + $label: "bar", + children: [] + } + ] + } + ] + }); + + const result2 = registry.add("foo", "static", { + $label: "1", + children: [] + }, { + sectionId: "bar" + }); + + expect(result1.registrationStatus).toBe("registered"); + expect(result2.registrationStatus).toBe("registered"); + }); + + test("when a deeply nested section registered as a single block is added and complete the pending registration of nested items, add the registered items to the returned \"completedPendingRegistrations\" array", () => { + const registry = new NavigationItemRegistry(); + + const result1 = registry.add("foo", "static", { + $label: "1", + to: "/1" + }, { + sectionId: "bar" + }); + + const result2 = registry.add("foo", "static", { + $label: "root", + children: [ + { + $label: "nested-1", + children: [ + { + $id: "bar", + $label: "bar", + children: [] + } + ] + } + ] + }); + + expect(result1.registrationStatus).toBe("pending"); + expect(result2.registrationStatus).toBe("registered"); + expect(result2.completedPendingRegistrations.length).toBe(1); + expect(result2.completedPendingRegistrations[0]).toBe(result1.item); + }); + + test("when registering a multiple sections as a single block complete pending registrations at multiple nesting level, add all the registered items to the returned \"completedPendingRegistrations\" array", () => { + const registry = new NavigationItemRegistry(); + + const result1 = registry.add("foo", "static", { + $label: "1", + to: "/1" + }, { + sectionId: "bar" + }); + + const result2 = registry.add("foo", "static", { + $label: "2", + to: "/2" + }, { + sectionId: "toto" + }); + + const result3 = registry.add("foo", "static", { + $label: "root", + children: [ + { + $id: "toto", + $label: "toto", + children: [ + { + $id: "bar", + $label: "bar", + children: [] + } + ] + } + ] + }); + + expect(result1.registrationStatus).toBe("pending"); + expect(result2.registrationStatus).toBe("pending"); + expect(result3.registrationStatus).toBe("registered"); + expect(result3.completedPendingRegistrations.length).toBe(2); + expect(result3.completedPendingRegistrations[0]).toBe(result2.item); + expect(result3.completedPendingRegistrations[1]).toBe(result1.item); + }); + + test("when registering a root item trigger a chain reaction of pending registrations completion, add all the registered items to the returned \"completedPendingRegistrations\" array", () => { + const registry = new NavigationItemRegistry(); + + const result1 = registry.add("foo", "static", { + $label: "1", + to: "/1" + }, { + sectionId: "bar" + }); + + const result2 = registry.add("foo", "static", { + $id: "bar", + $label: "2", + children: [] + }, { + sectionId: "toto" + }); + + const result3 = registry.add("foo", "static", { + $label: "root", + children: [ + { + $label: "nested", + children: [ + { + $id: "toto", + $label: "toto", + children: [] + } + ] + } + ] + }); + + expect(result1.registrationStatus).toBe("pending"); + expect(result2.registrationStatus).toBe("pending"); + expect(result3.registrationStatus).toBe("registered"); + expect(result3.completedPendingRegistrations.length).toBe(2); + expect(result3.completedPendingRegistrations[0]).toBe(result2.item); + expect(result3.completedPendingRegistrations[1]).toBe(result1.item); + }); + + test("when a static item is nested under a deferred section, throw an error", () => { + const registry = new NavigationItemRegistry(); + + const result = registry.add("foo", "deferred", { + $id: "bar", + $label: "bar", + children: [] + }); + + expect(result.registrationStatus).toBe("registered"); + + expect(() => { + registry.add("foo", "static", { + $label: "1", + to: "/1" + }, { + sectionId: "bar" + }); + }).toThrow(); + }); + + test("when a deferred item is nested under a static section, throw an error", () => { + const registry = new NavigationItemRegistry(); + + const result = registry.add("foo", "static", { + $id: "bar", + $label: "bar", + children: [] + }); + + expect(result.registrationStatus).toBe("registered"); + + expect(() => { + registry.add("foo", "deferred", { + $label: "1", + to: "/1" + }, { + sectionId: "bar" + }); + }).toThrow(); + }); + + test("when a nested item is registered under a section without a predefined children array, register the item", () => { + const registry = new NavigationItemRegistry(); + + const item = { + $id: "bar", + $label: "bar" + }; + + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + const result1 = registry.add("foo", "static", item); + + const result2 = registry.add("foo", "static", { + $label: "1", + to: "/1" + }, { + sectionId: "bar" + }); + + expect(result1.registrationStatus).toBe("registered"); + expect(result2.registrationStatus).toBe("registered"); + }); }); describe("getItems", () => { @@ -72,17 +581,17 @@ describe("getItems", () => { registry.add("foo", "deferred", { $label: "1", - to: "1" + to: "/1" }); registry.add("foo", "static", { $label: "2", - to: "2" + to: "/2" }); registry.add("bar", "deferred", { $label: "3", - to: "3" + to: "/3" }); expect(Array.isArray(registry.getItems("toto"))).toBeTruthy(); @@ -112,6 +621,29 @@ describe("getItems", () => { expect(result1).not.toBe(result3); expect(result2).not.toBe(result3); }); + + test("when a nested item is registered, a new instance of the array is returned", () => { + const registry = new NavigationItemRegistry(); + + registry.add("foo", "static", { + $id: "bar", + $label: "bar", + children: [] + }); + + const result1 = registry.getItems("foo"); + + registry.add("foo", "static", { + $label: "1", + to: "/1" + }, { + sectionId: "bar" + }); + + const result2 = registry.getItems("foo"); + + expect(result1).not.toBe(result2); + }); }); describe("clearDeferredItems", () => { @@ -274,6 +806,74 @@ describe("NavigationItemDeferredRegistrationScope", () => { expect(registry.getItems("bar").length).toBe(1); expect(registry.getItems("foo")[0].$label).toBe("1"); }); + + test("when an item is added, return the \"registered\" registration status", () => { + const registry = new NavigationItemRegistry(); + const scope = new NavigationItemDeferredRegistrationScope(registry); + + const result = scope.addItem("foo", { + $label: "1", + to: "/1" + }); + + expect(result.registrationStatus).toBe("registered"); + }); + + test("when a nested item is pending, return the \"pending\" registration status", () => { + const registry = new NavigationItemRegistry(); + const scope = new NavigationItemDeferredRegistrationScope(registry); + + const result = scope.addItem("foo", { + $label: "1", + to: "/1" + }, { + sectionId: "bar" + }); + + expect(result.registrationStatus).toBe("pending"); + }); + + test("when a nested item is added, return the \"registered\" registration status", () => { + const registry = new NavigationItemRegistry(); + const scope = new NavigationItemDeferredRegistrationScope(registry); + + scope.addItem("foo", { + $id: "bar", + $label: "bar", + children: [] + }); + + const result = scope.addItem("foo", { + $label: "1", + to: "/1" + }, { + sectionId: "bar" + }); + + expect(result.registrationStatus).toBe("registered"); + }); + + test("when a nested section is added and complete the pending registration of nested items, add the registered items to the returned \"completedPendingRegistrations\" array", () => { + const registry = new NavigationItemRegistry(); + const scope = new NavigationItemDeferredRegistrationScope(registry); + + const result1 = scope.addItem("foo", { + $label: "1", + to: "/1" + }, { + sectionId: "bar" + }); + + const result2 = scope.addItem("foo", { + $id: "bar", + $label: "bar", + children: [] + }); + + expect(result2.registrationStatus).toBe("registered"); + expect(result2.completedPendingRegistrations.length).toBe(1); + expect(result2.completedPendingRegistrations[0]).toBe(result1.item); + }); }); describe("NavigationItemDeferredRegistrationTransactionalScope", () => { @@ -422,4 +1022,87 @@ describe("NavigationItemDeferredRegistrationTransactionalScope", () => { expect(scope.getItems("foo").length).toBe(0); expect(scope.getItems("bar").length).toBe(0); }); + + test("when an item is added, return the \"registered\" registration status", () => { + const registry = new NavigationItemRegistry(); + const scope = new NavigationItemDeferredRegistrationTransactionalScope(registry); + + const result = scope.addItem("foo", { + $label: "1", + to: "/1" + }); + + expect(result.registrationStatus).toBe("registered"); + }); + + test("when a nested item is added, return the \"registered\" registration status", () => { + const registry = new NavigationItemRegistry(); + const scope = new NavigationItemDeferredRegistrationTransactionalScope(registry); + + scope.addItem("foo", { + $id: "bar", + $label: "bar", + children: [] + }); + + const result = scope.addItem("foo", { + $label: "1", + to: "/1" + }, { + sectionId: "bar" + }); + + expect(result.registrationStatus).toBe("registered"); + }); + + test("when a nested item that \"should\" be pending is added, return the \"registered\" registration status", () => { + const registry = new NavigationItemRegistry(); + const scope = new NavigationItemDeferredRegistrationTransactionalScope(registry); + + const result = scope.addItem("foo", { + $label: "1", + to: "/1" + }, { + sectionId: "bar" + }); + + expect(result.registrationStatus).toBe("registered"); + }); + + test("when there \"should\" be pending registrations, the scope can be completed", () => { + const registry = new NavigationItemRegistry(); + const scope = new NavigationItemDeferredRegistrationTransactionalScope(registry); + + scope.addItem("foo", { + $label: "1", + to: "/1" + }, { + sectionId: "bar" + }); + + scope.addItem("foo", { + $label: "2", + to: "/2" + }, { + sectionId: "bar" + }); + + scope.addItem("foo", { + $id: "bar", + $label: "bat", + children: [] + }, { + sectionId: "toto" + }); + + scope.addItem("foo", { + $id: "toto", + $label: "toto", + children: [] + }); + + scope.complete(); + + expect(registry.getPendingRegistrations().getPendingSectionIds().length).toBe(0); + }); }); diff --git a/packages/react-router/tests/reactRouterRuntime.test.tsx b/packages/react-router/tests/reactRouterRuntime.test.tsx index 96ab0575b..0665c3710 100644 --- a/packages/react-router/tests/reactRouterRuntime.test.tsx +++ b/packages/react-router/tests/reactRouterRuntime.test.tsx @@ -405,7 +405,7 @@ describe("registerRoute", () => { expect(runtime.routes[0].$visibility).toBe("protected"); }); - test("when a root route has no visibility property, it is considered as an \"protected\" route", () => { + test("when a root route has no visibility option, it is considered as an \"protected\" route", () => { const runtime = new ReactRouterRuntime(); runtime.registerRoute({ @@ -461,7 +461,7 @@ describe("registerRoute", () => { expect(runtime.routes[0].children![0].$visibility).toBe("protected"); }); - test("when a nested route has no visibility property, it is considered as an \"protected\" route", () => { + test("when a nested route has no visibility option, it is considered as an \"protected\" route", () => { const runtime = new ReactRouterRuntime(); runtime.registerRoute({ @@ -1010,7 +1010,7 @@ describe("registerRoute", () => { expect(runtime.routes[0].children![0].$visibility).toBe("public"); }); - test("when a nested route has no visibility property, the visibility is defaulted to \"protected\"", () => { + test("when a nested route has no visibility option, the visibility is defaulted to \"protected\"", () => { const runtime = new ReactRouterRuntime(); runtime.registerRoute({ @@ -1066,7 +1066,7 @@ describe("registerRoute", () => { expect(runtime.routes[0].$visibility).toBe("public"); }); - test("when a route has no visibility property, the visibility is defaulted to \"protected\"", () => { + test("when a route has no visibility option, the visibility is defaulted to \"protected\"", () => { const runtime = new ReactRouterRuntime(); runtime.registerRoute({ @@ -1154,6 +1154,172 @@ describe("registerNavigationItem", () => { expect(runtime.getNavigationItems("section-menu")[0].$label).toBe("Section"); }); + + test("can register a navitation link with a key", () => { + const runtime = new ReactRouterRuntime(); + + runtime.registerNavigationItem({ + $id: "link", + $label: "Link", + to: "/link" + }); + + expect(runtime.getNavigationItems()[0].$id).toBe("link"); + }); + + test("can register a navitation section with a key", () => { + const runtime = new ReactRouterRuntime(); + + runtime.registerNavigationItem({ + $id: "section", + $label: "Section", + children: [] + }); + + expect(runtime.getNavigationItems()[0].$id).toBe("section"); + }); + + describe("sectionId", () => { + test("when the section has already been registered, register the nested item", () => { + const runtime = new ReactRouterRuntime(); + + runtime.registerNavigationItem({ + $id: "section", + $label: "Section", + children: [] + }); + + runtime.registerNavigationItem({ + $label: "Link", + to: "/link" + }, { + sectionId: "section" + }); + + expect(runtime.getNavigationItems()[0].$id).toBe("section"); + expect(runtime.getNavigationItems()[0].children![0].$label).toBe("Link"); + }); + + test("when the section has not been registered, do not register the nested item", () => { + const runtime = new ReactRouterRuntime(); + + runtime.registerNavigationItem({ + $label: "Link", + to: "/link" + }, { + sectionId: "section" + }); + + expect(runtime.getNavigationItems().length).toBe(0); + }); + + test("when the section has not been registered, register the pending item once the section is registered", () => { + const runtime = new ReactRouterRuntime(); + + runtime.registerNavigationItem({ + $label: "Link", + to: "/link" + }, { + sectionId: "section" + }); + + expect(runtime.getNavigationItems().length).toBe(0); + + runtime.registerNavigationItem({ + $id: "section", + $label: "Section", + children: [] + }); + + expect(runtime.getNavigationItems()[0].$id).toBe("section"); + expect(runtime.getNavigationItems()[0].children![0].$label).toBe("Link"); + }); + + test("can register an item under a deeply nested section", () => { + const runtime = new ReactRouterRuntime(); + + runtime.registerNavigationItem({ + $label: "Root section", + children: [ + { + $label: "Nested section", + children: [ + { + $id: "deeply-nested", + $label: "Deeply nested", + children: [] + } + ] + } + ] + }); + + runtime.registerNavigationItem({ + $label: "Link", + to: "/link" + }, { + sectionId: "deeply-nested" + }); + + expect(runtime.getNavigationItems()[0].children![0].children![0].children![0].$label).toBe("Link"); + }); + + test("can register a nested link under a section in a specific menu", () => { + const runtime = new ReactRouterRuntime(); + + runtime.registerNavigationItem({ + $label: "Link", + to: "/link" + }, { + menuId: "foo", + sectionId: "section" + }); + + expect(runtime.getNavigationItems().length).toBe(0); + + runtime.registerNavigationItem({ + $id: "section", + $label: "Section", + children: [] + }, { + menuId: "foo" + }); + + expect(runtime.getNavigationItems("foo")[0].$id).toBe("section"); + expect(runtime.getNavigationItems("foo")[0].children![0].$label).toBe("Link"); + }); + + test("when a section is registered with the same id but for a different menu, do not register the nested item", () => { + const runtime = new ReactRouterRuntime(); + + runtime.registerNavigationItem({ + $label: "Link", + to: "/link" + }, { + menuId: "foo", + sectionId: "section" + }); + + expect(runtime.getNavigationItems().length).toBe(0); + + runtime.registerNavigationItem({ + $id: "section", + $label: "Section", + children: [] + }, { + menuId: "bar" + }); + + expect(runtime.getNavigationItems("foo").length).toBe(0); + expect(runtime.getNavigationItems("bar").length).toBe(1); + expect(runtime.getNavigationItems("bar")[0].$id).toBe("section"); + expect(runtime.getNavigationItems("bar")[0].children!.length).toBe(0); + + // expect(runtime.getNavigationItems().length).toBe(1); + // expect(runtime.getNavigationItems()[0].$id).toBe("section"); + // expect(runtime.getNavigationItems()[0].children!.length).toBe(0); + }); + }); }); describe("getNavigationItems", () => { @@ -1474,4 +1640,38 @@ describe("_validateRegistrations", () => { expect(() => runtime._validateRegistrations()).toThrow(); }); }); + + describe("sectionId", () => { + test("when there are no pending registrations, do nothing", () => { + const runtime = new ReactRouterRuntime(); + + runtime.registerNavigationItem({ + $label: "Link", + to: "/link" + }, { + sectionId: "section" + }); + + runtime.registerNavigationItem({ + $id: "section", + $label: "Section", + children: [] + }); + + expect(() => runtime._validateRegistrations()).not.toThrow(); + }); + + test("when there are pending registrations, throw an error", () => { + const runtime = new ReactRouterRuntime(); + + runtime.registerNavigationItem({ + $label: "Link", + to: "/link" + }, { + sectionId: "section" + }); + + expect(() => runtime._validateRegistrations()).toThrow(); + }); + }); }); diff --git a/packages/react-router/tests/routeRegistry.test.tsx b/packages/react-router/tests/routeRegistry.test.tsx index c778512d8..85fb7847a 100644 --- a/packages/react-router/tests/routeRegistry.test.tsx +++ b/packages/react-router/tests/routeRegistry.test.tsx @@ -135,7 +135,7 @@ describe("add", () => { expect(result.registrationStatus).toBe("pending"); }); - test("when a nested route is registred, return the \"registered\" registration status", () => { + test("when a nested route is added, return the \"registered\" registration status", () => { const registry = new RouteRegistry(); registry.add({ diff --git a/packages/react-router/tests/useRenderedNavigationItems.test.tsx b/packages/react-router/tests/useRenderedNavigationItems.test.tsx index 43fd081e7..5243814c9 100644 --- a/packages/react-router/tests/useRenderedNavigationItems.test.tsx +++ b/packages/react-router/tests/useRenderedNavigationItems.test.tsx @@ -228,7 +228,7 @@ test("section item additionalProps are rendered", () => { test("link item custom keys are rendered", () => { const navigationItems: RootNavigationItem[] = [ { - $key: "foo", + $id: "foo", $label: "Foo", $additionalProps: { style: { color: "red" } @@ -236,7 +236,7 @@ test("link item custom keys are rendered", () => { to: "/foo" }, { - $key: "bar", + $id: "bar", $label: "Bar", to: "/bar" } @@ -252,7 +252,7 @@ test("link item custom keys are rendered", () => { test("section item custom keys are rendered", () => { const navigationItems: RootNavigationItem[] = [ { - $key: "foo", + $id: "foo", $label: "Foo", children: [ { @@ -279,7 +279,7 @@ test("nested item custom keys are rendered", () => { $label: "Foo", children: [ { - $key: "bar", + $id: "bar", $label: "Bar", to: "/bar" } diff --git a/packages/webpack-configs/package.json b/packages/webpack-configs/package.json index f577a578f..3f70f6dea 100644 --- a/packages/webpack-configs/package.json +++ b/packages/webpack-configs/package.json @@ -40,10 +40,10 @@ "webpack-dev-server": ">=5.0.0" }, "devDependencies": { - "@swc/core": "1.7.0", + "@swc/core": "1.7.26", "@swc/jest": "0.2.36", - "@types/jest": "29.5.12", - "@types/node": "20.14.11", + "@types/jest": "29.5.13", + "@types/node": "22.5.5", "@types/semver": "7.5.8", "@workleap/eslint-plugin": "3.2.2", "@workleap/swc-configs": "2.2.3", @@ -52,12 +52,12 @@ "eslint": "8.57.0", "jest": "29.7.0", "jest-environment-jsdom": "29.7.0", - "tsup": "8.1.2", - "typescript": "5.5.3", - "webpack": "5.93.0" + "tsup": "8.3.0", + "typescript": "5.5.4", + "webpack": "5.94.0" }, "dependencies": { - "@module-federation/enhanced": "0.2.6", + "@module-federation/enhanced": "0.6.6", "@workleap/webpack-configs": "1.5.1", "deepmerge": "4.3.1", "html-webpack-plugin": "5.6.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ca171c3a2..27794d8e4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,20 +12,20 @@ importers: specifier: 0.5.0 version: 0.5.0 '@changesets/cli': - specifier: 2.27.7 - version: 2.27.7 + specifier: 2.27.8 + version: 2.27.8 '@types/node': - specifier: 20.14.11 - version: 20.14.11 + specifier: 22.5.5 + version: 22.5.5 '@typescript-eslint/parser': - specifier: 7.16.1 - version: 7.16.1(eslint@8.57.0)(typescript@5.5.3) + specifier: 8.6.0 + version: 8.6.0(eslint@8.57.0)(typescript@5.5.4) '@workleap/eslint-plugin': specifier: 3.2.2 - version: 3.2.2(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(jest@29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)))(typescript@5.5.3) + version: 3.2.2(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)))(typescript@5.5.4) '@workleap/typescript-configs': specifier: 3.0.2 - version: 3.0.2(typescript@5.5.3) + version: 3.0.2(typescript@5.5.4) cross-env: specifier: 7.0.3 version: 7.0.3 @@ -37,22 +37,22 @@ importers: version: 9.3.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)) + version: 29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)) knip: - specifier: 5.26.0 - version: 5.26.0(@types/node@20.14.11)(typescript@5.5.3) + specifier: 5.30.2 + version: 5.30.2(@types/node@22.5.5)(typescript@5.5.4) retypeapp: - specifier: 3.5.0 - version: 3.5.0 + specifier: 3.6.0 + version: 3.6.0 ts-node: specifier: 10.9.2 - version: 10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3) + version: 10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.13))(@types/node@22.5.5)(typescript@5.5.4) turbo: specifier: 1.13.3 version: 1.13.3 typescript: - specifier: 5.5.3 - version: 5.5.3 + specifier: 5.5.4 + version: 5.5.4 packages/core: dependencies: @@ -64,44 +64,44 @@ importers: version: 18.3.1(react@18.3.1) devDependencies: '@swc/core': - specifier: 1.7.0 - version: 1.7.0(@swc/helpers@0.5.12) + specifier: 1.7.26 + version: 1.7.26(@swc/helpers@0.5.13) '@swc/jest': specifier: 0.2.36 - version: 0.2.36(@swc/core@1.7.0(@swc/helpers@0.5.12)) + version: 0.2.36(@swc/core@1.7.26(@swc/helpers@0.5.13)) '@types/jest': - specifier: 29.5.12 - version: 29.5.12 + specifier: 29.5.13 + version: 29.5.13 '@types/react': - specifier: 18.3.3 - version: 18.3.3 + specifier: 18.3.8 + version: 18.3.8 '@workleap/eslint-plugin': specifier: 3.2.2 - version: 3.2.2(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(jest@29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)))(typescript@5.5.3) + version: 3.2.2(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)))(typescript@5.5.4) '@workleap/swc-configs': specifier: 2.2.3 - version: 2.2.3(@swc/core@1.7.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)(@swc/jest@0.2.36(@swc/core@1.7.0(@swc/helpers@0.5.12)))(browserslist@4.23.3) + version: 2.2.3(@swc/core@1.7.26(@swc/helpers@0.5.13))(@swc/helpers@0.5.13)(@swc/jest@0.2.36(@swc/core@1.7.26(@swc/helpers@0.5.13)))(browserslist@4.23.3) '@workleap/tsup-configs': specifier: 3.0.6 - version: 3.0.6(tsup@8.1.2(@swc/core@1.7.0)(jiti@1.21.6)(postcss@8.4.45)(typescript@5.5.3)(yaml@2.5.1))(typescript@5.5.3) + version: 3.0.6(tsup@8.3.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.47)(typescript@5.5.4)(yaml@2.5.1))(typescript@5.5.4) '@workleap/typescript-configs': specifier: 3.0.2 - version: 3.0.2(typescript@5.5.3) + version: 3.0.2(typescript@5.5.4) eslint: specifier: 8.57.0 version: 8.57.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)) + version: 29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)) react: specifier: 18.3.1 version: 18.3.1 tsup: - specifier: 8.1.2 - version: 8.1.2(@swc/core@1.7.0)(jiti@1.21.6)(postcss@8.4.45)(typescript@5.5.3)(yaml@2.5.1) + specifier: 8.3.0 + version: 8.3.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.47)(typescript@5.5.4)(yaml@2.5.1) typescript: - specifier: 5.5.3 - version: 5.5.3 + specifier: 5.5.4 + version: 5.5.4 packages/fakes: dependencies: @@ -111,22 +111,22 @@ importers: devDependencies: '@workleap/eslint-plugin': specifier: 3.2.2 - version: 3.2.2(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(jest@29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)))(typescript@5.5.3) + version: 3.2.2(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)))(typescript@5.5.4) '@workleap/tsup-configs': specifier: 3.0.6 - version: 3.0.6(tsup@8.1.2(@swc/core@1.7.0)(jiti@1.21.6)(postcss@8.4.45)(typescript@5.5.3)(yaml@2.5.1))(typescript@5.5.3) + version: 3.0.6(tsup@8.3.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.47)(typescript@5.5.4)(yaml@2.5.1))(typescript@5.5.4) '@workleap/typescript-configs': specifier: 3.0.2 - version: 3.0.2(typescript@5.5.3) + version: 3.0.2(typescript@5.5.4) eslint: specifier: 8.57.0 version: 8.57.0 tsup: - specifier: 8.1.2 - version: 8.1.2(@swc/core@1.7.0)(jiti@1.21.6)(postcss@8.4.45)(typescript@5.5.3)(yaml@2.5.1) + specifier: 8.3.0 + version: 8.3.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.47)(typescript@5.5.4)(yaml@2.5.1) typescript: - specifier: 5.5.3 - version: 5.5.3 + specifier: 5.5.4 + version: 5.5.4 packages/firefly: dependencies: @@ -144,53 +144,53 @@ importers: version: link:../react-router '@tanstack/react-query': specifier: '*' - version: 5.51.9(react@18.3.1) + version: 5.56.2(react@18.3.1) devDependencies: '@swc/core': - specifier: 1.7.0 - version: 1.7.0(@swc/helpers@0.5.12) + specifier: 1.7.26 + version: 1.7.26(@swc/helpers@0.5.13) '@swc/jest': specifier: 0.2.36 - version: 0.2.36(@swc/core@1.7.0(@swc/helpers@0.5.12)) + version: 0.2.36(@swc/core@1.7.26(@swc/helpers@0.5.13)) '@testing-library/jest-dom': - specifier: 6.4.6 - version: 6.4.6(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3))) + specifier: 6.5.0 + version: 6.5.0 '@testing-library/react': - specifier: 16.0.0 - version: 16.0.0(@testing-library/dom@10.4.0)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 16.0.1 + version: 16.0.1(@testing-library/dom@10.4.0)(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/jest': - specifier: 29.5.12 - version: 29.5.12 + specifier: 29.5.13 + version: 29.5.13 '@types/react': - specifier: 18.3.3 - version: 18.3.3 + specifier: 18.3.8 + version: 18.3.8 '@types/react-dom': specifier: 18.3.0 version: 18.3.0 '@workleap/eslint-plugin': specifier: 3.2.2 - version: 3.2.2(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(jest@29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)))(typescript@5.5.3) + version: 3.2.2(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)))(typescript@5.5.4) '@workleap/swc-configs': specifier: 2.2.3 - version: 2.2.3(@swc/core@1.7.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)(@swc/jest@0.2.36(@swc/core@1.7.0(@swc/helpers@0.5.12)))(browserslist@4.23.3) + version: 2.2.3(@swc/core@1.7.26(@swc/helpers@0.5.13))(@swc/helpers@0.5.13)(@swc/jest@0.2.36(@swc/core@1.7.26(@swc/helpers@0.5.13)))(browserslist@4.23.3) '@workleap/tsup-configs': specifier: 3.0.6 - version: 3.0.6(tsup@8.1.2(@swc/core@1.7.0)(jiti@1.21.6)(postcss@8.4.45)(typescript@5.5.3)(yaml@2.5.1))(typescript@5.5.3) + version: 3.0.6(tsup@8.3.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.47)(typescript@5.5.4)(yaml@2.5.1))(typescript@5.5.4) '@workleap/typescript-configs': specifier: 3.0.2 - version: 3.0.2(typescript@5.5.3) + version: 3.0.2(typescript@5.5.4) eslint: specifier: 8.57.0 version: 8.57.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)) + version: 29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)) jest-environment-jsdom: specifier: 29.7.0 version: 29.7.0 msw: - specifier: 2.3.1 - version: 2.3.1(typescript@5.5.3) + specifier: 2.4.9 + version: 2.4.9(typescript@5.5.4) react: specifier: 18.3.1 version: 18.3.1 @@ -198,17 +198,17 @@ importers: specifier: 18.3.1 version: 18.3.1(react@18.3.1) react-router-dom: - specifier: 6.25.1 - version: 6.25.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 6.26.2 + version: 6.26.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) ts-jest: - specifier: 29.2.3 - version: 29.2.3(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)))(typescript@5.5.3) + specifier: 29.2.5 + version: 29.2.5(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)))(typescript@5.5.4) tsup: - specifier: 8.1.2 - version: 8.1.2(@swc/core@1.7.0)(jiti@1.21.6)(postcss@8.4.45)(typescript@5.5.3)(yaml@2.5.1) + specifier: 8.3.0 + version: 8.3.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.47)(typescript@5.5.4)(yaml@2.5.1) typescript: - specifier: 5.5.3 - version: 5.5.3 + specifier: 5.5.4 + version: 5.5.4 packages/firefly-webpack-configs: dependencies: @@ -217,65 +217,65 @@ importers: version: link:../webpack-configs '@swc/helpers': specifier: '*' - version: 0.5.12 + version: 0.5.13 '@workleap/webpack-configs': specifier: 1.5.1 - version: 1.5.1(@swc/core@1.7.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)(browserslist@4.23.2)(postcss@8.4.45)(type-fest@4.26.1)(typescript@5.5.3)(webpack-dev-server@5.0.4(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))))(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))) + version: 1.5.1(@swc/core@1.7.26(@swc/helpers@0.5.13))(@swc/helpers@0.5.13)(browserslist@4.23.3)(postcss@8.4.47)(type-fest@4.26.1)(typescript@5.5.4)(webpack-dev-server@5.1.0(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))))(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))) browserslist: specifier: '*' - version: 4.23.2 + version: 4.23.3 postcss: specifier: '*' - version: 8.4.45 + version: 8.4.47 webpack-dev-server: specifier: '>=5.0.0' - version: 5.0.4(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))) + version: 5.1.0(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))) devDependencies: '@module-federation/enhanced': - specifier: 0.2.6 - version: 0.2.6(typescript@5.5.3)(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))) + specifier: 0.6.6 + version: 0.6.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))) '@swc/core': - specifier: 1.7.0 - version: 1.7.0(@swc/helpers@0.5.12) + specifier: 1.7.26 + version: 1.7.26(@swc/helpers@0.5.13) '@swc/jest': specifier: 0.2.36 - version: 0.2.36(@swc/core@1.7.0(@swc/helpers@0.5.12)) + version: 0.2.36(@swc/core@1.7.26(@swc/helpers@0.5.13)) '@types/jest': - specifier: 29.5.12 - version: 29.5.12 + specifier: 29.5.13 + version: 29.5.13 '@workleap/eslint-plugin': specifier: 3.2.2 - version: 3.2.2(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(jest@29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)))(typescript@5.5.3) + version: 3.2.2(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)))(typescript@5.5.4) '@workleap/swc-configs': specifier: 2.2.3 - version: 2.2.3(@swc/core@1.7.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)(@swc/jest@0.2.36(@swc/core@1.7.0(@swc/helpers@0.5.12)))(browserslist@4.23.2) + version: 2.2.3(@swc/core@1.7.26(@swc/helpers@0.5.13))(@swc/helpers@0.5.13)(@swc/jest@0.2.36(@swc/core@1.7.26(@swc/helpers@0.5.13)))(browserslist@4.23.3) '@workleap/tsup-configs': specifier: 3.0.6 - version: 3.0.6(tsup@8.1.2(@swc/core@1.7.0)(jiti@1.21.6)(postcss@8.4.45)(typescript@5.5.3)(yaml@2.5.1))(typescript@5.5.3) + version: 3.0.6(tsup@8.3.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.47)(typescript@5.5.4)(yaml@2.5.1))(typescript@5.5.4) '@workleap/typescript-configs': specifier: 3.0.2 - version: 3.0.2(typescript@5.5.3) + version: 3.0.2(typescript@5.5.4) eslint: specifier: 8.57.0 version: 8.57.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)) + version: 29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)) jest-environment-jsdom: specifier: 29.7.0 version: 29.7.0 ts-jest: - specifier: 29.2.3 - version: 29.2.3(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)))(typescript@5.5.3) + specifier: 29.2.5 + version: 29.2.5(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)))(typescript@5.5.4) tsup: - specifier: 8.1.2 - version: 8.1.2(@swc/core@1.7.0)(jiti@1.21.6)(postcss@8.4.45)(typescript@5.5.3)(yaml@2.5.1) + specifier: 8.3.0 + version: 8.3.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.47)(typescript@5.5.4)(yaml@2.5.1) typescript: - specifier: 5.5.3 - version: 5.5.3 + specifier: 5.5.4 + version: 5.5.4 webpack: - specifier: 5.93.0 - version: 5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12)) + specifier: 5.94.0 + version: 5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13)) packages/i18next: dependencies: @@ -287,44 +287,44 @@ importers: version: link:../core devDependencies: '@swc/core': - specifier: 1.7.0 - version: 1.7.0(@swc/helpers@0.5.12) + specifier: 1.7.26 + version: 1.7.26(@swc/helpers@0.5.13) '@swc/jest': specifier: 0.2.36 - version: 0.2.36(@swc/core@1.7.0(@swc/helpers@0.5.12)) + version: 0.2.36(@swc/core@1.7.26(@swc/helpers@0.5.13)) '@types/jest': - specifier: 29.5.12 - version: 29.5.12 + specifier: 29.5.13 + version: 29.5.13 '@types/react': - specifier: 18.3.3 - version: 18.3.3 + specifier: 18.3.8 + version: 18.3.8 '@types/react-dom': specifier: 18.3.0 version: 18.3.0 '@workleap/eslint-plugin': specifier: 3.2.2 - version: 3.2.2(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(jest@29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)))(typescript@5.5.3) + version: 3.2.2(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)))(typescript@5.5.4) '@workleap/swc-configs': specifier: 2.2.3 - version: 2.2.3(@swc/core@1.7.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)(@swc/jest@0.2.36(@swc/core@1.7.0(@swc/helpers@0.5.12)))(browserslist@4.23.3) + version: 2.2.3(@swc/core@1.7.26(@swc/helpers@0.5.13))(@swc/helpers@0.5.13)(@swc/jest@0.2.36(@swc/core@1.7.26(@swc/helpers@0.5.13)))(browserslist@4.23.3) '@workleap/tsup-configs': specifier: 3.0.6 - version: 3.0.6(tsup@8.1.2(@swc/core@1.7.0)(jiti@1.21.6)(postcss@8.4.45)(typescript@5.5.3)(yaml@2.5.1))(typescript@5.5.3) + version: 3.0.6(tsup@8.3.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.47)(typescript@5.5.4)(yaml@2.5.1))(typescript@5.5.4) '@workleap/typescript-configs': specifier: 3.0.2 - version: 3.0.2(typescript@5.5.3) + version: 3.0.2(typescript@5.5.4) eslint: specifier: 8.57.0 version: 8.57.0 i18next: - specifier: 23.12.1 - version: 23.12.1 + specifier: 23.15.1 + version: 23.15.1 i18next-browser-languagedetector: specifier: 8.0.0 version: 8.0.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)) + version: 29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)) jest-environment-jsdom: specifier: 29.7.0 version: 29.7.0 @@ -335,63 +335,63 @@ importers: specifier: 18.3.1 version: 18.3.1(react@18.3.1) react-i18next: - specifier: 15.0.0 - version: 15.0.0(i18next@23.12.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 15.0.2 + version: 15.0.2(i18next@23.15.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) ts-jest: - specifier: 29.2.3 - version: 29.2.3(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)))(typescript@5.5.3) + specifier: 29.2.5 + version: 29.2.5(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)))(typescript@5.5.4) tsup: - specifier: 8.1.2 - version: 8.1.2(@swc/core@1.7.0)(jiti@1.21.6)(postcss@8.4.45)(typescript@5.5.3)(yaml@2.5.1) + specifier: 8.3.0 + version: 8.3.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.47)(typescript@5.5.4)(yaml@2.5.1) typescript: - specifier: 5.5.3 - version: 5.5.3 + specifier: 5.5.4 + version: 5.5.4 packages/module-federation: dependencies: '@module-federation/enhanced': - specifier: 0.2.6 - version: 0.2.6(typescript@5.5.3)(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))) + specifier: 0.6.6 + version: 0.6.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))) '@squide/core': specifier: workspace:* version: link:../core devDependencies: '@swc/core': - specifier: 1.7.0 - version: 1.7.0(@swc/helpers@0.5.12) + specifier: 1.7.26 + version: 1.7.26(@swc/helpers@0.5.13) '@swc/jest': specifier: 0.2.36 - version: 0.2.36(@swc/core@1.7.0(@swc/helpers@0.5.12)) + version: 0.2.36(@swc/core@1.7.26(@swc/helpers@0.5.13)) '@types/jest': - specifier: 29.5.12 - version: 29.5.12 + specifier: 29.5.13 + version: 29.5.13 '@types/node': - specifier: 20.14.11 - version: 20.14.11 + specifier: 22.5.5 + version: 22.5.5 '@types/react': - specifier: 18.3.3 - version: 18.3.3 + specifier: 18.3.8 + version: 18.3.8 '@types/react-dom': specifier: 18.3.0 version: 18.3.0 '@workleap/eslint-plugin': specifier: 3.2.2 - version: 3.2.2(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(jest@29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)))(typescript@5.5.3) + version: 3.2.2(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)))(typescript@5.5.4) '@workleap/swc-configs': specifier: 2.2.3 - version: 2.2.3(@swc/core@1.7.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)(@swc/jest@0.2.36(@swc/core@1.7.0(@swc/helpers@0.5.12)))(browserslist@4.23.3) + version: 2.2.3(@swc/core@1.7.26(@swc/helpers@0.5.13))(@swc/helpers@0.5.13)(@swc/jest@0.2.36(@swc/core@1.7.26(@swc/helpers@0.5.13)))(browserslist@4.23.3) '@workleap/tsup-configs': specifier: 3.0.6 - version: 3.0.6(tsup@8.1.2(@swc/core@1.7.0)(jiti@1.21.6)(postcss@8.4.45)(typescript@5.5.3)(yaml@2.5.1))(typescript@5.5.3) + version: 3.0.6(tsup@8.3.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.47)(typescript@5.5.4)(yaml@2.5.1))(typescript@5.5.4) '@workleap/typescript-configs': specifier: 3.0.2 - version: 3.0.2(typescript@5.5.3) + version: 3.0.2(typescript@5.5.4) eslint: specifier: 8.57.0 version: 8.57.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)) + version: 29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)) jest-environment-jsdom: specifier: 29.7.0 version: 29.7.0 @@ -402,14 +402,14 @@ importers: specifier: 18.3.1 version: 18.3.1(react@18.3.1) ts-jest: - specifier: 29.2.3 - version: 29.2.3(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)))(typescript@5.5.3) + specifier: 29.2.5 + version: 29.2.5(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)))(typescript@5.5.4) tsup: - specifier: 8.1.2 - version: 8.1.2(@swc/core@1.7.0)(jiti@1.21.6)(postcss@8.4.45)(typescript@5.5.3)(yaml@2.5.1) + specifier: 8.3.0 + version: 8.3.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.47)(typescript@5.5.4)(yaml@2.5.1) typescript: - specifier: 5.5.3 - version: 5.5.3 + specifier: 5.5.4 + version: 5.5.4 packages/msw: dependencies: @@ -418,26 +418,26 @@ importers: version: link:../core devDependencies: '@types/react': - specifier: 18.3.3 - version: 18.3.3 + specifier: 18.3.8 + version: 18.3.8 '@types/react-dom': specifier: 18.3.0 version: 18.3.0 '@workleap/eslint-plugin': specifier: 3.2.2 - version: 3.2.2(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(jest@29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)))(typescript@5.5.3) + version: 3.2.2(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)))(typescript@5.5.4) '@workleap/tsup-configs': specifier: 3.0.6 - version: 3.0.6(tsup@8.1.2(@swc/core@1.7.0)(jiti@1.21.6)(postcss@8.4.45)(typescript@5.5.3)(yaml@2.5.1))(typescript@5.5.3) + version: 3.0.6(tsup@8.3.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.47)(typescript@5.5.4)(yaml@2.5.1))(typescript@5.5.4) '@workleap/typescript-configs': specifier: 3.0.2 - version: 3.0.2(typescript@5.5.3) + version: 3.0.2(typescript@5.5.4) eslint: specifier: 8.57.0 version: 8.57.0 msw: - specifier: 2.3.1 - version: 2.3.1(typescript@5.5.3) + specifier: 2.4.9 + version: 2.4.9(typescript@5.5.4) react: specifier: 18.3.1 version: 18.3.1 @@ -445,11 +445,11 @@ importers: specifier: 18.3.1 version: 18.3.1(react@18.3.1) tsup: - specifier: 8.1.2 - version: 8.1.2(@swc/core@1.7.0)(jiti@1.21.6)(postcss@8.4.45)(typescript@5.5.3)(yaml@2.5.1) + specifier: 8.3.0 + version: 8.3.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.47)(typescript@5.5.4)(yaml@2.5.1) typescript: - specifier: 5.5.3 - version: 5.5.3 + specifier: 5.5.4 + version: 5.5.4 packages/react-router: dependencies: @@ -461,20 +461,20 @@ importers: version: 10.0.0 devDependencies: '@swc/core': - specifier: 1.7.0 - version: 1.7.0(@swc/helpers@0.5.12) + specifier: 1.7.26 + version: 1.7.26(@swc/helpers@0.5.13) '@swc/jest': specifier: 0.2.36 - version: 0.2.36(@swc/core@1.7.0(@swc/helpers@0.5.12)) + version: 0.2.36(@swc/core@1.7.26(@swc/helpers@0.5.13)) '@testing-library/react': - specifier: 16.0.0 - version: 16.0.0(@testing-library/dom@10.4.0)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 16.0.1 + version: 16.0.1(@testing-library/dom@10.4.0)(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/jest': - specifier: 29.5.12 - version: 29.5.12 + specifier: 29.5.13 + version: 29.5.13 '@types/react': - specifier: 18.3.3 - version: 18.3.3 + specifier: 18.3.8 + version: 18.3.8 '@types/react-dom': specifier: 18.3.0 version: 18.3.0 @@ -483,22 +483,22 @@ importers: version: 18.3.0 '@workleap/eslint-plugin': specifier: 3.2.2 - version: 3.2.2(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(jest@29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)))(typescript@5.5.3) + version: 3.2.2(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)))(typescript@5.5.4) '@workleap/swc-configs': specifier: 2.2.3 - version: 2.2.3(@swc/core@1.7.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)(@swc/jest@0.2.36(@swc/core@1.7.0(@swc/helpers@0.5.12)))(browserslist@4.23.3) + version: 2.2.3(@swc/core@1.7.26(@swc/helpers@0.5.13))(@swc/helpers@0.5.13)(@swc/jest@0.2.36(@swc/core@1.7.26(@swc/helpers@0.5.13)))(browserslist@4.23.3) '@workleap/tsup-configs': specifier: 3.0.6 - version: 3.0.6(tsup@8.1.2(@swc/core@1.7.0)(jiti@1.21.6)(postcss@8.4.45)(typescript@5.5.3)(yaml@2.5.1))(typescript@5.5.3) + version: 3.0.6(tsup@8.3.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.47)(typescript@5.5.4)(yaml@2.5.1))(typescript@5.5.4) '@workleap/typescript-configs': specifier: 3.0.2 - version: 3.0.2(typescript@5.5.3) + version: 3.0.2(typescript@5.5.4) eslint: specifier: 8.57.0 version: 8.57.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)) + version: 29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)) jest-environment-jsdom: specifier: 29.7.0 version: 29.7.0 @@ -509,96 +509,96 @@ importers: specifier: 18.3.1 version: 18.3.1(react@18.3.1) react-router-dom: - specifier: 6.25.1 - version: 6.25.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 6.26.2 + version: 6.26.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-test-renderer: specifier: 18.3.1 version: 18.3.1(react@18.3.1) ts-jest: - specifier: 29.2.3 - version: 29.2.3(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)))(typescript@5.5.3) + specifier: 29.2.5 + version: 29.2.5(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)))(typescript@5.5.4) tsup: - specifier: 8.1.2 - version: 8.1.2(@swc/core@1.7.0)(jiti@1.21.6)(postcss@8.4.45)(typescript@5.5.3)(yaml@2.5.1) + specifier: 8.3.0 + version: 8.3.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.47)(typescript@5.5.4)(yaml@2.5.1) typescript: - specifier: 5.5.3 - version: 5.5.3 + specifier: 5.5.4 + version: 5.5.4 packages/webpack-configs: dependencies: '@module-federation/enhanced': - specifier: 0.2.6 - version: 0.2.6(typescript@5.5.3)(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))) + specifier: 0.6.6 + version: 0.6.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))) '@swc/helpers': specifier: '*' - version: 0.5.12 + version: 0.5.13 '@workleap/webpack-configs': specifier: 1.5.1 - version: 1.5.1(@swc/core@1.7.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)(browserslist@4.23.2)(postcss@8.4.45)(type-fest@4.26.1)(typescript@5.5.3)(webpack-dev-server@5.0.4(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))))(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))) + version: 1.5.1(@swc/core@1.7.26(@swc/helpers@0.5.13))(@swc/helpers@0.5.13)(browserslist@4.23.3)(postcss@8.4.47)(type-fest@4.26.1)(typescript@5.5.4)(webpack-dev-server@5.1.0(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))))(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))) browserslist: specifier: '*' - version: 4.23.2 + version: 4.23.3 deepmerge: specifier: 4.3.1 version: 4.3.1 html-webpack-plugin: specifier: 5.6.0 - version: 5.6.0(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))) + version: 5.6.0(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))) postcss: specifier: '*' - version: 8.4.45 + version: 8.4.47 semver: specifier: 7.6.3 version: 7.6.3 webpack-dev-server: specifier: '>=5.0.0' - version: 5.0.4(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))) + version: 5.1.0(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))) devDependencies: '@swc/core': - specifier: 1.7.0 - version: 1.7.0(@swc/helpers@0.5.12) + specifier: 1.7.26 + version: 1.7.26(@swc/helpers@0.5.13) '@swc/jest': specifier: 0.2.36 - version: 0.2.36(@swc/core@1.7.0(@swc/helpers@0.5.12)) + version: 0.2.36(@swc/core@1.7.26(@swc/helpers@0.5.13)) '@types/jest': - specifier: 29.5.12 - version: 29.5.12 + specifier: 29.5.13 + version: 29.5.13 '@types/node': - specifier: 20.14.11 - version: 20.14.11 + specifier: 22.5.5 + version: 22.5.5 '@types/semver': specifier: 7.5.8 version: 7.5.8 '@workleap/eslint-plugin': specifier: 3.2.2 - version: 3.2.2(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(jest@29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)))(typescript@5.5.3) + version: 3.2.2(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)))(typescript@5.5.4) '@workleap/swc-configs': specifier: 2.2.3 - version: 2.2.3(@swc/core@1.7.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)(@swc/jest@0.2.36(@swc/core@1.7.0(@swc/helpers@0.5.12)))(browserslist@4.23.2) + version: 2.2.3(@swc/core@1.7.26(@swc/helpers@0.5.13))(@swc/helpers@0.5.13)(@swc/jest@0.2.36(@swc/core@1.7.26(@swc/helpers@0.5.13)))(browserslist@4.23.3) '@workleap/tsup-configs': specifier: 3.0.6 - version: 3.0.6(tsup@8.1.2(@swc/core@1.7.0)(jiti@1.21.6)(postcss@8.4.45)(typescript@5.5.3)(yaml@2.5.1))(typescript@5.5.3) + version: 3.0.6(tsup@8.3.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.47)(typescript@5.5.4)(yaml@2.5.1))(typescript@5.5.4) '@workleap/typescript-configs': specifier: 3.0.2 - version: 3.0.2(typescript@5.5.3) + version: 3.0.2(typescript@5.5.4) eslint: specifier: 8.57.0 version: 8.57.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)) + version: 29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)) jest-environment-jsdom: specifier: 29.7.0 version: 29.7.0 tsup: - specifier: 8.1.2 - version: 8.1.2(@swc/core@1.7.0)(jiti@1.21.6)(postcss@8.4.45)(typescript@5.5.3)(yaml@2.5.1) + specifier: 8.3.0 + version: 8.3.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.47)(typescript@5.5.4)(yaml@2.5.1) typescript: - specifier: 5.5.3 - version: 5.5.3 + specifier: 5.5.4 + version: 5.5.4 webpack: - specifier: 5.93.0 - version: 5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12)) + specifier: 5.94.0 + version: 5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13)) samples/basic/another-remote-module: dependencies: @@ -609,11 +609,11 @@ importers: specifier: workspace:* version: link:../shell '@react-aria/toast': - specifier: 3.0.0-beta.12 - version: 3.0.0-beta.12(react@18.3.1) + specifier: 3.0.0-beta.15 + version: 3.0.0-beta.15(react@18.3.1) '@react-stately/toast': - specifier: 3.0.0-beta.4 - version: 3.0.0-beta.4(react@18.3.1) + specifier: 3.0.0-beta.5 + version: 3.0.0-beta.5(react@18.3.1) '@squide/fakes': specifier: workspace:* version: link:../../../packages/fakes @@ -627,8 +627,8 @@ importers: specifier: 18.3.1 version: 18.3.1(react@18.3.1) react-router-dom: - specifier: 6.25.1 - version: 6.25.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 6.26.2 + version: 6.26.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) useless-lib: specifier: 3.0.0 version: 3.0.0 @@ -637,14 +637,14 @@ importers: specifier: workspace:* version: link:../../../packages/firefly-webpack-configs '@swc/core': - specifier: 1.7.0 - version: 1.7.0(@swc/helpers@0.5.12) + specifier: 1.7.26 + version: 1.7.26(@swc/helpers@0.5.13) '@swc/helpers': - specifier: 0.5.12 - version: 0.5.12 + specifier: 0.5.13 + version: 0.5.13 '@types/react': - specifier: 18.3.3 - version: 18.3.3 + specifier: 18.3.8 + version: 18.3.8 '@types/react-dom': specifier: 18.3.0 version: 18.3.0 @@ -653,16 +653,16 @@ importers: version: 2.0.1 '@workleap/eslint-plugin': specifier: 3.2.2 - version: 3.2.2(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.4)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)))(typescript@5.5.3) + version: 3.2.2(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)))(typescript@5.5.4) '@workleap/swc-configs': specifier: 2.2.3 - version: 2.2.3(@swc/core@1.7.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)(@swc/jest@0.2.36(@swc/core@1.7.0(@swc/helpers@0.5.12)))(browserslist@4.23.2) + version: 2.2.3(@swc/core@1.7.26(@swc/helpers@0.5.13))(@swc/helpers@0.5.13)(@swc/jest@0.2.36(@swc/core@1.7.26(@swc/helpers@0.5.13)))(browserslist@4.23.3) '@workleap/typescript-configs': specifier: 3.0.2 - version: 3.0.2(typescript@5.5.3) + version: 3.0.2(typescript@5.5.4) browserslist: - specifier: 4.23.2 - version: 4.23.2 + specifier: 4.23.3 + version: 4.23.3 cross-env: specifier: 7.0.3 version: 7.0.3 @@ -673,23 +673,23 @@ importers: specifier: 14.1.1 version: 14.1.1 netlify-cli: - specifier: 17.33.4 - version: 17.33.4(@swc/core@1.7.0(@swc/helpers@0.5.12))(@types/express@4.17.21)(@types/node@22.5.4)(picomatch@4.0.2) + specifier: 17.36.2 + version: 17.36.2(@swc/core@1.7.26(@swc/helpers@0.5.13))(@types/express@4.17.21)(@types/node@22.5.5)(picomatch@4.0.2) nodemon: - specifier: 3.1.4 - version: 3.1.4 + specifier: 3.1.6 + version: 3.1.6 typescript: - specifier: 5.5.3 - version: 5.5.3 + specifier: 5.5.4 + version: 5.5.4 webpack: - specifier: 5.93.0 - version: 5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))(webpack-cli@5.1.4) + specifier: 5.94.0 + version: 5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(webpack-cli@5.1.4) webpack-cli: specifier: 5.1.4 - version: 5.1.4(webpack-dev-server@5.0.4)(webpack@5.93.0) + version: 5.1.4(webpack-dev-server@5.1.0)(webpack@5.94.0) webpack-dev-server: - specifier: 5.0.4 - version: 5.0.4(webpack-cli@5.1.4)(webpack@5.93.0) + specifier: 5.1.0 + version: 5.1.0(webpack-cli@5.1.4)(webpack@5.94.0) samples/basic/host: dependencies: @@ -703,11 +703,11 @@ importers: specifier: workspace:* version: link:../shell '@react-aria/toast': - specifier: 3.0.0-beta.12 - version: 3.0.0-beta.12(react@18.3.1) + specifier: 3.0.0-beta.15 + version: 3.0.0-beta.15(react@18.3.1) '@react-stately/toast': - specifier: 3.0.0-beta.4 - version: 3.0.0-beta.4(react@18.3.1) + specifier: 3.0.0-beta.5 + version: 3.0.0-beta.5(react@18.3.1) '@squide/fakes': specifier: workspace:* version: link:../../../packages/fakes @@ -715,8 +715,8 @@ importers: specifier: workspace:* version: link:../../../packages/firefly '@tanstack/react-query': - specifier: 5.51.9 - version: 5.51.9(react@18.3.1) + specifier: 5.56.2 + version: 5.56.2(react@18.3.1) react: specifier: 18.3.1 version: 18.3.1 @@ -724,8 +724,8 @@ importers: specifier: 18.3.1 version: 18.3.1(react@18.3.1) react-router-dom: - specifier: 6.25.1 - version: 6.25.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 6.26.2 + version: 6.26.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) useless-lib: specifier: ^2.0.0 version: 2.1.0 @@ -734,14 +734,14 @@ importers: specifier: workspace:* version: link:../../../packages/firefly-webpack-configs '@swc/core': - specifier: 1.7.0 - version: 1.7.0(@swc/helpers@0.5.12) + specifier: 1.7.26 + version: 1.7.26(@swc/helpers@0.5.13) '@swc/helpers': - specifier: 0.5.12 - version: 0.5.12 + specifier: 0.5.13 + version: 0.5.13 '@types/react': - specifier: 18.3.3 - version: 18.3.3 + specifier: 18.3.8 + version: 18.3.8 '@types/react-dom': specifier: 18.3.0 version: 18.3.0 @@ -750,16 +750,16 @@ importers: version: 2.0.1 '@workleap/eslint-plugin': specifier: 3.2.2 - version: 3.2.2(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.4)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)))(typescript@5.5.3) + version: 3.2.2(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)))(typescript@5.5.4) '@workleap/swc-configs': specifier: 2.2.3 - version: 2.2.3(@swc/core@1.7.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)(@swc/jest@0.2.36(@swc/core@1.7.0(@swc/helpers@0.5.12)))(browserslist@4.23.2) + version: 2.2.3(@swc/core@1.7.26(@swc/helpers@0.5.13))(@swc/helpers@0.5.13)(@swc/jest@0.2.36(@swc/core@1.7.26(@swc/helpers@0.5.13)))(browserslist@4.23.3) '@workleap/typescript-configs': specifier: 3.0.2 - version: 3.0.2(typescript@5.5.3) + version: 3.0.2(typescript@5.5.4) browserslist: - specifier: 4.23.2 - version: 4.23.2 + specifier: 4.23.3 + version: 4.23.3 copyfiles: specifier: 2.4.1 version: 2.4.1 @@ -770,23 +770,23 @@ importers: specifier: 14.1.1 version: 14.1.1 netlify-cli: - specifier: 17.33.4 - version: 17.33.4(@swc/core@1.7.0(@swc/helpers@0.5.12))(@types/express@4.17.21)(@types/node@22.5.4)(picomatch@4.0.2) + specifier: 17.36.2 + version: 17.36.2(@swc/core@1.7.26(@swc/helpers@0.5.13))(@types/express@4.17.21)(@types/node@22.5.5)(picomatch@4.0.2) nodemon: - specifier: 3.1.4 - version: 3.1.4 + specifier: 3.1.6 + version: 3.1.6 typescript: - specifier: 5.5.3 - version: 5.5.3 + specifier: 5.5.4 + version: 5.5.4 webpack: - specifier: 5.93.0 - version: 5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))(webpack-cli@5.1.4) + specifier: 5.94.0 + version: 5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(webpack-cli@5.1.4) webpack-cli: specifier: 5.1.4 - version: 5.1.4(webpack-dev-server@5.0.4)(webpack@5.93.0) + version: 5.1.4(webpack-dev-server@5.1.0)(webpack@5.94.0) webpack-dev-server: - specifier: 5.0.4 - version: 5.0.4(webpack-cli@5.1.4)(webpack@5.93.0) + specifier: 5.1.0 + version: 5.1.0(webpack-cli@5.1.4)(webpack@5.94.0) samples/basic/local-module: dependencies: @@ -809,27 +809,27 @@ importers: specifier: 18.3.1 version: 18.3.1(react@18.3.1) react-router-dom: - specifier: 6.25.1 - version: 6.25.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 6.26.2 + version: 6.26.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) devDependencies: '@react-aria/toast': - specifier: 3.0.0-beta.12 - version: 3.0.0-beta.12(react@18.3.1) + specifier: 3.0.0-beta.15 + version: 3.0.0-beta.15(react@18.3.1) '@react-stately/toast': - specifier: 3.0.0-beta.4 - version: 3.0.0-beta.4(react@18.3.1) + specifier: 3.0.0-beta.5 + version: 3.0.0-beta.5(react@18.3.1) '@squide/firefly-webpack-configs': specifier: workspace:* version: link:../../../packages/firefly-webpack-configs '@swc/core': - specifier: 1.7.0 - version: 1.7.0(@swc/helpers@0.5.12) + specifier: 1.7.26 + version: 1.7.26(@swc/helpers@0.5.13) '@swc/helpers': - specifier: 0.5.12 - version: 0.5.12 + specifier: 0.5.13 + version: 0.5.13 '@types/react': - specifier: 18.3.3 - version: 18.3.3 + specifier: 18.3.8 + version: 18.3.8 '@types/react-dom': specifier: 18.3.0 version: 18.3.0 @@ -838,40 +838,40 @@ importers: version: 2.0.1 '@workleap/eslint-plugin': specifier: 3.2.2 - version: 3.2.2(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(jest@29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)))(typescript@5.5.3) + version: 3.2.2(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)))(typescript@5.5.4) '@workleap/swc-configs': specifier: 2.2.3 - version: 2.2.3(@swc/core@1.7.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)(@swc/jest@0.2.36(@swc/core@1.7.0(@swc/helpers@0.5.12)))(browserslist@4.23.2) + version: 2.2.3(@swc/core@1.7.26(@swc/helpers@0.5.13))(@swc/helpers@0.5.13)(@swc/jest@0.2.36(@swc/core@1.7.26(@swc/helpers@0.5.13)))(browserslist@4.23.3) '@workleap/tsup-configs': specifier: 3.0.6 - version: 3.0.6(tsup@8.1.2(@swc/core@1.7.0)(jiti@1.21.6)(postcss@8.4.45)(typescript@5.5.3)(yaml@2.5.1))(typescript@5.5.3) + version: 3.0.6(tsup@8.3.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.47)(typescript@5.5.4)(yaml@2.5.1))(typescript@5.5.4) '@workleap/typescript-configs': specifier: 3.0.2 - version: 3.0.2(typescript@5.5.3) + version: 3.0.2(typescript@5.5.4) browserslist: - specifier: 4.23.2 - version: 4.23.2 + specifier: 4.23.3 + version: 4.23.3 eslint: specifier: 8.57.0 version: 8.57.0 nodemon: - specifier: 3.1.4 - version: 3.1.4 + specifier: 3.1.6 + version: 3.1.6 tsup: - specifier: 8.1.2 - version: 8.1.2(@swc/core@1.7.0)(jiti@1.21.6)(postcss@8.4.45)(typescript@5.5.3)(yaml@2.5.1) + specifier: 8.3.0 + version: 8.3.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.47)(typescript@5.5.4)(yaml@2.5.1) typescript: - specifier: 5.5.3 - version: 5.5.3 + specifier: 5.5.4 + version: 5.5.4 webpack: - specifier: 5.93.0 - version: 5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))(webpack-cli@5.1.4) + specifier: 5.94.0 + version: 5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(webpack-cli@5.1.4) webpack-cli: specifier: 5.1.4 - version: 5.1.4(webpack-dev-server@5.0.4)(webpack@5.93.0) + version: 5.1.4(webpack-dev-server@5.1.0)(webpack@5.94.0) webpack-dev-server: - specifier: 5.0.4 - version: 5.0.4(webpack-cli@5.1.4)(webpack@5.93.0) + specifier: 5.1.0 + version: 5.1.0(webpack-cli@5.1.4)(webpack@5.94.0) samples/basic/remote-module: dependencies: @@ -882,11 +882,11 @@ importers: specifier: workspace:* version: link:../shell '@react-aria/toast': - specifier: 3.0.0-beta.12 - version: 3.0.0-beta.12(react@18.3.1) + specifier: 3.0.0-beta.15 + version: 3.0.0-beta.15(react@18.3.1) '@react-stately/toast': - specifier: 3.0.0-beta.4 - version: 3.0.0-beta.4(react@18.3.1) + specifier: 3.0.0-beta.5 + version: 3.0.0-beta.5(react@18.3.1) '@squide/fakes': specifier: workspace:* version: link:../../../packages/fakes @@ -900,8 +900,8 @@ importers: specifier: 18.3.1 version: 18.3.1(react@18.3.1) react-router-dom: - specifier: 6.25.1 - version: 6.25.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 6.26.2 + version: 6.26.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) useless-lib: specifier: ^2.1.0 version: 2.1.0 @@ -910,14 +910,14 @@ importers: specifier: workspace:* version: link:../../../packages/firefly-webpack-configs '@swc/core': - specifier: 1.7.0 - version: 1.7.0(@swc/helpers@0.5.12) + specifier: 1.7.26 + version: 1.7.26(@swc/helpers@0.5.13) '@swc/helpers': - specifier: 0.5.12 - version: 0.5.12 + specifier: 0.5.13 + version: 0.5.13 '@types/react': - specifier: 18.3.3 - version: 18.3.3 + specifier: 18.3.8 + version: 18.3.8 '@types/react-dom': specifier: 18.3.0 version: 18.3.0 @@ -926,16 +926,16 @@ importers: version: 2.0.1 '@workleap/eslint-plugin': specifier: 3.2.2 - version: 3.2.2(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.4)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)))(typescript@5.5.3) + version: 3.2.2(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)))(typescript@5.5.4) '@workleap/swc-configs': specifier: 2.2.3 - version: 2.2.3(@swc/core@1.7.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)(@swc/jest@0.2.36(@swc/core@1.7.0(@swc/helpers@0.5.12)))(browserslist@4.23.2) + version: 2.2.3(@swc/core@1.7.26(@swc/helpers@0.5.13))(@swc/helpers@0.5.13)(@swc/jest@0.2.36(@swc/core@1.7.26(@swc/helpers@0.5.13)))(browserslist@4.23.3) '@workleap/typescript-configs': specifier: 3.0.2 - version: 3.0.2(typescript@5.5.3) + version: 3.0.2(typescript@5.5.4) browserslist: - specifier: 4.23.2 - version: 4.23.2 + specifier: 4.23.3 + version: 4.23.3 cross-env: specifier: 7.0.3 version: 7.0.3 @@ -946,23 +946,23 @@ importers: specifier: 14.1.1 version: 14.1.1 netlify-cli: - specifier: 17.33.4 - version: 17.33.4(@swc/core@1.7.0(@swc/helpers@0.5.12))(@types/express@4.17.21)(@types/node@22.5.4)(picomatch@4.0.2) + specifier: 17.36.2 + version: 17.36.2(@swc/core@1.7.26(@swc/helpers@0.5.13))(@types/express@4.17.21)(@types/node@22.5.5)(picomatch@4.0.2) nodemon: - specifier: 3.1.4 - version: 3.1.4 + specifier: 3.1.6 + version: 3.1.6 typescript: - specifier: 5.5.3 - version: 5.5.3 + specifier: 5.5.4 + version: 5.5.4 webpack: - specifier: 5.93.0 - version: 5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))(webpack-cli@5.1.4) + specifier: 5.94.0 + version: 5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(webpack-cli@5.1.4) webpack-cli: specifier: 5.1.4 - version: 5.1.4(webpack-dev-server@5.0.4)(webpack@5.93.0) + version: 5.1.4(webpack-dev-server@5.1.0)(webpack@5.94.0) webpack-dev-server: - specifier: 5.0.4 - version: 5.0.4(webpack-cli@5.1.4)(webpack@5.93.0) + specifier: 5.1.0 + version: 5.1.0(webpack-cli@5.1.4)(webpack@5.94.0) samples/basic/shared: dependencies: @@ -974,38 +974,38 @@ importers: version: 18.3.1(react@18.3.1) react-router-dom: specifier: '*' - version: 6.25.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 6.26.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) devDependencies: '@squide/firefly': specifier: workspace:* version: link:../../../packages/firefly '@types/react': - specifier: 18.3.3 - version: 18.3.3 + specifier: 18.3.8 + version: 18.3.8 '@types/react-dom': specifier: 18.3.0 version: 18.3.0 '@workleap/eslint-plugin': specifier: 3.2.2 - version: 3.2.2(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(jest@29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)))(typescript@5.5.3) + version: 3.2.2(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)))(typescript@5.5.4) '@workleap/tsup-configs': specifier: 3.0.6 - version: 3.0.6(tsup@8.1.2(@swc/core@1.7.0)(jiti@1.21.6)(postcss@8.4.45)(typescript@5.5.3)(yaml@2.5.1))(typescript@5.5.3) + version: 3.0.6(tsup@8.3.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.47)(typescript@5.5.4)(yaml@2.5.1))(typescript@5.5.4) '@workleap/typescript-configs': specifier: 3.0.2 - version: 3.0.2(typescript@5.5.3) + version: 3.0.2(typescript@5.5.4) eslint: specifier: 8.57.0 version: 8.57.0 nodemon: - specifier: 3.1.4 - version: 3.1.4 + specifier: 3.1.6 + version: 3.1.6 tsup: - specifier: 8.1.2 - version: 8.1.2(@swc/core@1.7.0)(jiti@1.21.6)(postcss@8.4.45)(typescript@5.5.3)(yaml@2.5.1) + specifier: 8.3.0 + version: 8.3.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.47)(typescript@5.5.4)(yaml@2.5.1) typescript: - specifier: 5.5.3 - version: 5.5.3 + specifier: 5.5.4 + version: 5.5.4 samples/basic/shell: dependencies: @@ -1023,7 +1023,7 @@ importers: version: 18.3.1(react@18.3.1) react-router-dom: specifier: '*' - version: 6.25.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 6.26.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) devDependencies: '@basic/shared': specifier: workspace:* @@ -1035,32 +1035,32 @@ importers: specifier: workspace:* version: link:../../../packages/firefly '@types/react': - specifier: 18.3.3 - version: 18.3.3 + specifier: 18.3.8 + version: 18.3.8 '@types/react-dom': specifier: 18.3.0 version: 18.3.0 '@workleap/eslint-plugin': specifier: 3.2.2 - version: 3.2.2(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(jest@29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)))(typescript@5.5.3) + version: 3.2.2(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)))(typescript@5.5.4) '@workleap/tsup-configs': specifier: 3.0.6 - version: 3.0.6(tsup@8.1.2(@swc/core@1.7.0)(jiti@1.21.6)(postcss@8.4.45)(typescript@5.5.3)(yaml@2.5.1))(typescript@5.5.3) + version: 3.0.6(tsup@8.3.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.47)(typescript@5.5.4)(yaml@2.5.1))(typescript@5.5.4) '@workleap/typescript-configs': specifier: 3.0.2 - version: 3.0.2(typescript@5.5.3) + version: 3.0.2(typescript@5.5.4) eslint: specifier: 8.57.0 version: 8.57.0 nodemon: - specifier: 3.1.4 - version: 3.1.4 + specifier: 3.1.6 + version: 3.1.6 tsup: - specifier: 8.1.2 - version: 8.1.2(@swc/core@1.7.0)(jiti@1.21.6)(postcss@8.4.45)(typescript@5.5.3)(yaml@2.5.1) + specifier: 8.3.0 + version: 8.3.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.47)(typescript@5.5.4)(yaml@2.5.1) typescript: - specifier: 5.5.3 - version: 5.5.3 + specifier: 5.5.4 + version: 5.5.4 samples/endpoints/host: dependencies: @@ -1089,17 +1089,17 @@ importers: specifier: workspace:* version: link:../../../packages/i18next '@tanstack/react-query': - specifier: 5.51.9 - version: 5.51.9(react@18.3.1) + specifier: 5.56.2 + version: 5.56.2(react@18.3.1) i18next: - specifier: 23.12.1 - version: 23.12.1 + specifier: 23.15.1 + version: 23.15.1 i18next-browser-languagedetector: specifier: 8.0.0 version: 8.0.0 msw: - specifier: 2.3.1 - version: 2.3.1(typescript@5.5.3) + specifier: 2.4.9 + version: 2.4.9(typescript@5.5.4) react: specifier: 18.3.1 version: 18.3.1 @@ -1110,24 +1110,24 @@ importers: specifier: 4.0.13 version: 4.0.13(react@18.3.1) react-i18next: - specifier: 15.0.0 - version: 15.0.0(i18next@23.12.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 15.0.2 + version: 15.0.2(i18next@23.15.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-router-dom: - specifier: 6.25.1 - version: 6.25.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 6.26.2 + version: 6.26.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) devDependencies: '@squide/firefly-webpack-configs': specifier: workspace:* version: link:../../../packages/firefly-webpack-configs '@swc/core': - specifier: 1.7.0 - version: 1.7.0(@swc/helpers@0.5.12) + specifier: 1.7.26 + version: 1.7.26(@swc/helpers@0.5.13) '@swc/helpers': - specifier: 0.5.12 - version: 0.5.12 + specifier: 0.5.13 + version: 0.5.13 '@types/react': - specifier: 18.3.3 - version: 18.3.3 + specifier: 18.3.8 + version: 18.3.8 '@types/react-dom': specifier: 18.3.0 version: 18.3.0 @@ -1136,16 +1136,16 @@ importers: version: 2.0.1 '@workleap/eslint-plugin': specifier: 3.2.2 - version: 3.2.2(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.4)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)))(typescript@5.5.3) + version: 3.2.2(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)))(typescript@5.5.4) '@workleap/swc-configs': specifier: 2.2.3 - version: 2.2.3(@swc/core@1.7.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)(@swc/jest@0.2.36(@swc/core@1.7.0(@swc/helpers@0.5.12)))(browserslist@4.23.2) + version: 2.2.3(@swc/core@1.7.26(@swc/helpers@0.5.13))(@swc/helpers@0.5.13)(@swc/jest@0.2.36(@swc/core@1.7.26(@swc/helpers@0.5.13)))(browserslist@4.23.3) '@workleap/typescript-configs': specifier: 3.0.2 - version: 3.0.2(typescript@5.5.3) + version: 3.0.2(typescript@5.5.4) browserslist: - specifier: 4.23.2 - version: 4.23.2 + specifier: 4.23.3 + version: 4.23.3 copyfiles: specifier: 2.4.1 version: 2.4.1 @@ -1159,29 +1159,29 @@ importers: specifier: 14.1.1 version: 14.1.1 netlify-cli: - specifier: 17.33.4 - version: 17.33.4(@swc/core@1.7.0(@swc/helpers@0.5.12))(@types/express@4.17.21)(@types/node@22.5.4)(picomatch@4.0.2) + specifier: 17.36.2 + version: 17.36.2(@swc/core@1.7.26(@swc/helpers@0.5.13))(@types/express@4.17.21)(@types/node@22.5.5)(picomatch@4.0.2) nodemon: - specifier: 3.1.4 - version: 3.1.4 + specifier: 3.1.6 + version: 3.1.6 typescript: - specifier: 5.5.3 - version: 5.5.3 + specifier: 5.5.4 + version: 5.5.4 webpack: - specifier: 5.93.0 - version: 5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))(webpack-cli@5.1.4) + specifier: 5.94.0 + version: 5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(webpack-cli@5.1.4) webpack-cli: specifier: 5.1.4 - version: 5.1.4(webpack-dev-server@5.0.4)(webpack@5.93.0) + version: 5.1.4(webpack-dev-server@5.1.0)(webpack@5.94.0) webpack-dev-server: - specifier: 5.0.4 - version: 5.0.4(webpack-cli@5.1.4)(webpack@5.93.0) + specifier: 5.1.0 + version: 5.1.0(webpack-cli@5.1.4)(webpack@5.94.0) samples/endpoints/i18next: dependencies: i18next: specifier: '*' - version: 23.12.1 + version: 23.15.1 i18next-browser-languagedetector: specifier: '*' version: 8.0.0 @@ -1193,7 +1193,7 @@ importers: version: 18.3.1(react@18.3.1) react-i18next: specifier: '*' - version: 15.0.0(i18next@23.12.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 15.0.2(i18next@23.15.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) devDependencies: '@endpoints/shared': specifier: workspace:* @@ -1206,31 +1206,31 @@ importers: version: link:../../../packages/i18next '@workleap/eslint-plugin': specifier: 3.2.2 - version: 3.2.2(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(jest@29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)))(typescript@5.5.3) + version: 3.2.2(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)))(typescript@5.5.4) '@workleap/tsup-configs': specifier: 3.0.6 - version: 3.0.6(tsup@8.1.2(@swc/core@1.7.0)(jiti@1.21.6)(postcss@8.4.45)(typescript@5.5.3)(yaml@2.5.1))(typescript@5.5.3) + version: 3.0.6(tsup@8.3.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.47)(typescript@5.5.4)(yaml@2.5.1))(typescript@5.5.4) '@workleap/typescript-configs': specifier: 3.0.2 - version: 3.0.2(typescript@5.5.3) + version: 3.0.2(typescript@5.5.4) eslint: specifier: 8.57.0 version: 8.57.0 nodemon: - specifier: 3.1.4 - version: 3.1.4 + specifier: 3.1.6 + version: 3.1.6 tsup: - specifier: 8.1.2 - version: 8.1.2(@swc/core@1.7.0)(jiti@1.21.6)(postcss@8.4.45)(typescript@5.5.3)(yaml@2.5.1) + specifier: 8.3.0 + version: 8.3.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.47)(typescript@5.5.4)(yaml@2.5.1) typescript: - specifier: 5.5.3 - version: 5.5.3 + specifier: 5.5.4 + version: 5.5.4 samples/endpoints/layouts: dependencies: i18next: specifier: '*' - version: 23.12.1 + version: 23.15.1 i18next-browser-languagedetector: specifier: '*' version: 8.0.0 @@ -1245,10 +1245,10 @@ importers: version: 4.0.13(react@18.3.1) react-i18next: specifier: '*' - version: 15.0.0(i18next@23.12.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 15.0.2(i18next@23.15.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-router-dom: specifier: '*' - version: 6.25.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 6.26.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) devDependencies: '@endpoints/i18next': specifier: workspace:* @@ -1263,32 +1263,32 @@ importers: specifier: workspace:* version: link:../../../packages/i18next '@types/react': - specifier: 18.3.3 - version: 18.3.3 + specifier: 18.3.8 + version: 18.3.8 '@types/react-dom': specifier: 18.3.0 version: 18.3.0 '@workleap/eslint-plugin': specifier: 3.2.2 - version: 3.2.2(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(jest@29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)))(typescript@5.5.3) + version: 3.2.2(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)))(typescript@5.5.4) '@workleap/tsup-configs': specifier: 3.0.6 - version: 3.0.6(tsup@8.1.2(@swc/core@1.7.0)(jiti@1.21.6)(postcss@8.4.45)(typescript@5.5.3)(yaml@2.5.1))(typescript@5.5.3) + version: 3.0.6(tsup@8.3.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.47)(typescript@5.5.4)(yaml@2.5.1))(typescript@5.5.4) '@workleap/typescript-configs': specifier: 3.0.2 - version: 3.0.2(typescript@5.5.3) + version: 3.0.2(typescript@5.5.4) eslint: specifier: 8.57.0 version: 8.57.0 nodemon: - specifier: 3.1.4 - version: 3.1.4 + specifier: 3.1.6 + version: 3.1.6 tsup: - specifier: 8.1.2 - version: 8.1.2(@swc/core@1.7.0)(jiti@1.21.6)(postcss@8.4.45)(typescript@5.5.3)(yaml@2.5.1) + specifier: 8.3.0 + version: 8.3.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.47)(typescript@5.5.4)(yaml@2.5.1) typescript: - specifier: 5.5.3 - version: 5.5.3 + specifier: 5.5.4 + version: 5.5.4 samples/endpoints/local-module: dependencies: @@ -1314,17 +1314,17 @@ importers: specifier: workspace:* version: link:../../../packages/i18next '@tanstack/react-query': - specifier: 5.51.9 - version: 5.51.9(react@18.3.1) + specifier: 5.56.2 + version: 5.56.2(react@18.3.1) i18next: - specifier: 23.12.1 - version: 23.12.1 + specifier: 23.15.1 + version: 23.15.1 i18next-browser-languagedetector: specifier: 8.0.0 version: 8.0.0 msw: - specifier: 2.3.1 - version: 2.3.1(typescript@5.5.3) + specifier: 2.4.9 + version: 2.4.9(typescript@5.5.4) react: specifier: 18.3.1 version: 18.3.1 @@ -1335,27 +1335,27 @@ importers: specifier: 4.0.13 version: 4.0.13(react@18.3.1) react-i18next: - specifier: 15.0.0 - version: 15.0.0(i18next@23.12.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 15.0.2 + version: 15.0.2(i18next@23.15.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-router-dom: - specifier: 6.25.1 - version: 6.25.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 6.26.2 + version: 6.26.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) devDependencies: '@squide/firefly-webpack-configs': specifier: workspace:* version: link:../../../packages/firefly-webpack-configs '@swc/core': - specifier: 1.7.0 - version: 1.7.0(@swc/helpers@0.5.12) + specifier: 1.7.26 + version: 1.7.26(@swc/helpers@0.5.13) '@swc/helpers': - specifier: 0.5.12 - version: 0.5.12 + specifier: 0.5.13 + version: 0.5.13 '@tanstack/react-query-devtools': - specifier: 5.51.9 - version: 5.51.9(@tanstack/react-query@5.51.9(react@18.3.1))(react@18.3.1) + specifier: 5.56.2 + version: 5.56.2(@tanstack/react-query@5.56.2(react@18.3.1))(react@18.3.1) '@types/react': - specifier: 18.3.3 - version: 18.3.3 + specifier: 18.3.8 + version: 18.3.8 '@types/react-dom': specifier: 18.3.0 version: 18.3.0 @@ -1364,19 +1364,19 @@ importers: version: 2.0.1 '@workleap/eslint-plugin': specifier: 3.2.2 - version: 3.2.2(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(jest@29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)))(typescript@5.5.3) + version: 3.2.2(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)))(typescript@5.5.4) '@workleap/swc-configs': specifier: 2.2.3 - version: 2.2.3(@swc/core@1.7.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)(@swc/jest@0.2.36(@swc/core@1.7.0(@swc/helpers@0.5.12)))(browserslist@4.23.2) + version: 2.2.3(@swc/core@1.7.26(@swc/helpers@0.5.13))(@swc/helpers@0.5.13)(@swc/jest@0.2.36(@swc/core@1.7.26(@swc/helpers@0.5.13)))(browserslist@4.23.3) '@workleap/tsup-configs': specifier: 3.0.6 - version: 3.0.6(tsup@8.1.2(@swc/core@1.7.0)(jiti@1.21.6)(postcss@8.4.45)(typescript@5.5.3)(yaml@2.5.1))(typescript@5.5.3) + version: 3.0.6(tsup@8.3.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.47)(typescript@5.5.4)(yaml@2.5.1))(typescript@5.5.4) '@workleap/typescript-configs': specifier: 3.0.2 - version: 3.0.2(typescript@5.5.3) + version: 3.0.2(typescript@5.5.4) browserslist: - specifier: 4.23.2 - version: 4.23.2 + specifier: 4.23.3 + version: 4.23.3 cross-env: specifier: 7.0.3 version: 7.0.3 @@ -1387,23 +1387,23 @@ importers: specifier: 14.1.1 version: 14.1.1 nodemon: - specifier: 3.1.4 - version: 3.1.4 + specifier: 3.1.6 + version: 3.1.6 tsup: - specifier: 8.1.2 - version: 8.1.2(@swc/core@1.7.0)(jiti@1.21.6)(postcss@8.4.45)(typescript@5.5.3)(yaml@2.5.1) + specifier: 8.3.0 + version: 8.3.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.47)(typescript@5.5.4)(yaml@2.5.1) typescript: - specifier: 5.5.3 - version: 5.5.3 + specifier: 5.5.4 + version: 5.5.4 webpack: - specifier: 5.93.0 - version: 5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))(webpack-cli@5.1.4) + specifier: 5.94.0 + version: 5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(webpack-cli@5.1.4) webpack-cli: specifier: 5.1.4 - version: 5.1.4(webpack-dev-server@5.0.4)(webpack@5.93.0) + version: 5.1.4(webpack-dev-server@5.1.0)(webpack@5.94.0) webpack-dev-server: - specifier: 5.0.4 - version: 5.0.4(webpack-cli@5.1.4)(webpack@5.93.0) + specifier: 5.1.0 + version: 5.1.0(webpack-cli@5.1.4)(webpack@5.94.0) samples/endpoints/remote-module: dependencies: @@ -1429,17 +1429,17 @@ importers: specifier: workspace:* version: link:../../../packages/i18next '@tanstack/react-query': - specifier: 5.51.9 - version: 5.51.9(react@18.3.1) + specifier: 5.56.2 + version: 5.56.2(react@18.3.1) i18next: - specifier: 23.12.1 - version: 23.12.1 + specifier: 23.15.1 + version: 23.15.1 i18next-browser-languagedetector: specifier: 8.0.0 version: 8.0.0 msw: - specifier: 2.3.1 - version: 2.3.1(typescript@5.5.3) + specifier: 2.4.9 + version: 2.4.9(typescript@5.5.4) react: specifier: 18.3.1 version: 18.3.1 @@ -1450,27 +1450,27 @@ importers: specifier: 4.0.13 version: 4.0.13(react@18.3.1) react-i18next: - specifier: 15.0.0 - version: 15.0.0(i18next@23.12.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 15.0.2 + version: 15.0.2(i18next@23.15.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-router-dom: - specifier: 6.25.1 - version: 6.25.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 6.26.2 + version: 6.26.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) devDependencies: '@squide/firefly-webpack-configs': specifier: workspace:* version: link:../../../packages/firefly-webpack-configs '@swc/core': - specifier: 1.7.0 - version: 1.7.0(@swc/helpers@0.5.12) + specifier: 1.7.26 + version: 1.7.26(@swc/helpers@0.5.13) '@swc/helpers': - specifier: 0.5.12 - version: 0.5.12 + specifier: 0.5.13 + version: 0.5.13 '@tanstack/react-query-devtools': - specifier: 5.51.9 - version: 5.51.9(@tanstack/react-query@5.51.9(react@18.3.1))(react@18.3.1) + specifier: 5.56.2 + version: 5.56.2(@tanstack/react-query@5.56.2(react@18.3.1))(react@18.3.1) '@types/react': - specifier: 18.3.3 - version: 18.3.3 + specifier: 18.3.8 + version: 18.3.8 '@types/react-dom': specifier: 18.3.0 version: 18.3.0 @@ -1479,16 +1479,16 @@ importers: version: 2.0.1 '@workleap/eslint-plugin': specifier: 3.2.2 - version: 3.2.2(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.4)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)))(typescript@5.5.3) + version: 3.2.2(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)))(typescript@5.5.4) '@workleap/swc-configs': specifier: 2.2.3 - version: 2.2.3(@swc/core@1.7.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)(@swc/jest@0.2.36(@swc/core@1.7.0(@swc/helpers@0.5.12)))(browserslist@4.23.2) + version: 2.2.3(@swc/core@1.7.26(@swc/helpers@0.5.13))(@swc/helpers@0.5.13)(@swc/jest@0.2.36(@swc/core@1.7.26(@swc/helpers@0.5.13)))(browserslist@4.23.3) '@workleap/typescript-configs': specifier: 3.0.2 - version: 3.0.2(typescript@5.5.3) + version: 3.0.2(typescript@5.5.4) browserslist: - specifier: 4.23.2 - version: 4.23.2 + specifier: 4.23.3 + version: 4.23.3 copyfiles: specifier: 2.4.1 version: 2.4.1 @@ -1502,23 +1502,23 @@ importers: specifier: 14.1.1 version: 14.1.1 netlify-cli: - specifier: 17.33.4 - version: 17.33.4(@swc/core@1.7.0(@swc/helpers@0.5.12))(@types/express@4.17.21)(@types/node@22.5.4)(picomatch@4.0.2) + specifier: 17.36.2 + version: 17.36.2(@swc/core@1.7.26(@swc/helpers@0.5.13))(@types/express@4.17.21)(@types/node@22.5.5)(picomatch@4.0.2) nodemon: - specifier: 3.1.4 - version: 3.1.4 + specifier: 3.1.6 + version: 3.1.6 typescript: - specifier: 5.5.3 - version: 5.5.3 + specifier: 5.5.4 + version: 5.5.4 webpack: - specifier: 5.93.0 - version: 5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))(webpack-cli@5.1.4) + specifier: 5.94.0 + version: 5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(webpack-cli@5.1.4) webpack-cli: specifier: 5.1.4 - version: 5.1.4(webpack-dev-server@5.0.4)(webpack@5.93.0) + version: 5.1.4(webpack-dev-server@5.1.0)(webpack@5.94.0) webpack-dev-server: - specifier: 5.0.4 - version: 5.0.4(webpack-cli@5.1.4)(webpack@5.93.0) + specifier: 5.1.0 + version: 5.1.0(webpack-cli@5.1.4)(webpack@5.94.0) samples/endpoints/shared: dependencies: @@ -1536,47 +1536,47 @@ importers: specifier: workspace:* version: link:../../../packages/firefly '@types/react': - specifier: 18.3.3 - version: 18.3.3 + specifier: 18.3.8 + version: 18.3.8 '@types/react-dom': specifier: 18.3.0 version: 18.3.0 '@workleap/eslint-plugin': specifier: 3.2.2 - version: 3.2.2(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(jest@29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)))(typescript@5.5.3) + version: 3.2.2(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)))(typescript@5.5.4) '@workleap/tsup-configs': specifier: 3.0.6 - version: 3.0.6(tsup@8.1.2(@swc/core@1.7.0)(jiti@1.21.6)(postcss@8.4.45)(typescript@5.5.3)(yaml@2.5.1))(typescript@5.5.3) + version: 3.0.6(tsup@8.3.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.47)(typescript@5.5.4)(yaml@2.5.1))(typescript@5.5.4) '@workleap/typescript-configs': specifier: 3.0.2 - version: 3.0.2(typescript@5.5.3) + version: 3.0.2(typescript@5.5.4) eslint: specifier: 8.57.0 version: 8.57.0 nodemon: - specifier: 3.1.4 - version: 3.1.4 + specifier: 3.1.6 + version: 3.1.6 tsup: - specifier: 8.1.2 - version: 8.1.2(@swc/core@1.7.0)(jiti@1.21.6)(postcss@8.4.45)(typescript@5.5.3)(yaml@2.5.1) + specifier: 8.3.0 + version: 8.3.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.47)(typescript@5.5.4)(yaml@2.5.1) typescript: - specifier: 5.5.3 - version: 5.5.3 + specifier: 5.5.4 + version: 5.5.4 samples/endpoints/shell: dependencies: '@tanstack/react-query': specifier: '*' - version: 5.51.9(react@18.3.1) + version: 5.56.2(react@18.3.1) i18next: specifier: '*' - version: 23.12.1 + version: 23.15.1 i18next-browser-languagedetector: specifier: '*' version: 8.0.0 msw: specifier: '*' - version: 2.3.1(typescript@5.5.3) + version: 2.4.9(typescript@5.5.4) react: specifier: '*' version: 18.3.1 @@ -1588,10 +1588,10 @@ importers: version: 4.0.13(react@18.3.1) react-i18next: specifier: '*' - version: 15.0.0(i18next@23.12.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 15.0.2(i18next@23.15.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-router-dom: specifier: '*' - version: 6.25.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 6.26.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) devDependencies: '@endpoints/i18next': specifier: workspace:* @@ -1612,35 +1612,35 @@ importers: specifier: workspace:* version: link:../../../packages/i18next '@types/node': - specifier: 20.14.11 - version: 20.14.11 + specifier: 22.5.5 + version: 22.5.5 '@types/react': - specifier: 18.3.3 - version: 18.3.3 + specifier: 18.3.8 + version: 18.3.8 '@types/react-dom': specifier: 18.3.0 version: 18.3.0 '@workleap/eslint-plugin': specifier: 3.2.2 - version: 3.2.2(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(jest@29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)))(typescript@5.5.3) + version: 3.2.2(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)))(typescript@5.5.4) '@workleap/tsup-configs': specifier: 3.0.6 - version: 3.0.6(tsup@8.1.2(@swc/core@1.7.0)(jiti@1.21.6)(postcss@8.4.45)(typescript@5.5.3)(yaml@2.5.1))(typescript@5.5.3) + version: 3.0.6(tsup@8.3.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.47)(typescript@5.5.4)(yaml@2.5.1))(typescript@5.5.4) '@workleap/typescript-configs': specifier: 3.0.2 - version: 3.0.2(typescript@5.5.3) + version: 3.0.2(typescript@5.5.4) eslint: specifier: 8.57.0 version: 8.57.0 nodemon: - specifier: 3.1.4 - version: 3.1.4 + specifier: 3.1.6 + version: 3.1.6 tsup: - specifier: 8.1.2 - version: 8.1.2(@swc/core@1.7.0)(jiti@1.21.6)(postcss@8.4.45)(typescript@5.5.3)(yaml@2.5.1) + specifier: 8.3.0 + version: 8.3.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.47)(typescript@5.5.4)(yaml@2.5.1) typescript: - specifier: 5.5.3 - version: 5.5.3 + specifier: 5.5.4 + version: 5.5.4 packages: @@ -2284,10 +2284,6 @@ packages: resolution: {integrity: sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==} engines: {node: '>=6.9.0'} - '@babel/types@7.24.8': - resolution: {integrity: sha512-SkSBEHwwJRU52QEVZBmMBnE5Ux2/6WU1grdYyOhpbCNxbmJrDuDCphBzKZSO3taf0zztp+qkWlymE5tVL5l0TA==} - engines: {node: '>=6.9.0'} - '@babel/types@7.25.6': resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} engines: {node: '>=6.9.0'} @@ -2319,6 +2315,9 @@ packages: '@bundled-es-modules/statuses@1.0.1': resolution: {integrity: sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==} + '@bundled-es-modules/tough-cookie@0.1.6': + resolution: {integrity: sha512-dvMHbL464C0zI+Yqxbz6kZ5TOEp7GLW+pry/RWndAR8MJQAXZ2rPmIs8tziTZjeIyhSNZgZbCePtfSbdWqStJw==} + '@changesets/apply-release-plan@7.0.5': resolution: {integrity: sha512-1cWCk+ZshEkSVEZrm2fSj1Gz8sYvxgUL4Q78+1ZZqeqfuevPTPk033/yUZ3df8BKMohkqqHfzj0HOOrG0KtXTw==} @@ -2331,8 +2330,8 @@ packages: '@changesets/changelog-github@0.5.0': resolution: {integrity: sha512-zoeq2LJJVcPJcIotHRJEEA2qCqX0AQIeFE+L21L8sRLPVqDhSXY8ZWAt2sohtBpFZkBwu+LUwMSKRr2lMy3LJA==} - '@changesets/cli@2.27.7': - resolution: {integrity: sha512-6lr8JltiiXPIjDeYg4iM2MeePP6VN/JkmqBsVA5XRiy01hGS3y629LtSDvKcycj/w/5Eur1rEwby/MjcYS+e2A==} + '@changesets/cli@2.27.8': + resolution: {integrity: sha512-gZNyh+LdSsI82wBSHLQ3QN5J30P4uHKJ4fXgoGwQxfXwYFTJzDdvIJasZn8rYQtmKhyQuiBj4SSnLuKlxKWq4w==} hasBin: true '@changesets/config@3.0.3': @@ -2825,8 +2824,8 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.11.0': - resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} + '@eslint-community/regexpp@4.11.1': + resolution: {integrity: sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} '@eslint/eslintrc@2.1.4': @@ -2901,16 +2900,20 @@ packages: resolution: {integrity: sha512-oOIwPs0Dvq5220Z8lGL/6LHRTEr9TgLHmiI99Rj1PJ1p1czTys+olrgBqZk4E2qC0YTzeHprxSQmoHioVdJ7Lw==} engines: {node: '>=18'} - '@inquirer/core@9.1.0': - resolution: {integrity: sha512-RZVfH//2ytTjmaBIzeKT1zefcQZzuruwkpTwwbe/i2jTl4o9M+iML5ChULzz6iw1Ok8iUBBsRCjY2IEbD8Ft4w==} + '@inquirer/core@9.2.1': + resolution: {integrity: sha512-F2VBt7W/mwqEU4bL0RnHNZmC/OxzNx9cOYxHqnXX3MP6ruYvZUZAW9imgN9+h/uBT/oP8Gh888J2OZSbjSeWcg==} + engines: {node: '>=18'} + + '@inquirer/figures@1.0.6': + resolution: {integrity: sha512-yfZzps3Cso2UbM7WlxKwZQh2Hs6plrbjs1QnzQDZhK2DgyCo6D8AaHps9olkNcUFlcYERMqU3uJSp1gmy3s/qQ==} engines: {node: '>=18'} - '@inquirer/figures@1.0.5': - resolution: {integrity: sha512-79hP/VWdZ2UVc9bFGJnoQ/lQMpL74mGgzSYX1xUqCVk7/v73vJCMw1VuyWN1jGkZ9B3z7THAbySqGbCNefcjfA==} + '@inquirer/type@1.5.5': + resolution: {integrity: sha512-MzICLu4yS7V8AA61sANROZ9vT1H3ooca5dSmI1FjZkzq7o/koMsRfQSzRtFo+F3Ao4Sf1C0bpLKejpKB/+j6MA==} engines: {node: '>=18'} - '@inquirer/type@1.5.3': - resolution: {integrity: sha512-xUQ14WQGR/HK5ei+2CvgcwoH9fQ4PgPGmVFSN0pc1+fVyDL3MREhyAY7nxEErSu6CkllBM3D7e3e+kOvtu+eIg==} + '@inquirer/type@2.0.0': + resolution: {integrity: sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==} engines: {node: '>=18'} '@internationalized/date@3.5.5': @@ -3070,23 +3073,29 @@ packages: resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true - '@module-federation/bridge-react-webpack-plugin@0.2.6': - resolution: {integrity: sha512-AVpUEqZesRF4MJivq8bgYZOJaGccvD2CT4uBdsnTfLy3JZumi3v+l6A6LzxLWMOVroHN9KZ9JjfOWz/mCKAI2w==} + '@module-federation/bridge-react-webpack-plugin@0.6.6': + resolution: {integrity: sha512-NANaSOKem+1t/Fbd1GjXnStJRe7O33ya+FR/yYkTUd1H5hmlzVDNo/lYxYuUl3O/gH9Lnlr2Gf9unyWoIW0wHw==} + + '@module-federation/data-prefetch@0.6.6': + resolution: {integrity: sha512-rakEHrg2pqbOqJ3uWT2p3kgTCOxBQdEIqmew3XBAXTZ0NblZtkXeMHupcW/W6+ccvbPdn/T/PSICx9HHSvfEVg==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' - '@module-federation/dts-plugin@0.2.6': - resolution: {integrity: sha512-I086OwfTaIoVrH/SZ0pMFEJFQ1PvE04a8ggrsB1qu1mJ38Rb7r/OgD4zv8qomYa7oLf7BEPDHQ2I1N9RqzKssA==} + '@module-federation/dts-plugin@0.6.6': + resolution: {integrity: sha512-sNCghGgrpCOOVk2xpzgAGAFeo2ONcv6eAnEfe7Q2gD7R6NrGgOrB5KVhN/uWIzFJG8tqNfSSjam+woTyrrayfg==} peerDependencies: typescript: ^4.9.0 || ^5.0.0 - vue-tsc: ^1.0.24 + vue-tsc: '>=1.0.24' peerDependenciesMeta: vue-tsc: optional: true - '@module-federation/enhanced@0.2.6': - resolution: {integrity: sha512-8RWNx9a50FkG+l2cux8prIzIt26RFku4sGdTF6wGnlUtvRLkgzhr17GxXPX1pEwq64kjdRD3+3QmZrne8XCPZA==} + '@module-federation/enhanced@0.6.6': + resolution: {integrity: sha512-gGU1tjaksk5Q5X2zpVb/OmlwvKwVVjTXreuFwkK0Z+9QKM9jbu0B/tPSh6sqibPFeu1yM2HOFlOHJhvFs1PmsA==} peerDependencies: typescript: ^4.9.0 || ^5.0.0 - vue-tsc: ^1.0.24 + vue-tsc: '>=1.0.24' webpack: ^5.0.0 peerDependenciesMeta: typescript: @@ -3096,36 +3105,40 @@ packages: webpack: optional: true - '@module-federation/managers@0.2.6': - resolution: {integrity: sha512-zg8nwAIMkO9SrQbf78Pxtb3fmABSpauDxtmTUQxNVE1PD6DnF83Ph7z4B6F2IbblfP8SijgxKrdOF5bh/5t9GQ==} - - '@module-federation/manifest@0.2.6': - resolution: {integrity: sha512-mhQvbmewAQHmEsocAqWIxAJdhvTJ0Y+1mDBLHIhXaz7ToXxFtO6rbnTJ5A+iTqqLKSUPrjhtNqffr3wkDHn9Sg==} + '@module-federation/managers@0.6.6': + resolution: {integrity: sha512-ryj2twbQmo2KhwKn1xYivpaW94l5wfplDU9FwVvW0wc8hC2lJnuGhoiZqXKL7lNaBrZXge3b43Zlgx5OnFfr6A==} - '@module-federation/rspack@0.2.6': - resolution: {integrity: sha512-iAVFUtLo4G7S5RQkq3ov/816dNIV1bOUgIU8+1lSZx3eHSveRmndZ/+4fAwBwgYJd98X4LschCqN/lr6IcQ1rQ==} + '@module-federation/manifest@0.6.6': + resolution: {integrity: sha512-45ol0fC8RS2d+0iEt5zdp0vctE2CiOfA2kCmOFz79K33occi8sKmyevfSeZGckZy54NiMnLFteIYBsyIa+g7gg==} - '@module-federation/runtime-tools@0.2.6': - resolution: {integrity: sha512-L7ovmhPn+cx/VY3J042KpmcZzu0h3VNtZRoQ1dmP+oKRtbKtvKTXiUH2MTbwMd6p4e9bVdwdXVXUK5zR1o3V7A==} + '@module-federation/rspack@0.6.6': + resolution: {integrity: sha512-30X6QPrJ/eCcmUL4GQ06Z9bQwURBnJI0607Fw2ufmAbhDA0PJFtg7NFFfXzsdChms1ACVbgvgfBH8SJg8j3wBg==} + peerDependencies: + typescript: ^4.9.0 || ^5.0.0 + vue-tsc: '>=1.0.24' + peerDependenciesMeta: + typescript: + optional: true + vue-tsc: + optional: true - '@module-federation/runtime@0.2.6': - resolution: {integrity: sha512-G0vIZC6H5cmAa71vu7163CmnYFoZ5rAUDqYqQMMFLJ7ndw+QtrB3FLkgG99Smr+HTZECpt3s8HX7A40eHhTRUA==} + '@module-federation/runtime-tools@0.6.6': + resolution: {integrity: sha512-w2qHa41p6rADWMS1yBjpqNhaLZ4R5oRy9OYGPe6ywjh+8oqbiBl1CfQglcgEBIpHktEjV/upsgsnjHSdJBdeZw==} - '@module-federation/sdk@0.2.6': - resolution: {integrity: sha512-PvMWzEILKRKrmB3olRWNTfCJVoNHbDMa1l3/mE4eZUlerTjeP+H5QIxHXstFz7679WZ1Cq/cMrku/L+jP6NXxw==} + '@module-federation/runtime@0.6.6': + resolution: {integrity: sha512-QsKHUV2HALRzL6mPCdJEZTDuPReKC8MMXf+/VMCtQPp6JhLEjZIO06bfEZqXMbTbTYlMzntIwu1tGCbtJRZDOQ==} - '@module-federation/third-party-dts-extractor@0.2.6': - resolution: {integrity: sha512-ro2fFJbGTNHmxreVhugC5ju8GGJZGFVayKqDrrRLjj600gt8vDDnwkqQPuNyc37w7eIHP06Y2ixzkk3FvW3paA==} + '@module-federation/sdk@0.6.6': + resolution: {integrity: sha512-tUv2kPi0FvplcpGi/g4nITAYVAR1RUZ6QvP71T8inmRZSrfcvk1QpGJiL36IjuS67SM3VAoXS0iJ2WX1Rgjvhg==} - '@module-federation/webpack-bundler-runtime@0.2.6': - resolution: {integrity: sha512-OEhoQr6OZxHfO/ZNuLqNF6THAXqP3WSySajW/oDmX20MGaFOXFCldeDOQz7+Kqaio5sICHWnhXKbNfR7/+686A==} + '@module-federation/third-party-dts-extractor@0.6.6': + resolution: {integrity: sha512-xX9p17PpElzATNEulwlJJT731xST7T7OUIDSkkIghp/ICDmZd6WhYJvNBto7xbpaj5SIB7Ocdj4chNGv0xdYPw==} - '@mswjs/cookies@1.1.1': - resolution: {integrity: sha512-W68qOHEjx1iD+4VjQudlx26CPIoxmIAtK4ZCexU0/UJBG6jYhcuyzKJx+Iw8uhBIGd9eba64XgWVgo20it1qwA==} - engines: {node: '>=18'} + '@module-federation/webpack-bundler-runtime@0.6.6': + resolution: {integrity: sha512-0UnY9m1fBgHwTpacYWbht1jB5X4Iqspiu1q8kfjUrv6y+R224//ydUFYYO8xfWx4V9SGQFKlU8XFH0FP/r0Hng==} - '@mswjs/interceptors@0.29.1': - resolution: {integrity: sha512-3rDakgJZ77+RiQUuSK69t1F0m8BQKA8Vh5DCS5V0DWvNY67zob2JhhQrhCO0AKLGINTRSFd1tBaHcJTkhefoSw==} + '@mswjs/interceptors@0.35.8': + resolution: {integrity: sha512-PFfqpHplKa7KMdoQdj5td03uG05VK2Ng1dG0sP4pT9h0dGSX2v9txYt/AnrzPb/vAmfyBBC0NQV7VaBEX+efgQ==} engines: {node: '>=18'} '@netlify/binary-info@1.0.0': @@ -3135,13 +3148,17 @@ packages: resolution: {integrity: sha512-7rdPzo8bggt3D2CVO+U1rmEtxxs8X7cLusDbHZRJaMlxqxBD05mXgThj5DUJMFOvmfVjhEH/S/3AyiLUbDQGDg==} engines: {node: ^14.16.0 || >=16.0.0} - '@netlify/build-info@7.14.1': - resolution: {integrity: sha512-0FhHK8+v80pDt0hkN4s5+sFUL5OF8bVU4bqwqDx04NiSQ/jOUSwCZ70F5MHkbvjuqf4RoP0vVKqrvIB3EP0wyA==} + '@netlify/blobs@8.0.1': + resolution: {integrity: sha512-IrZHVqillU0x12eDbsap4Ba6poi+4IdVCYjZa+tA0eD95TaSbSqfw1zNkO27MiKw0pOjPB6+RXFK4pdfOs/qUQ==} + engines: {node: ^14.16.0 || >=16.0.0} + + '@netlify/build-info@7.14.3': + resolution: {integrity: sha512-HUYHll4I/5aus/mmmiALOWuYwjvSGLD+KxHROBTNVO5D9i1HNXbIvYCtInBYX+xwoXCwqQuXWwHXTAfusXT3Sw==} engines: {node: ^14.16.0 || >=16.0.0} hasBin: true - '@netlify/build@29.51.3': - resolution: {integrity: sha512-bHnQLeMv6yHsENU9HQw1JQ+I4RikgjIiqtWo5pPgLAt0ktm+UH+5eFrPZ61zdkSwqMWup06364+wUqTlj4q1hQ==} + '@netlify/build@29.54.4': + resolution: {integrity: sha512-fblSp3ic7reMyIr11L9TKQhT550HihL11xMounQshQ/dnkv8t9Ch0kWNqEhwyxsc3r/jiEdX9Ywd1xi6wm4qJw==} engines: {node: ^14.16.0 || >=16.0.0} hasBin: true peerDependencies: @@ -3155,13 +3172,13 @@ packages: resolution: {integrity: sha512-0K1+5umxENy9H3CC+v5qGQbeTmKv/PBAhOxPKK6GPykOVa7OxT26KGMU7Jozo6pVNeLPJUvCCMw48ycwtQ1fvw==} engines: {node: ^14.16.0 || >=16.0.0} - '@netlify/config@20.17.1': - resolution: {integrity: sha512-uZuEYooSWVnyx54AdLwPd7mgHy/PrWjHvPy5AO0ApPYsokNVceuk7NX6xqkD0CuGwcc5K9oRQx91XDWQoWd2zQ==} + '@netlify/config@20.19.0': + resolution: {integrity: sha512-vkqTQ7jaudPSRME6ZzYml6qRWxIJXnUQ8csqOSx5Yv0ysj1zb2l+Ke3c5bc6Cttkg4ay2YLx4M0/7n6nT3KojQ==} engines: {node: ^14.16.0 || >=16.0.0} hasBin: true - '@netlify/edge-bundler@12.2.2': - resolution: {integrity: sha512-esaM7H/lViceghUR84ZTuNk3VkeVNy2BaCeV+/nWHFOXbEpMmlNML31hJswk79QRztV2XO1oLWu8PxtmURd7DA==} + '@netlify/edge-bundler@12.2.3': + resolution: {integrity: sha512-o/Od4gvGT2qPSjJ1TSh8KYDJHfzxW4iemA5DiZtXIDgaIvWgvehZKDROp9wJ2FseP2F83y4ZDmt5xFfBSD9IYQ==} engines: {node: ^14.16.0 || >=16.0.0} '@netlify/edge-functions@2.9.0': @@ -3171,8 +3188,8 @@ packages: resolution: {integrity: sha512-ZZXCggokY/y5Sz93XYbl/Lig1UAUSWPMBiQRpkVfbrrkjmW2ZPkYS/BgrM2/MxwXRvYhc/TQpZX6y5JPe3quQg==} engines: {node: ^14.14.0 || >=16.0.0} - '@netlify/functions-utils@5.2.80': - resolution: {integrity: sha512-EOHoxVWgX5ykyOh3BCTuLQsgCKpCQxpHWuQw/fvyT9PKpLwpHKgYGkOxEMWRYs6z15gbMYSIOnyZgq6D0L/T9w==} + '@netlify/functions-utils@5.2.83': + resolution: {integrity: sha512-ZWItQ4yaVN/15tXTOFv+mOjcS8aEygGS/GGNOUIT+FZsWc5IKFKslr7WsVlwwixoPCDCMSwZtaLuX+FbPVFo1w==} engines: {node: ^14.16.0 || >=16.0.0} '@netlify/git-utils@5.1.1': @@ -3276,17 +3293,12 @@ packages: resolution: {integrity: sha512-V2B8ZB19heVKa715uOeDkztxLH7uaqZ+9U5fV7BRzbQ2514DO5Vxj9hG0irzuRLfZXZZjp/chPUesv4VVsce/A==} engines: {node: ^14.16.0 || >=16.0.0} - '@netlify/serverless-functions-api@1.23.0': - resolution: {integrity: sha512-0SwlMeqcwPzvRgE6aJczAiEz27hXl4thd46PECN3bX3FvAEuqpSTjQefuF3PEycdnWhCvTAKe1OW+Uv7ZT3pug==} + '@netlify/serverless-functions-api@1.24.0': + resolution: {integrity: sha512-W5LL8EJaZWmPXtjk99C/C6HOEtkQvtBgScQIVNgYPjATyGnYWo8KqJJ45zKxsLuby7jO1+YsRijBJm0nNRR3Nw==} engines: {node: '>=18.0.0'} - '@netlify/zip-it-and-ship-it@9.37.7': - resolution: {integrity: sha512-d6PLXNFSjV5Q+maUMpyJeDybS1r8b6c7/qrIFPDpDioLnyxU97ur2gQ2cxn5WrlY0gfzLInRR7ipAa7MXdT3BQ==} - engines: {node: ^14.18.0 || >=16.0.0} - hasBin: true - - '@netlify/zip-it-and-ship-it@9.38.1': - resolution: {integrity: sha512-aBfrQTT2HvHkU68vwcG1ej+GcILwrhB7jy0+eJ6EoW+bCVaDVMI7Vz21h3TLpWzzUwZwp34HnJKpfRer79FDMQ==} + '@netlify/zip-it-and-ship-it@9.39.2': + resolution: {integrity: sha512-vTEUxRIXsxnDDHnycw8wYmx5IhZp0J5s1d5ZZevnjOI9ozHoP4DKEU6EMnGyioQxyVwYRJOZjbY1fOL+ZEU7Rg==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -3318,8 +3330,8 @@ packages: resolution: {integrity: sha512-pwK+BfEBZJbKdNYpHHRTNBwBoqrN/iIMO0AiGvYsp3Hoaq0WbgGSWQR6SCldZovoDpY3yje5lkFUe6gsDgJ2vg==} 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': @@ -3541,11 +3553,6 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - '@react-aria/landmark@3.0.0-beta.12': - resolution: {integrity: sha512-xCAYw0cxn115ZaTXyGXALW2Jebm56s7oX/R0/REubiHwkuDSRxRnYXbaaHxGXNsJWex5LGIZbUYaumGjGrzOnw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-aria/landmark@3.0.0-beta.15': resolution: {integrity: sha512-EEABy0IFzqoS7r11HoD2YwiGR5LFw4kWDFTFUFwJkRP5tHEzsrEgkKPSPJXScQr5m7tenV6j0/Zzl1+w1ki3lA==} peerDependencies: @@ -3557,11 +3564,6 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - '@react-aria/toast@3.0.0-beta.12': - resolution: {integrity: sha512-cNchqcvK+WJ+CTMzXBk8GzlsqEUUtbyLxz4BUgKHzysac50uhpbjdYbb+5cKetEaU6/wJ75VECk35wiLYkc16w==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-aria/toast@3.0.0-beta.15': resolution: {integrity: sha512-bg6ZXq4B5JYVt3GXVlf075tQOakcfumbDLnUMaijez4BhacuxF01+IvBPzAVEsARVNXfELoXa7Frb2K54Wgvtw==} peerDependencies: @@ -3572,11 +3574,6 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - '@react-stately/toast@3.0.0-beta.4': - resolution: {integrity: sha512-YzEyFNAAQqZ+7pZpRiejotxDzp5CHagN21btVGGwU2jHu/oQRR+todtB3wADAp7EF5lfAlAsLABiD9ZNWQeDTw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-stately/toast@3.0.0-beta.5': resolution: {integrity: sha512-MEdQwcKsexlcJ4YQZ9cN5QSIqTlGGdgC5auzSKXXoq15DHuo4mtHfLzXPgcMDYOhOdmyphMto8Vt+21UL2FOrw==} peerDependencies: @@ -3597,91 +3594,91 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - '@remix-run/router@1.18.0': - resolution: {integrity: sha512-L3jkqmqoSVBVKHfpGZmLrex0lxR5SucGA0sUfFzGctehw+S/ggL9L/0NnC5mw6P8HUWpFZ3nQw3cRApjjWx9Sw==} + '@remix-run/router@1.19.2': + resolution: {integrity: sha512-baiMx18+IMuD1yyvOGaHM9QrVUPGGG0jC+z+IPHnRJWUAUvaKuWKyE8gjDj2rzv3sz9zOGoRSPgeBVHRhZnBlA==} engines: {node: '>=14.0.0'} '@rollup/pluginutils@4.2.1': resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} engines: {node: '>= 8.0.0'} - '@rollup/rollup-android-arm-eabi@4.21.2': - resolution: {integrity: sha512-fSuPrt0ZO8uXeS+xP3b+yYTCBUd05MoSp2N/MFOgjhhUhMmchXlpTQrTpI8T+YAwAQuK7MafsCOxW7VrPMrJcg==} + '@rollup/rollup-android-arm-eabi@4.22.2': + resolution: {integrity: sha512-8Ao+EDmTPjZ1ZBABc1ohN7Ylx7UIYcjReZinigedTOnGFhIctyGPxY2II+hJ6gD2/vkDKZTyQ0e7++kwv6wDrw==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.21.2': - resolution: {integrity: sha512-xGU5ZQmPlsjQS6tzTTGwMsnKUtu0WVbl0hYpTPauvbRAnmIvpInhJtgjj3mcuJpEiuUw4v1s4BimkdfDWlh7gA==} + '@rollup/rollup-android-arm64@4.22.2': + resolution: {integrity: sha512-I+B1v0a4iqdS9DvYt1RJZ3W+Oh9EVWjbY6gp79aAYipIbxSLEoQtFQlZEnUuwhDXCqMxJ3hluxKAdPD+GiluFQ==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.21.2': - resolution: {integrity: sha512-99AhQ3/ZMxU7jw34Sq8brzXqWH/bMnf7ZVhvLk9QU2cOepbQSVTns6qoErJmSiAvU3InRqC2RRZ5ovh1KN0d0Q==} + '@rollup/rollup-darwin-arm64@4.22.2': + resolution: {integrity: sha512-BTHO7rR+LC67OP7I8N8GvdvnQqzFujJYWo7qCQ8fGdQcb8Gn6EQY+K1P+daQLnDCuWKbZ+gHAQZuKiQkXkqIYg==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.21.2': - resolution: {integrity: sha512-ZbRaUvw2iN/y37x6dY50D8m2BnDbBjlnMPotDi/qITMJ4sIxNY33HArjikDyakhSv0+ybdUxhWxE6kTI4oX26w==} + '@rollup/rollup-darwin-x64@4.22.2': + resolution: {integrity: sha512-1esGwDNFe2lov4I6GsEeYaAMHwkqk0IbuGH7gXGdBmd/EP9QddJJvTtTF/jv+7R8ZTYPqwcdLpMTxK8ytP6k6Q==} cpu: [x64] os: [darwin] - '@rollup/rollup-linux-arm-gnueabihf@4.21.2': - resolution: {integrity: sha512-ztRJJMiE8nnU1YFcdbd9BcH6bGWG1z+jP+IPW2oDUAPxPjo9dverIOyXz76m6IPA6udEL12reYeLojzW2cYL7w==} + '@rollup/rollup-linux-arm-gnueabihf@4.22.2': + resolution: {integrity: sha512-GBHuY07x96OTEM3OQLNaUSUwrOhdMea/LDmlFHi/HMonrgF6jcFrrFFwJhhe84XtA1oK/Qh4yFS+VMREf6dobg==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.21.2': - resolution: {integrity: sha512-flOcGHDZajGKYpLV0JNc0VFH361M7rnV1ee+NTeC/BQQ1/0pllYcFmxpagltANYt8FYf9+kL6RSk80Ziwyhr7w==} + '@rollup/rollup-linux-arm-musleabihf@4.22.2': + resolution: {integrity: sha512-Dbfa9Sc1G1lWxop0gNguXOfGhaXQWAGhZUcqA0Vs6CnJq8JW/YOw/KvyGtQFmz4yDr0H4v9X248SM7bizYj4yQ==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.21.2': - resolution: {integrity: sha512-69CF19Kp3TdMopyteO/LJbWufOzqqXzkrv4L2sP8kfMaAQ6iwky7NoXTp7bD6/irKgknDKM0P9E/1l5XxVQAhw==} + '@rollup/rollup-linux-arm64-gnu@4.22.2': + resolution: {integrity: sha512-Z1YpgBvFYhZIyBW5BoopwSg+t7yqEhs5HCei4JbsaXnhz/eZehT18DaXl957aaE9QK7TRGFryCAtStZywcQe1A==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.21.2': - resolution: {integrity: sha512-48pD/fJkTiHAZTnZwR0VzHrao70/4MlzJrq0ZsILjLW/Ab/1XlVUStYyGt7tdyIiVSlGZbnliqmult/QGA2O2w==} + '@rollup/rollup-linux-arm64-musl@4.22.2': + resolution: {integrity: sha512-66Zszr7i/JaQ0u/lefcfaAw16wh3oT72vSqubIMQqWzOg85bGCPhoeykG/cC5uvMzH80DQa2L539IqKht6twVA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.21.2': - resolution: {integrity: sha512-cZdyuInj0ofc7mAQpKcPR2a2iu4YM4FQfuUzCVA2u4HI95lCwzjoPtdWjdpDKyHxI0UO82bLDoOaLfpZ/wviyQ==} + '@rollup/rollup-linux-powerpc64le-gnu@4.22.2': + resolution: {integrity: sha512-HpJCMnlMTfEhwo19bajvdraQMcAq3FX08QDx3OfQgb+414xZhKNf3jNvLFYKbbDSGBBrQh5yNwWZrdK0g0pokg==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.21.2': - resolution: {integrity: sha512-RL56JMT6NwQ0lXIQmMIWr1SW28z4E4pOhRRNqwWZeXpRlykRIlEpSWdsgNWJbYBEWD84eocjSGDu/XxbYeCmwg==} + '@rollup/rollup-linux-riscv64-gnu@4.22.2': + resolution: {integrity: sha512-/egzQzbOSRef2vYCINKITGrlwkzP7uXRnL+xU2j75kDVp3iPdcF0TIlfwTRF8woBZllhk3QaxNOEj2Ogh3t9hg==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.21.2': - resolution: {integrity: sha512-PMxkrWS9z38bCr3rWvDFVGD6sFeZJw4iQlhrup7ReGmfn7Oukrr/zweLhYX6v2/8J6Cep9IEA/SmjXjCmSbrMQ==} + '@rollup/rollup-linux-s390x-gnu@4.22.2': + resolution: {integrity: sha512-qgYbOEbrPfEkH/OnUJd1/q4s89FvNJQIUldx8X2F/UM5sEbtkqZpf2s0yly2jSCKr1zUUOY1hnTP2J1WOzMAdA==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.21.2': - resolution: {integrity: sha512-B90tYAUoLhU22olrafY3JQCFLnT3NglazdwkHyxNDYF/zAxJt5fJUB/yBoWFoIQ7SQj+KLe3iL4BhOMa9fzgpw==} + '@rollup/rollup-linux-x64-gnu@4.22.2': + resolution: {integrity: sha512-a0lkvNhFLhf+w7A95XeBqGQaG0KfS3hPFJnz1uraSdUe/XImkp/Psq0Ca0/UdD5IEAGoENVmnYrzSC9Y2a2uKQ==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.21.2': - resolution: {integrity: sha512-7twFizNXudESmC9oneLGIUmoHiiLppz/Xs5uJQ4ShvE6234K0VB1/aJYU3f/4g7PhssLGKBVCC37uRkkOi8wjg==} + '@rollup/rollup-linux-x64-musl@4.22.2': + resolution: {integrity: sha512-sSWBVZgzwtsuG9Dxi9kjYOUu/wKW+jrbzj4Cclabqnfkot8Z3VEHcIgyenA3lLn/Fu11uDviWjhctulkhEO60g==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.21.2': - resolution: {integrity: sha512-9rRero0E7qTeYf6+rFh3AErTNU1VCQg2mn7CQcI44vNUWM9Ze7MSRS/9RFuSsox+vstRt97+x3sOhEey024FRQ==} + '@rollup/rollup-win32-arm64-msvc@4.22.2': + resolution: {integrity: sha512-t/YgCbZ638R/r7IKb9yCM6nAek1RUvyNdfU0SHMDLOf6GFe/VG1wdiUAsxTWHKqjyzkRGg897ZfCpdo1bsCSsA==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.21.2': - resolution: {integrity: sha512-5rA4vjlqgrpbFVVHX3qkrCo/fZTj1q0Xxpg+Z7yIo3J2AilW7t2+n6Q8Jrx+4MrYpAnjttTYF8rr7bP46BPzRw==} + '@rollup/rollup-win32-ia32-msvc@4.22.2': + resolution: {integrity: sha512-kTmX5uGs3WYOA+gYDgI6ITkZng9SP71FEMoHNkn+cnmb9Zuyyay8pf0oO5twtTwSjNGy1jlaWooTIr+Dw4tIbw==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.21.2': - resolution: {integrity: sha512-6UUxd0+SKomjdzuAcp+HAmxw1FlGBnl1v2yEPSabtx4lBfdXHDVsW7+lQkgz9cNFJGY3AWR7+V8P5BqkD9L9nA==} + '@rollup/rollup-win32-x64-msvc@4.22.2': + resolution: {integrity: sha512-Yy8So+SoRz8I3NS4Bjh91BICPOSVgdompTIPYTByUqU66AXSIOgmW3Lv1ke3NORPqxdF+RdrZET+8vYai6f4aA==} cpu: [x64] os: [win32] @@ -3795,68 +3792,68 @@ packages: resolution: {integrity: sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==} engines: {node: '>=14'} - '@swc/core-darwin-arm64@1.7.0': - resolution: {integrity: sha512-2ylhM7f0HwUwLrFYZAe/dse8PCbPsYcJS3Dt7Q8NT3PUn7vy6QOMxNcOPPuDrnmaXqQQO3oxdmRapguTxaat9g==} + '@swc/core-darwin-arm64@1.7.26': + resolution: {integrity: sha512-FF3CRYTg6a7ZVW4yT9mesxoVVZTrcSWtmZhxKCYJX9brH4CS/7PRPjAKNk6kzWgWuRoglP7hkjQcd6EpMcZEAw==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] - '@swc/core-darwin-x64@1.7.0': - resolution: {integrity: sha512-SgVnN4gT1Rb9YfTkp4FCUITqSs7Yj0uB2SUciu5CV3HuGvS5YXCUzh+KrwpLFtx8NIgivISKcNnb41mJi98X8Q==} + '@swc/core-darwin-x64@1.7.26': + resolution: {integrity: sha512-az3cibZdsay2HNKmc4bjf62QVukuiMRh5sfM5kHR/JMTrLyS6vSw7Ihs3UTkZjUxkLTT8ro54LI6sV6sUQUbLQ==} engines: {node: '>=10'} cpu: [x64] os: [darwin] - '@swc/core-linux-arm-gnueabihf@1.7.0': - resolution: {integrity: sha512-+Z9Dayart1iKJQEJJ9N/KS4z5EdXJE3WPFikY0jonKTo4Dd8RuyVz5yLvqcIMeVdz/SwximATaL6iJXw7hZS9A==} + '@swc/core-linux-arm-gnueabihf@1.7.26': + resolution: {integrity: sha512-VYPFVJDO5zT5U3RpCdHE5v1gz4mmR8BfHecUZTmD2v1JeFY6fv9KArJUpjrHEEsjK/ucXkQFmJ0jaiWXmpOV9Q==} engines: {node: '>=10'} cpu: [arm] os: [linux] - '@swc/core-linux-arm64-gnu@1.7.0': - resolution: {integrity: sha512-UnLrCiZ1EI4shznJn0xP6DLgsXUSwtfsdgHhGYCrvbgVBBve3S9iFgVFEB3SPl7Q/TdowNbrN4zHU0oChfiNfw==} + '@swc/core-linux-arm64-gnu@1.7.26': + resolution: {integrity: sha512-YKevOV7abpjcAzXrhsl+W48Z9mZvgoVs2eP5nY+uoMAdP2b3GxC0Df1Co0I90o2lkzO4jYBpTMcZlmUXLdXn+Q==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-arm64-musl@1.7.0': - resolution: {integrity: sha512-H724UANA+ptsfwKRr9mnaDa9cb5fw0oFysiGKTgb3DMYcgk3Od0jMTnXVPFSVpo7FlmyxeC9K8ueUPBOoOK6XA==} + '@swc/core-linux-arm64-musl@1.7.26': + resolution: {integrity: sha512-3w8iZICMkQQON0uIcvz7+Q1MPOW6hJ4O5ETjA0LSP/tuKqx30hIniCGOgPDnv3UTMruLUnQbtBwVCZTBKR3Rkg==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-x64-gnu@1.7.0': - resolution: {integrity: sha512-SY3HA0K0Dpqt1HIfMLGpwL4hd4UaL2xHP5oZXPlRQPhUDZrbb4PbI3ZJnh66c63eL4ZR8EJ+HRFI0Alx5p69Zw==} + '@swc/core-linux-x64-gnu@1.7.26': + resolution: {integrity: sha512-c+pp9Zkk2lqb06bNGkR2Looxrs7FtGDMA4/aHjZcCqATgp348hOKH5WPvNLBl+yPrISuWjbKDVn3NgAvfvpH4w==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-linux-x64-musl@1.7.0': - resolution: {integrity: sha512-cEJ2ebtV1v/5Ilb55E05J6F5SrHKQWzUttIhR5Mkayyo+yvPslcpByuFC3D+J7X1ebziTOBpWuMpUdjLfh3SMQ==} + '@swc/core-linux-x64-musl@1.7.26': + resolution: {integrity: sha512-PgtyfHBF6xG87dUSSdTJHwZ3/8vWZfNIXQV2GlwEpslrOkGqy+WaiiyE7Of7z9AvDILfBBBcJvJ/r8u980wAfQ==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-win32-arm64-msvc@1.7.0': - resolution: {integrity: sha512-ecQOOmzEssz+m0pR4xDYCGuvn3E/l0nQ3tk5jp1NA1lsAy4bMV0YbYCHjptYvWL/UjhIerIp3IlCJ8x5DodSog==} + '@swc/core-win32-arm64-msvc@1.7.26': + resolution: {integrity: sha512-9TNXPIJqFynlAOrRD6tUQjMq7KApSklK3R/tXgIxc7Qx+lWu8hlDQ/kVPLpU7PWvMMwC/3hKBW+p5f+Tms1hmA==} engines: {node: '>=10'} cpu: [arm64] os: [win32] - '@swc/core-win32-ia32-msvc@1.7.0': - resolution: {integrity: sha512-gz81seZkRn3zMnVOc7L5k6F4vQC82gIxmHiL+GedK+A37XI/X26AASU3zxvORnqQbwQYXQ+AEVckxBmFlz3v2g==} + '@swc/core-win32-ia32-msvc@1.7.26': + resolution: {integrity: sha512-9YngxNcG3177GYdsTum4V98Re+TlCeJEP4kEwEg9EagT5s3YejYdKwVAkAsJszzkXuyRDdnHUpYbTrPG6FiXrQ==} engines: {node: '>=10'} cpu: [ia32] os: [win32] - '@swc/core-win32-x64-msvc@1.7.0': - resolution: {integrity: sha512-b5Fd1xEOw9uqBpj2lqsaR4Iq9UhiL84hNDcEsi6DQA7Y1l85waQAslTbS0E4/pJ1PISAs0jW0zIGLco1eaWBOg==} + '@swc/core-win32-x64-msvc@1.7.26': + resolution: {integrity: sha512-VR+hzg9XqucgLjXxA13MtV5O3C0bK0ywtLIBw/+a+O+Oc6mxFWHtdUeXDbIi5AiPbn0fjgVJMqYnyjGyyX8u0w==} engines: {node: '>=10'} cpu: [x64] os: [win32] - '@swc/core@1.7.0': - resolution: {integrity: sha512-d4vMzH6ICllDwlPuhset2h8gu/USHdbyfJim+2hQEdxC0UONtfpmu38XBgNqRjStrji1Q5M10jfeUZL3cu1i8g==} + '@swc/core@1.7.26': + resolution: {integrity: sha512-f5uYFf+TmMQyYIoxkn/evWhNGuUzC730dFwAKGwBVHHVoPyak1/GvJUm6i1SKl+2Hrj9oN0i3WSoWWZ4pgI8lw==} engines: {node: '>=10'} peerDependencies: '@swc/helpers': '*' @@ -3867,8 +3864,8 @@ packages: '@swc/counter@0.1.3': resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} - '@swc/helpers@0.5.12': - resolution: {integrity: sha512-KMZNXiGibsW9kvZAO1Pam2JPTDBm+KSHMMHWdsyI/1DbIZjT2A6Gy3hblVXUMEDvUAKq+e0vL0X0o54owWji7g==} + '@swc/helpers@0.5.13': + resolution: {integrity: sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==} '@swc/jest@0.2.36': resolution: {integrity: sha512-8X80dp81ugxs4a11z1ka43FPhP+/e+mJNXJSxiNYk8gIX/jPBtY4gQTrKu/KIoco8bzKuPI5lUxjfLiGsfvnlw==} @@ -3883,50 +3880,33 @@ packages: resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} engines: {node: '>=14.16'} - '@tanstack/query-core@5.51.9': - resolution: {integrity: sha512-HsAwaY5J19MD18ykZDS3aVVh+bAt0i7m6uQlFC2b77DLV9djo+xEN7MWQAQQTR8IM+7r/zbozTQ7P0xr0bHuew==} + '@tanstack/query-core@5.56.2': + resolution: {integrity: sha512-gor0RI3/R5rVV3gXfddh1MM+hgl0Z4G7tj6Xxpq6p2I03NGPaJ8dITY9Gz05zYYb/EJq9vPas/T4wn9EaDPd4Q==} - '@tanstack/query-devtools@5.51.9': - resolution: {integrity: sha512-FQqJynaEDuwQxoFLP3/i10HQwNYh4wxgs0NeSoL24BLWvpUdstgHqUm2zgwRov8Tmh5kjndPIWaXenwl0D47EA==} + '@tanstack/query-devtools@5.56.1': + resolution: {integrity: sha512-xnp9jq/9dHfSCDmmf+A5DjbIjYqbnnUL2ToqlaaviUQGRTapXQ8J+GxusYUu1IG0vZMaWdiVUA4HRGGZYAUU+A==} - '@tanstack/react-query-devtools@5.51.9': - resolution: {integrity: sha512-ztS5l75gV4xjDUFfEOtBfzcqW5vyfAQ2haWPpGMwq/Ha/3a4gaOE5DKntq+0+upWxUpp4SSvXXm6fMjV5miUcQ==} + '@tanstack/react-query-devtools@5.56.2': + resolution: {integrity: sha512-7nINJtRZZVwhTTyDdMIcSaXo+EHMLYJu1S2e6FskvvD5prx87LlAXXWZDfU24Qm4HjshEtM5lS3HIOszNGblcw==} peerDependencies: - '@tanstack/react-query': ^5.51.9 + '@tanstack/react-query': ^5.56.2 react: ^18 || ^19 - '@tanstack/react-query@5.51.9': - resolution: {integrity: sha512-F8j6i42wfKvFrRcxfOyFyYME+bPfNthAGOSkjdv4UwZZXJjnBnBs/yRQGT0bD23LVCTuBzlIfZ0GKSIyclZ9rQ==} + '@tanstack/react-query@5.56.2': + resolution: {integrity: sha512-SR0GzHVo6yzhN72pnRhkEFRAHMsUo5ZPzAxfTMvUxFIDVS6W9LYUp6nXW3fcHVdg0ZJl8opSH85jqahvm6DSVg==} peerDependencies: - react: ^18.0.0 + react: ^18 || ^19 '@testing-library/dom@10.4.0': resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==} engines: {node: '>=18'} - '@testing-library/jest-dom@6.4.6': - resolution: {integrity: sha512-8qpnGVincVDLEcQXWaHOf6zmlbwTKc6Us6PPu4CRnPXCzo2OGBS5cwgMMOWdxDpEz1mkbvXHpEy99M5Yvt682w==} + '@testing-library/jest-dom@6.5.0': + resolution: {integrity: sha512-xGGHpBXYSHUUr6XsKBfs85TWlYKpTc37cSBBVrXcib2MkHLboWlkClhWF37JKlDb9KEq3dHs+f2xR7XJEWGBxA==} engines: {node: '>=14', npm: '>=6', yarn: '>=1'} - peerDependencies: - '@jest/globals': '>= 28' - '@types/bun': latest - '@types/jest': '>= 28' - jest: '>= 28' - vitest: '>= 0.32' - peerDependenciesMeta: - '@jest/globals': - optional: true - '@types/bun': - optional: true - '@types/jest': - optional: true - jest: - optional: true - vitest: - optional: true - '@testing-library/react@16.0.0': - resolution: {integrity: sha512-guuxUKRWQ+FgNX0h0NS0FIq3Q3uLtWVpBzcLOggmfMoUpgBnzBzvLLd4fbm6yS8ydJd94cIfY4yP9qUQjM2KwQ==} + '@testing-library/react@16.0.1': + resolution: {integrity: sha512-dSmwJVtJXmku+iocRhWOUFbrERC76TX2Mnf0ATODz8brzAZrMBbzLwQixlBSanZxR6LddK3eiwpSFZgDET1URg==} engines: {node: '>=18'} peerDependencies: '@testing-library/dom': ^10.0.0 @@ -4002,18 +3982,15 @@ packages: '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} - '@types/eslint-scope@3.7.7': - resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} - - '@types/eslint@9.6.1': - resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} - '@types/estree-jsx@1.0.5': resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} '@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==} + '@types/express-serve-static-core@4.19.5': resolution: {integrity: sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==} @@ -4053,8 +4030,8 @@ packages: '@types/istanbul-reports@3.0.4': resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} - '@types/jest@29.5.12': - resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} + '@types/jest@29.5.13': + resolution: {integrity: sha512-wd+MVEZCHt23V0/L642O5APvspWply/rGY5BcW4SUETo2UzPU3Z26qr8jC2qxpimI2jjx9h7+2cj2FwIr01bXg==} '@types/jsdom@20.0.1': resolution: {integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==} @@ -4089,20 +4066,20 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@20.14.11': - resolution: {integrity: sha512-kprQpL8MMeszbz6ojB5/tU8PLN4kesnN8Gjzw349rDlNgsSzg90lAVj3llK99Dh7JON+t9AuscPPFW6mPbTnSA==} + '@types/node@20.16.5': + resolution: {integrity: sha512-VwYCweNo3ERajwy0IUlqqcyZ8/A7Zwa9ZP3MnENWcB11AejO+tLy3pu850goUW2FC/IJMdZUfKpX/yxL1gymCA==} - '@types/node@22.5.4': - resolution: {integrity: sha512-FDuKUJQm/ju9fT/SeX/6+gBzoPzlVCzfzmGkwKvRHQVxi4BntVbyIwf6a4Xn62mrvndLiml6z/UBXIdEVjQLXg==} + '@types/node@22.5.5': + resolution: {integrity: sha512-Xjs4y5UPO/CLdzpgR6GirZJx36yScjh73+2NlLlkFRSoQN8B0DpfXPdZGnvVmLRLOsqDpOfTNv7D9trgGhmOIA==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} - '@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/qs@6.9.15': - resolution: {integrity: sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==} + '@types/qs@6.9.16': + resolution: {integrity: sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==} '@types/range-parser@1.2.7': resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} @@ -4113,8 +4090,8 @@ packages: '@types/react-test-renderer@18.3.0': resolution: {integrity: sha512-HW4MuEYxfDbOHQsVlY/XtOvNHftCVEPhJF2pQXXwcUiUF+Oyb0usgp48HSgpK5rt8m9KZb22yqOeZm+rrVG8gw==} - '@types/react@18.3.3': - resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==} + '@types/react@18.3.8': + resolution: {integrity: sha512-syBUrW3/XpnW4WJ41Pft+I+aPoDVbrBVQGEnbD7NijDGlVC+8gV/XKRY+7vMDlfPpbwYt0l1vd/Sj8bJGMbs9Q==} '@types/retry@0.12.1': resolution: {integrity: sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==} @@ -4187,11 +4164,11 @@ packages: typescript: optional: true - '@typescript-eslint/parser@7.16.1': - resolution: {integrity: sha512-u+1Qx86jfGQ5i4JjK33/FnawZRpsLxRnKzGE6EABZ40KxVT/vWsiZFEBBHjFOljmmV3MBYOHEKi0Jm9hbAOClA==} - engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/parser@8.6.0': + resolution: {integrity: sha512-eQcbCuA2Vmw45iGfcyG4y6rS7BhWfz9MQuk409WD47qMM+bKCGQWXxvoOs1DUp+T7UBMTtRTVT+kXr7Sh4O9Ow==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.56.0 + eslint: ^8.57.0 || ^9.0.0 typescript: '*' peerDependenciesMeta: typescript: @@ -4201,14 +4178,14 @@ packages: resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@typescript-eslint/scope-manager@7.16.1': - resolution: {integrity: sha512-nYpyv6ALte18gbMz323RM+vpFpTjfNdyakbf3nsLvF43uF9KeNC289SUEW3QLZ1xPtyINJ1dIsZOuWuSRIWygw==} - engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/scope-manager@7.18.0': resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==} engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/scope-manager@8.6.0': + resolution: {integrity: sha512-ZuoutoS5y9UOxKvpc/GkvF4cuEmpokda4wRg64JEia27wX+PysIE9q+lzDtlHHgblwUWwo5/Qn+/WyTUvDwBHw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/type-utils@7.18.0': resolution: {integrity: sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==} engines: {node: ^18.18.0 || >=20.0.0} @@ -4223,14 +4200,14 @@ packages: resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@typescript-eslint/types@7.16.1': - resolution: {integrity: sha512-AQn9XqCzUXd4bAVEsAXM/Izk11Wx2u4H3BAfQVhSfzfDOm/wAON9nP7J5rpkCxts7E5TELmN845xTUCQrD1xIQ==} - engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/types@7.18.0': resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==} engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/types@8.6.0': + resolution: {integrity: sha512-rojqFZGd4MQxw33SrOy09qIDS8WEldM8JWtKQLAjf/X5mGSeEFh5ixQlxssMNyPslVIk9yzWqXCsV2eFhYrYUw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/typescript-estree@5.62.0': resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -4240,8 +4217,8 @@ packages: typescript: optional: true - '@typescript-eslint/typescript-estree@7.16.1': - resolution: {integrity: sha512-0vFPk8tMjj6apaAZ1HlwM8w7jbghC8jc1aRNJG5vN8Ym5miyhTQGMqU++kuBFDNKe9NcPeZ6x0zfSzV8xC1UlQ==} + '@typescript-eslint/typescript-estree@7.18.0': + resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: typescript: '*' @@ -4249,9 +4226,9 @@ packages: typescript: optional: true - '@typescript-eslint/typescript-estree@7.18.0': - resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==} - engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/typescript-estree@8.6.0': + resolution: {integrity: sha512-MOVAzsKJIPIlLK239l5s06YXjNqpKTVhBVDnqUumQJja5+Y94V3+4VUFRA0G60y2jNnTVwRCkhyGQpavfsbq/g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -4274,14 +4251,14 @@ packages: resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@typescript-eslint/visitor-keys@7.16.1': - resolution: {integrity: sha512-Qlzzx4sE4u3FsHTPQAAQFJFNOuqtuY0LFrZHwQ8IHK705XxBiWOFkfKRWu6niB7hwfgnwIpO4jTC75ozW1PHWg==} - engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/visitor-keys@7.18.0': resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==} engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/visitor-keys@8.6.0': + resolution: {integrity: sha512-wapVFfZg9H0qOYh4grNVQiMklJGluQrOUiOhYRrQWhx7BY/+I1IYb8BczWNbbUpO+pqy0rDciv3lQH5E1bCLrg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} @@ -4290,9 +4267,9 @@ packages: engines: {node: '>=16'} hasBin: true - '@voxpelli/semver-set@5.0.2': - resolution: {integrity: sha512-9FzdmgUi1yFTEdilUsg95wvZCN0dtqdslhWHZDCfX74ISs7vd1Gb3QgXcYPs7EqY5SEy18iZkDVoZ02HOrHkcQ==} - engines: {node: '>=16.0.0'} + '@voxpelli/semver-set@6.0.0': + resolution: {integrity: sha512-FC6UgwEA6k2dPK8SslOR0nKAW4fRB3d4shV3Jo9AEdUUdyWp3s8KgJPUJLpjcXz+hb+qaI8PhQcz/UH9oBMbUw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@voxpelli/type-helpers@3.4.0': resolution: {integrity: sha512-nDPbVFZ7y7aEMAVRC1LIllMMvwE5Qgd0z+cyd+K4z0NJ7LAjcjydhPw4RYAoYF3JzvZVpra/S0SRN/dCFE8E+A==} @@ -4677,6 +4654,10 @@ packages: aria-query@5.3.0: resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + aria-query@5.3.2: + resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} + engines: {node: '>= 0.4'} + array-buffer-byte-length@1.0.1: resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} engines: {node: '>= 0.4'} @@ -4830,17 +4811,17 @@ packages: bare-events@2.4.2: resolution: {integrity: sha512-qMKFd2qG/36aA4GwvKq8MxnPgCQAmBWmSyLWsJcbn8v03wvIPQ/hG1Ms8bPzndZxMDoHpxez5VOS+gC9Yi24/Q==} - bare-fs@2.3.3: - resolution: {integrity: sha512-7RYKL+vZVCyAsMLi5SPu7QGauGGT8avnP/HO571ndEuV4MYdGXvLhtW67FuLPeEI8EiIY7zbbRR9x7x7HU0kgw==} + bare-fs@2.3.5: + resolution: {integrity: sha512-SlE9eTxifPDJrT6YgemQ1WGFleevzwY+XAP1Xqgl56HtcrisC2CHCZ2tq6dBpcH2TnNxwUEUGhweo+lrQtYuiw==} - bare-os@2.4.2: - resolution: {integrity: sha512-HZoJwzC+rZ9lqEemTMiO0luOePoGYNBgsLLgegKR/cljiJvcDNhDZQkzC+NC5Oh0aHbdBNSOHpghwMuB5tqhjg==} + bare-os@2.4.4: + resolution: {integrity: sha512-z3UiI2yi1mK0sXeRdc4O1Kk8aOa/e+FNWZcTiPB/dfTWyLypuE99LibgRaQki914Jq//yAWylcAt+mknKdixRQ==} bare-path@2.1.3: resolution: {integrity: sha512-lh/eITfU8hrj9Ru5quUp0Io1kJWIk1bTjzo7JH1P5dWmQ2EL4hFUlfI8FonAhSlgIfhn63p84CDY/x+PisgcXA==} - bare-stream@2.2.1: - resolution: {integrity: sha512-YTB47kHwBW9zSG8LD77MIBAAQXjU2WjAkMHeeb7hUplVs6+IoM5I7uEVQNPMB7lj9r8I76UMdoMkGnCodHOLqg==} + bare-stream@2.3.0: + resolution: {integrity: sha512-pVRWciewGUeCyKEuRxwv06M079r+fRjAQjBEK2P6OYGrO43O+Z0LrPZZEjlc4mB6C2RpZ9AxJ1s7NLEtOHO6eA==} base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} @@ -4885,8 +4866,8 @@ packages: blueimp-md5@2.19.0: resolution: {integrity: sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==} - body-parser@1.20.2: - resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} + body-parser@1.20.3: + resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} bonjour-service@1.2.1: @@ -4909,11 +4890,6 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - browserslist@4.23.2: - resolution: {integrity: sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - browserslist@4.23.3: resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -5029,8 +5005,8 @@ packages: resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} engines: {node: '>=14.16'} - caniuse-lite@1.0.30001659: - resolution: {integrity: sha512-Qxxyfv3RdHAfJcXelgf0hU4DFUVXBGTjqrBUZLUh8AtlGnsDo+CnncYtTd95+ZKfnANUOzxyIQCuU/UeBZBYoA==} + caniuse-lite@1.0.30001662: + resolution: {integrity: sha512-sgMUVwLmGseH8ZIrm1d51UbrhqMCH3jvS7gF/M6byuHOnKyLOBL7W8yz5V02OHwgLGA36o/AFhWzzh4uc5aqTA==} ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -5136,6 +5112,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'} @@ -5257,8 +5237,8 @@ packages: resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} engines: {node: ^12.20.0 || >=14} - comment-json@4.2.3: - resolution: {integrity: sha512-SsxdiOf064DWoZLH799Ata6u7iV658A11PlWtZATDlXPpKGJnbJZ5Z24ybixAi+LUUqJ/GKowAejtC5GFUG7Tw==} + comment-json@4.2.5: + resolution: {integrity: sha512-bKw/r35jR3HGt5PEPm1ljsQQGyCrR8sFGNiN5L+ykDHdpO8Smxkrkla9Yi6NkQyUrb8V54PGhfMs6NrIwtxtdw==} engines: {node: '>= 6'} common-path-prefix@3.0.0: @@ -5333,8 +5313,8 @@ packages: resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} engines: {node: '>= 0.6'} - cookies@0.8.0: - resolution: {integrity: sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==} + cookies@0.9.1: + resolution: {integrity: sha512-TG2hpqe4ELx54QER/S3HQ9SRVnQnGBtKUz5bLQWtYAQ+o6GpgMs6sYUvaiJjVxb+UXwhRhAEP3m7LbsIZ77Hmw==} engines: {node: '>= 0.8'} copyfiles@2.4.1: @@ -5532,14 +5512,6 @@ packages: supports-color: optional: true - debug@3.1.0: - resolution: {integrity: sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: @@ -5548,8 +5520,8 @@ packages: supports-color: optional: true - debug@4.3.5: - resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} + debug@4.3.6: + resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -5613,10 +5585,6 @@ packages: resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==} engines: {node: '>=18'} - default-gateway@6.0.3: - resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} - engines: {node: '>= 10'} - defaults@1.0.4: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} @@ -5833,8 +5801,8 @@ packages: engines: {node: '>=0.10.0'} hasBin: true - electron-to-chromium@1.5.18: - resolution: {integrity: sha512-1OfuVACu+zKlmjsNdcJuVQuVE61sZOLbNM4JAQ1Rvh6EOj0/EUKhMJjRH73InPlXSh8HIJk1cVZ8pyOV/FMdUQ==} + electron-to-chromium@1.5.27: + resolution: {integrity: sha512-o37j1vZqCoEgBuWWXLHQgTN/KDKe7zwpiY5CPeq2RvUqOyJw9xnrULzZAEVQ5p4h+zjMk7hgtOoPdnLxr7m/jw==} emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} @@ -5860,6 +5828,10 @@ packages: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} + encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} + end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} @@ -5891,6 +5863,11 @@ packages: engines: {node: '>=4'} hasBin: true + envinfo@7.14.0: + resolution: {integrity: sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==} + engines: {node: '>=4'} + hasBin: true + environment@1.1.0: resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} engines: {node: '>=18'} @@ -5901,9 +5878,6 @@ packages: error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - error-inject@1.0.0: - resolution: {integrity: sha512-JM8N6PytDbmIYm1IhPWlo8vr3NtfjhDY/1MhD/a5b/aad/USE8a0+NsqE9d5n+GVGmuNkPQWm4bFQWv18d8tMg==} - error-stack-parser@2.1.4: resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} @@ -6084,8 +6058,8 @@ packages: peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - eslint-plugin-react@7.35.2: - resolution: {integrity: sha512-Rbj2R9zwP2GYNcIak4xoAMV57hrBh3hTaR0k7hVjwCQgryE/pw5px4b13EYjduOI0hfXyZhwBxaGpOTbWSGzKQ==} + eslint-plugin-react@7.36.1: + resolution: {integrity: sha512-/qwbqNXZoq+VP30s1d4Nc1C5GTxjJQjk4Jzs4Wq2qzxFM7dSmuG2UkIjg2USMLh3A/aVcUNrK7v0J5U1XEGGwA==} engines: {node: '>=4'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 @@ -6213,8 +6187,12 @@ packages: resolution: {integrity: sha512-1KboYwxxCG5kwkJHR5LjFDTD1Mgl8n4PIMcCuhhd/1OqaxlC68P3QKbvvAbZVUtVgtlxEdTgSUwf6yxwzRCuuA==} engines: {node: '>= 0.10.26'} - express@4.19.2: - resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} + express@4.20.0: + resolution: {integrity: sha512-pLdae7I6QqShF5PnNTCVn4hI91Dx0Grkn2+IAsMTgMIKuQVte2dN9PeGSSAME2FR8anOhVA62QDIUaWVfEXVLw==} + engines: {node: '>= 0.10.0'} + + express@4.21.0: + resolution: {integrity: sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==} engines: {node: '>= 0.10.0'} ext-list@2.2.2: @@ -6383,12 +6361,16 @@ packages: resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} engines: {node: '>= 0.8'} + finalhandler@1.3.1: + resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} + engines: {node: '>= 0.8'} + find-file-up@2.0.1: resolution: {integrity: sha512-qVdaUhYO39zmh28/JLQM5CoYN9byEOKEH4qfa8K1eNV17W0UUMJ9WgbR/hHFH+t5rcl+6RTb5UC7ck/I+uRkpQ==} engines: {node: '>=8'} - find-my-way@8.2.0: - resolution: {integrity: sha512-HdWXgFYc6b1BJcOBDBwjqWuHJj1WYiqrxSh25qtU4DabpMFdj/gSunNBQb83t+8Zt67D7CXEzJWTkxaShMTMOA==} + find-my-way@8.2.2: + resolution: {integrity: sha512-Dobi7gcTEq8yszimcfp/R7+owiT4WncAJ7VTTgFH1jYJ5GaG1FbhjwDG820hptN0QDFvzVY3RfCzdInvGPGzjA==} engines: {node: '>=14'} find-pkg@2.0.0: @@ -6415,9 +6397,6 @@ packages: resolution: {integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==} engines: {node: '>=18'} - find-yarn-workspace-root2@1.2.16: - resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} - flat-cache@3.2.0: resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} engines: {node: ^10.12.0 || >=12.0.0} @@ -6882,8 +6861,8 @@ packages: i18next-browser-languagedetector@8.0.0: resolution: {integrity: sha512-zhXdJXTTCoG39QsrOCiOabnWj2jecouOqbchu3EfhtSHxIB5Uugnm9JaizenOy39h7ne3+fLikIjeW88+rgszw==} - i18next@23.12.1: - resolution: {integrity: sha512-l4y291ZGRgUhKuqVSiqyuU2DDzxKStlIWSaoNBR4grYmh0X+pRYbFpTMs3CnJ5ECKbOI8sQcJ3PbTUfLgPRaMA==} + i18next@23.15.1: + resolution: {integrity: sha512-wB4abZ3uK7EWodYisHl/asf8UYEhrI/vj/8aoSsrj/ZDxj4/UXPOa1KvFt1Fq5hkUHquNqwFlDprmjZ8iySgYA==} iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} @@ -6978,8 +6957,8 @@ packages: inspect-with-kind@1.0.5: resolution: {integrity: sha512-MAQUJuIo7Xqk8EVNP+6d3CKq9c80hi4tjIbIAT6lmGW9W6WzlHiu9PS8uSuUYU+Do+j1baiFp3H25XEVxDIG2g==} - installed-check-core@8.3.0: - resolution: {integrity: sha512-sHqpdbhtfd4k5DgqGxGeihfiABxZSPj5FtwkgRfVkbdfvjKiShFaY+8X4OeM9rAGRn7Dw0d+TBrHgrJOgdg3BA==} + installed-check-core@8.3.1: + resolution: {integrity: sha512-5yH+YyCw2AO1OQpOSce2yUaooOSrK8XXmkOn2xdVpdtpt0pqwfdqU77FIpWN4fPHDcINKUf4R7hgDEfqpy1Z9g==} engines: {node: '>=18.6.0'} installed-check@9.3.0: @@ -7646,26 +7625,23 @@ packages: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} - knip@5.26.0: - resolution: {integrity: sha512-vOp+Wk86aqlPwElrUpxXyg6Q8w+j0j6wuzyu5p6k/mBWUI8iP91PCAz1Jzz9PGq5JYdptV7rFBYB9vHr7AFgqg==} + knip@5.30.2: + resolution: {integrity: sha512-UuUwuTN+6Aa6mjxufWwidayGX/tPJsxZSlwUo8q4R+Gf/0aNYuhHsUH/GccuKtRPfFnf3r+ZU/7BV0dNfC7OEQ==} engines: {node: '>=18.6.0'} hasBin: true peerDependencies: '@types/node': '>=18' typescript: '>=5.0.4' - koa-compose@3.2.1: - resolution: {integrity: sha512-8gen2cvKHIZ35eDEik5WOo8zbVp9t4cP8p4hW4uE55waxolLRexKKrqfCpwhGVppnB40jWeF8bZeTVg99eZgPw==} - koa-compose@4.1.0: resolution: {integrity: sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==} - koa-convert@1.2.0: - resolution: {integrity: sha512-K9XqjmEDStGX09v3oxR7t5uPRy0jqJdvodHa6wxWTHrTfDq0WUNnYTOOUZN6g8OM8oZQXprQASbiIXG2Ez8ehA==} - engines: {node: '>= 4'} + koa-convert@2.0.0: + resolution: {integrity: sha512-asOvN6bFlSnxewce2e/DK3p4tltyfC4VM7ZwuTuepI7dEQVcvpyFuBcEARu1+Hxg8DIwytce2n7jrZtRlPrARA==} + engines: {node: '>= 10'} - koa@2.11.0: - resolution: {integrity: sha512-EpR9dElBTDlaDgyhDMiLkXrPwp6ZqgAIBvhhmxQ9XN4TFgW+gEz6tkcsNI6BnUbUftrKDjVFj4lW2/J2aNBMMA==} + koa@2.15.3: + resolution: {integrity: sha512-j/8tY9j5t+GVMLeioLaxweJiKUayFhlGqNTzf2ZGwL0ZCQijd2RLHK0SLW5Tsko8YyyqCZC2cojIb0/s62qTAg==} engines: {node: ^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4} kuler@2.0.0: @@ -7724,8 +7700,8 @@ packages: resolution: {integrity: sha512-7/HamOm5YD9Wb7CFgAZkKgVPA96WwhcTQoqtm2VTZGVbVVn3IWKRBTgrU7cchA3Q8k9iCsG8Osoi9GX4JsGM9g==} hasBin: true - listr2@8.2.3: - resolution: {integrity: sha512-Lllokma2mtoniUOS94CcOErHWAug5iu7HOmDrvWgpw8jyQH2fomgB+7lZS4HWZxytUuQwkGOwe49FvwVaA85Xw==} + listr2@8.2.4: + resolution: {integrity: sha512-opevsywziHd3zHCVQGAj8zu+Z3yHNkkoYhWIGnq54RrCVwLz0MozotJEDnKsIBLvkfLGN6BLOyAeRrYI0pKA4g==} engines: {node: '>=18.0.0'} load-plugin@6.0.3: @@ -7735,10 +7711,6 @@ packages: resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - load-yaml-file@0.2.0: - resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} - engines: {node: '>=6'} - loader-runner@4.3.0: resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} engines: {node: '>=6.11.5'} @@ -7822,6 +7794,10 @@ packages: resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==} engines: {node: '>=18'} + log-update@6.1.0: + resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==} + engines: {node: '>=18'} + log4js@6.9.1: resolution: {integrity: sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==} engines: {node: '>=8.0'} @@ -7906,8 +7882,8 @@ packages: mdast-util-from-markdown@2.0.1: resolution: {integrity: sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==} - mdast-util-mdx-expression@2.0.0: - resolution: {integrity: sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==} + mdast-util-mdx-expression@2.0.1: + resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==} mdast-util-mdx-jsx@3.1.3: resolution: {integrity: sha512-bfOjvNt+1AcbPLTFMFWY149nJz0OjmewJs3LQQ5pIyVGxP4CdOqNVJL6kTaM5c68p8q82Xv3nCyFfUnuEcH3UQ==} @@ -7940,8 +7916,8 @@ packages: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} - memfs@4.11.1: - resolution: {integrity: sha512-LZcMTBAgqUUKNXZagcZxvXXfgF1bHX7Y7nQ0QyEiNbRJgE29GhgPd8Yna1VQcLlPiHt/5RFJMWYN9Uv/VPNvjQ==} + memfs@4.12.0: + resolution: {integrity: sha512-74wDsex5tQDSClVkeK1vtxqYCAgCoXxx+K4NSHzgU/muYVYByFqa+0RnrPO9NM6naWm1+G9JmZ0p6QHhXmeYfA==} engines: {node: '>= 4.0.0'} memoize-one@6.0.0: @@ -7955,8 +7931,8 @@ packages: resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==} engines: {node: '>=16.10'} - merge-descriptors@1.0.1: - resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} + merge-descriptors@1.0.3: + resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} merge-options@3.0.4: resolution: {integrity: sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==} @@ -8202,12 +8178,12 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - msw@2.3.1: - resolution: {integrity: sha512-ocgvBCLn/5l3jpl1lssIb3cniuACJLoOfZu01e3n5dbJrpA5PeeWn28jCLgQDNt6d7QT8tF2fYRzm9JoEHtiig==} + msw@2.4.9: + resolution: {integrity: sha512-1m8xccT6ipN4PTqLinPwmzhxQREuxaEJYdx4nIbggxP8aM7r1e71vE7RtOUSQoAm1LydjGfZKy7370XD/tsuYg==} engines: {node: '>=18'} hasBin: true peerDependencies: - typescript: '>= 4.7.x' + typescript: '>= 4.8.x' peerDependenciesMeta: typescript: optional: true @@ -8254,8 +8230,8 @@ packages: nested-error-stacks@2.1.1: resolution: {integrity: sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==} - netlify-cli@17.33.4: - resolution: {integrity: sha512-wXWWxOHMab7ztaqNY1lq2OHq3lT31SW36O2upekyTekMI8KriSAGnfXQEXC8ddD4DwAViNUdBpxvjc6WaMjuug==} + netlify-cli@17.36.2: + resolution: {integrity: sha512-kDrsnNSYT3ZWwJNlcpqRPCAz28ahxwZ2Mo/pntNQqScN+MKcVEwia+Twy6FCPakotVJ9nQFquU85jU4mqaXgUw==} engines: {node: '>=18.14.0'} hasBin: true @@ -8270,15 +8246,15 @@ packages: netlify-redirector@0.5.0: resolution: {integrity: sha512-4zdzIP+6muqPCuE8avnrgDJ6KW/2+UpHTRcTbMXCIRxiRmyrX+IZ4WSJGZdHPWF3WmQpXpy603XxecZ9iygN7w==} - netlify@13.1.20: - resolution: {integrity: sha512-pfYUCfaywrzkMzN8If4IVM58DqsAYq2JroAFziuYK7m0LKYPzlbuSNYWhlfQL/zoBmRm8kxzRxEiK6fj1tvOOw==} + netlify@13.1.21: + resolution: {integrity: sha512-PLw+IskyiY+GZNvheR0JgBXIuwebKowY/JU1QBArnXT5Tza1cFbSRr2LJVdiAJCvtbYY73CapfJeSMp36nRjjQ==} engines: {node: ^14.16.0 || >=16.0.0} no-case@3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} - node-abi@3.67.0: - resolution: {integrity: sha512-bLn/fU/ALVBE9wj+p4Y21ZJWYFjUXLXPi/IewyLZkx3ApxKDNBWCKdReeKOtD8dWpOdDCeMyLh6ZewzcLsG2Nw==} + node-abi@3.68.0: + resolution: {integrity: sha512-7vbj10trelExNjFSBm5kTvZXXa7pZyKWx9RCKIyqe6I9Ev3IzGpQoqBP3a+cOdxY+pWj6VkP28n/2wWysBHD/A==} engines: {node: '>=10'} node-addon-api@6.1.0: @@ -8337,8 +8313,8 @@ packages: resolution: {integrity: sha512-Kf3L9spAL6lEHMPyqpwHSTNG3LPkOXBfSUnBMG/YE2TdoC8Qoqf0+qg01nr6K9MFQEcXtWUyTQzLJByRixSBsA==} engines: {node: '>=14.18.0'} - nodemon@3.1.4: - resolution: {integrity: sha512-wjPBbFhtpJwmIeY2yP7QF+UKzPfltVGtfce1g/bB15/8vCGZj8uxD62b/b9M9/WVgme0NZudpownKN+c0plXlQ==} + nodemon@3.1.6: + resolution: {integrity: sha512-C8ymJbXpTTinxjWuMfMxw0rZhTn/r7ypSGldQyqPEgDEaVwAthqC0aodsMwontnAInN9TuPwRLeBoyhmfv+iSA==} engines: {node: '>=10'} hasBin: true @@ -8452,11 +8428,11 @@ packages: obuf@1.1.2: resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} - ofetch@1.3.4: - resolution: {integrity: sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==} + ofetch@1.4.0: + resolution: {integrity: sha512-MuHgsEhU6zGeX+EMh+8mSMrYTnsqJQQrpM00Q6QHMKNqQ0bKy0B43tk8tL1wg+CnsSTy1kg4Ir2T5Ig6rD+dfQ==} - ohash@1.1.3: - resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==} + ohash@1.1.4: + resolution: {integrity: sha512-FlDryZAahJmEF3VR3w1KogSEdWX3WhA5GPakFx4J81kEAiHyLMpdLLElS8n8dfNadMgAne/MywcvmogzscVt4g==} omit.js@2.0.2: resolution: {integrity: sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg==} @@ -8491,6 +8467,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'} + only@0.0.2: resolution: {integrity: sha512-Fvw+Jemq5fjjyWz6CpKx6w9s7xxqo3+JCyM0WXWeCSOboZ8ABkyvP8ID4CZuChA/wxSx+XSJmdOm8rGVyJ1hdQ==} @@ -8654,6 +8634,9 @@ packages: resolution: {integrity: sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==} engines: {node: '>=14.16'} + package-manager-detector@0.2.0: + resolution: {integrity: sha512-E385OSk9qDcXhcM9LNSe4sdhx8a9mAPrZ4sMLW+tmxl5ZuGtPUcdFu+MPP2jbgiWAZ6Pfe5soGFMd+0Db5Vrog==} + parallel-transform@1.2.0: resolution: {integrity: sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==} @@ -8740,11 +8723,11 @@ packages: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} - path-to-regexp@0.1.7: - resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} + 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@6.3.0: + resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} @@ -8884,8 +8867,8 @@ packages: peerDependencies: postcss: ^8.2.9 - postcss@8.4.45: - resolution: {integrity: sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q==} + postcss@8.4.47: + resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} engines: {node: ^10 || ^12 || >=14} prebuild-install@7.1.2: @@ -8902,10 +8885,6 @@ packages: resolution: {integrity: sha512-QCYG84SgGyGzqJ/vlMsxeXd/pgL/I94ixdNFyh1PusWmTCyVfPJjZ1K1jvHtsbfnXQs2TSkEP2fR7QiMZAnKFQ==} engines: {node: '>= 0.6'} - preferred-pm@3.1.4: - resolution: {integrity: sha512-lEHd+yEm22jXdCphDrkvIJQU66EuLojPPtvZkpKIkiD+l0DMThF/niqZKJSoU8Vl7iuvtmzyMhir9LdVy5WMnA==} - engines: {node: '>=10'} - prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -9076,8 +9055,8 @@ packages: peerDependencies: react: '>=16.13.1' - react-i18next@15.0.0: - resolution: {integrity: sha512-2O3IgF4zivg57Q6p6i+ChDgJ371IDcEWbuWC6gvoh5NbkDMs0Q+O7RPr4v61+Se32E0V+LmtwePAeqWZW0bi6g==} + react-i18next@15.0.2: + resolution: {integrity: sha512-z0W3/RES9Idv3MmJUcf0mDNeeMOUXe+xoL0kPfQPbDoZHmni/XsIoq5zgT2MCFUiau283GuBUK578uD/mkAbLQ==} peerDependencies: i18next: '>= 23.2.3' react: '>= 16.8.0' @@ -9102,15 +9081,15 @@ packages: resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} engines: {node: '>=0.10.0'} - react-router-dom@6.25.1: - resolution: {integrity: sha512-0tUDpbFvk35iv+N89dWNrJp+afLgd+y4VtorJZuOCXK0kkCWjEvb3vTJM++SYvMEpbVwXKf3FjeVveVEb6JpDQ==} + react-router-dom@6.26.2: + resolution: {integrity: sha512-z7YkaEW0Dy35T3/QKPYB1LjMK2R1fxnHO8kWpUMTBdfVzZrWOiY9a7CtN8HqdWtDUWd5FY6Dl8HFsqVwH4uOtQ==} engines: {node: '>=14.0.0'} peerDependencies: react: '>=16.8' react-dom: '>=16.8' - react-router@6.25.1: - resolution: {integrity: sha512-u8ELFr5Z6g02nUtpPAggP73Jigj1mRePSwhS/2nkTrlPU5yEkH1vYzWNyvSnSzeeE2DNqWdH+P8OhIh9wuXhTw==} + react-router@6.26.2: + resolution: {integrity: sha512-tvN1iuT03kHgOFnLPfLJ8V95eijteveqdOSk+srqfePtQvqCExB8eHOYnlilbOcyJyKnYkr1vJvf7YqotAJu1A==} engines: {node: '>=14.0.0'} peerDependencies: react: '>=16.8' @@ -9202,8 +9181,8 @@ packages: resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} engines: {node: '>= 0.4'} - regenerate-unicode-properties@10.1.1: - resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} + regenerate-unicode-properties@10.2.0: + resolution: {integrity: sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==} engines: {node: '>=4'} regenerate@1.4.2: @@ -9319,6 +9298,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'} + ret@0.4.3: resolution: {integrity: sha512-0f4Memo5QP7WQyUEAYUO3esD/XjOc3Zjjg5CPsAq1p8sIu0XPeMbHJemKA0BO7tV0X7+A0FoEpbmHXWxPyD3wQ==} engines: {node: '>=10'} @@ -9331,8 +9314,8 @@ packages: resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} engines: {node: '>= 4'} - retypeapp@3.5.0: - resolution: {integrity: sha512-YhHilXfKLXU2BCZ0lfj4tUVMrk8nUjkSCAoV52xIPfRfSKQQah9D5vn2Eiu+FUmeGGEB9gykr8UVi7CvjmiqbQ==} + retypeapp@3.6.0: + resolution: {integrity: sha512-lDswiUZAVlLVfKo78tb5u4uc4FLN16pPyammOZ/MKBtyQzba+14nza5X4ndMrJMCr4UJuMAuru/515PdGff87A==} hasBin: true reusify@1.0.4: @@ -9347,12 +9330,8 @@ packages: deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true - rimraf@5.0.10: - resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==} - hasBin: true - - rollup@4.21.2: - resolution: {integrity: sha512-e3TapAgYf9xjdLvKQCkQTnbTKd4a6jwlpQSJJFokHGaX2IVjoEqkIIhiQfqsi0cdwlOD+tQGuOd5AJkc5RngBw==} + rollup@4.22.2: + resolution: {integrity: sha512-JWWpTrZmqQGQWt16xvNn6KVIUz16VtZwl984TKw0dfqqRpFwtLJYYk1/4BTgplndMQKWUk/yB4uOShYmMzA2Vg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -9442,11 +9421,6 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} 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'} @@ -9456,6 +9430,10 @@ packages: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} + send@0.19.0: + resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} + engines: {node: '>= 0.8.0'} + serialize-javascript@6.0.2: resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} @@ -9463,8 +9441,12 @@ packages: resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==} engines: {node: '>= 0.8.0'} - serve-static@1.15.0: - resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} + serve-static@1.16.0: + resolution: {integrity: sha512-pDLK8zwl2eKaYrs8mrPZBJua4hMplRWJ1tIFksVC3FtBEBnl8dxgeHtsaMS8DhS9i4fLObaon6ABoc4/hQGdPA==} + engines: {node: '>= 0.8.0'} + + serve-static@1.16.2: + resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} engines: {node: '>= 0.8.0'} set-blocking@2.0.0: @@ -9678,8 +9660,8 @@ packages: resolution: {integrity: sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==} engines: {node: '>=8.0'} - streamx@2.20.0: - resolution: {integrity: sha512-ZGd1LhDeGFucr1CUCTBOS58ZhEendd0ttpGT3usTvosS4ntIwKN9LJFp+OeCSprsCPL14BXVRZlHGRY1V9PVzQ==} + streamx@2.20.1: + resolution: {integrity: sha512-uTa0mU6WUC65iUvzKH4X9hEdvSW7rbPxPtwfWiLMSj3qTdQbAiUboZTxauKfpFuGIGa1C2BYijZ7wgdUXICJhA==} strict-event-emitter@0.5.1: resolution: {integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==} @@ -9922,8 +9904,8 @@ packages: uglify-js: optional: true - terser@5.32.0: - resolution: {integrity: sha512-v3Gtw3IzpBJ0ugkxEX8U0W6+TnPKRRCWGh1jC/iM/e3Ki5+qvO1L1EAZ56bZasc64aXHwRHNIQEzm6//i5cemQ==} + terser@5.33.0: + resolution: {integrity: sha512-JuPVaB7s1gdFKPKTelwUyRq5Sid2A3Gko2S0PncwdBq7kN9Ti9HPWDQ06MPsEDGsZeVESjKEnyGy68quBk1w6g==} engines: {node: '>=10'} hasBin: true @@ -9931,8 +9913,8 @@ packages: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} - text-decoder@1.1.1: - resolution: {integrity: sha512-8zll7REEv4GDD3x4/0pW+ppIxSNs7H1J10IKFZsuOMscumCdM2a+toDGLPA3T+1+fLBql4zbt5z83GEQGGV5VA==} + text-decoder@1.2.0: + resolution: {integrity: sha512-n1yg1mOj9DNpk3NeZOx7T6jchTbyJS3i3cucbNN6FcdPriMZx7NsgrGpWWdWZZGxD7ES1XB+3uoqHMgOKaN+fg==} text-hex@1.0.0: resolution: {integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==} @@ -9980,6 +9962,10 @@ packages: resolution: {integrity: sha512-TIsDdtKo6+XrPtiTm1ssmMngN1sAhyKnTO2kunQWqNPWIVvCm15Wmw4SWInwTVgJ5u/Tr04+8Ei9TNcw4x4ONA==} engines: {node: '>=4'} + tinyglobby@0.2.6: + resolution: {integrity: sha512-NbBoFBpqfcgd1tCiO8Lkfdk+xrA7mlLR9zgvZcZWQQwU63XAfUePyd6wZBaU93Hqw347lHnwFzttAkemHzzz4g==} + engines: {node: '>=12.0.0'} + tmp-promise@3.0.3: resolution: {integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==} @@ -10072,8 +10058,8 @@ packages: ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - ts-jest@29.2.3: - resolution: {integrity: sha512-yCcfVdiBFngVz9/keHin9EnsrQtQtEu3nRykNy9RVp+FiPFFbPJ3Sg6Qg4+TkmH0vMP5qsTKgXSsk80HRwvdgQ==} + ts-jest@29.2.5: + resolution: {integrity: sha512-KD8zB2aAZrcKIdGk4OwpJggeLcH1FgrICqDSROWqlnJXGCXK4Mn6FcdK2B6670Xr73lHMG1kHw8R87A0ecZ+vA==} engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -10123,8 +10109,8 @@ packages: resolution: {integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==} engines: {node: '>=0.6.x'} - tsup@8.1.2: - resolution: {integrity: sha512-Gzw/PXSX/z0aYMNmkcI54bKKFVFJQbLne+EqTJZeQ3lNT3QpumjtMU4rl+ZwTTp8oRF3ahMbEAxT2sZPJLFSrg==} + tsup@8.3.0: + resolution: {integrity: sha512-ALscEeyS03IomcuNdFdc0YWGVIkwH1Ws7nfTbAPuoILvEV2hpGQAY72LIOjglGo4ShWpZfpBqP/jpQVCzqYQag==} engines: {node: '>=18'} hasBin: true peerDependencies: @@ -10247,8 +10233,8 @@ packages: typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - typescript@5.5.3: - resolution: {integrity: sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==} + typescript@5.5.4: + resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==} engines: {node: '>=14.17'} hasBin: true @@ -10275,25 +10261,22 @@ packages: undefsafe@2.0.5: resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==} - undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - undici-types@6.19.8: resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} unenv@1.10.0: resolution: {integrity: sha512-wY5bskBQFL9n3Eca5XnhH6KbUo/tfvkwm9OpcdCvLaeA7piBNbavbOKJySEwQ1V0RH6HvNlSAFRTpvTqgKRQXQ==} - unicode-canonical-property-names-ecmascript@2.0.0: - resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + unicode-canonical-property-names-ecmascript@2.0.1: + resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} engines: {node: '>=4'} unicode-match-property-ecmascript@2.0.0: resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} engines: {node: '>=4'} - unicode-match-property-value-ecmascript@2.1.0: - resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} + unicode-match-property-value-ecmascript@2.2.0: + resolution: {integrity: sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==} engines: {node: '>=4'} unicode-property-aliases-ecmascript@2.1.0: @@ -10595,8 +10578,8 @@ packages: webpack: optional: true - webpack-dev-server@5.0.4: - resolution: {integrity: sha512-dljXhUgx3HqKP2d8J/fUMvhxGhzjeNVarDLcbO/EWMSgRizDkxHQDZQaLFL5VJY9tRBj2Gz+rvCEYYvhbqPHNA==} + webpack-dev-server@5.1.0: + resolution: {integrity: sha512-aQpaN81X6tXie1FoOB7xlMfCsN19pSvRAeYUHOdFWOlhpQ/LlbfTqYwwmEDFV0h8GGuqmCmKmT+pxcUV/Nt2gQ==} engines: {node: '>= 18.12.0'} hasBin: true peerDependencies: @@ -10616,8 +10599,8 @@ packages: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} - webpack@5.93.0: - resolution: {integrity: sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA==} + webpack@5.94.0: + resolution: {integrity: sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -10667,10 +10650,6 @@ packages: resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} engines: {node: '>= 0.4'} - which-pm@2.2.0: - resolution: {integrity: sha512-MOiaDbA5ZZgUjkeMWM5EkJp4loW5ZRoa5bc3/aeMox/PJelMhE6t7S/mLuiY43DBupyxH+S0U1bTui9kWUlmsw==} - engines: {node: '>=8.15'} - which-typed-array@1.1.15: resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} engines: {node: '>= 0.4'} @@ -10858,8 +10837,8 @@ packages: resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} engines: {node: '>= 14'} - zod-validation-error@3.3.1: - resolution: {integrity: sha512-uFzCZz7FQis256dqw4AhPQgD6f3pzNca/Zh62RNELavlumQB3nDIUFbF5JQfFLcMbO1s02Q7Xg/gpcOBlEnYZA==} + zod-validation-error@3.4.0: + resolution: {integrity: sha512-ZOPR9SVY6Pb2qqO5XHt+MkkTRxGXb4EVtnjc9JpXUOtUB1T9Ru7mZOT361AN3MsetVe7R0a1KZshJDZdgp9miQ==} engines: {node: '>=18.0.0'} peerDependencies: zod: ^3.18.0 @@ -10928,7 +10907,7 @@ snapshots: dependencies: '@babel/compat-data': 7.25.4 '@babel/helper-validator-option': 7.24.8 - browserslist: 4.23.2 + browserslist: 4.23.3 lru-cache: 5.1.1 semver: 6.3.1 @@ -11717,12 +11696,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/types@7.24.8': - dependencies: - '@babel/helper-string-parser': 7.24.8 - '@babel/helper-validator-identifier': 7.24.7 - to-fast-properties: 2.0.0 - '@babel/types@7.25.6': dependencies: '@babel/helper-string-parser': 7.24.8 @@ -11769,6 +11742,11 @@ snapshots: dependencies: statuses: 2.0.1 + '@bundled-es-modules/tough-cookie@0.1.6': + dependencies: + '@types/tough-cookie': 4.0.5 + tough-cookie: 4.1.4 + '@changesets/apply-release-plan@7.0.5': dependencies: '@changesets/config': 3.0.3 @@ -11806,9 +11784,8 @@ snapshots: transitivePeerDependencies: - encoding - '@changesets/cli@2.27.7': + '@changesets/cli@2.27.8': dependencies: - '@babel/runtime': 7.25.6 '@changesets/apply-release-plan': 7.0.5 '@changesets/assemble-release-plan': 6.0.4 '@changesets/changelog-git': 0.2.0 @@ -11826,16 +11803,15 @@ snapshots: '@manypkg/get-packages': 1.1.3 '@types/semver': 7.5.8 ansi-colors: 4.1.3 - chalk: 2.4.2 ci-info: 3.9.0 enquirer: 2.4.1 external-editor: 3.1.0 fs-extra: 7.0.1 - human-id: 1.0.2 mri: 1.2.0 outdent: 0.5.0 p-limit: 2.3.0 - preferred-pm: 3.1.4 + package-manager-detector: 0.2.0 + picocolors: 1.1.0 resolve-from: 5.0.0 semver: 7.6.3 spawndamnit: 2.0.0 @@ -12164,7 +12140,7 @@ snapshots: eslint: 8.57.0 eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.11.0': {} + '@eslint-community/regexpp@4.11.1': {} '@eslint/eslintrc@2.1.4': dependencies: @@ -12261,18 +12237,17 @@ snapshots: '@inquirer/confirm@3.2.0': dependencies: - '@inquirer/core': 9.1.0 - '@inquirer/type': 1.5.3 + '@inquirer/core': 9.2.1 + '@inquirer/type': 1.5.5 - '@inquirer/core@9.1.0': + '@inquirer/core@9.2.1': dependencies: - '@inquirer/figures': 1.0.5 - '@inquirer/type': 1.5.3 + '@inquirer/figures': 1.0.6 + '@inquirer/type': 2.0.0 '@types/mute-stream': 0.0.4 - '@types/node': 22.5.4 + '@types/node': 22.5.5 '@types/wrap-ansi': 3.0.0 ansi-escapes: 4.3.2 - cli-spinners: 2.9.2 cli-width: 4.1.0 mute-stream: 1.0.0 signal-exit: 4.1.0 @@ -12280,28 +12255,32 @@ snapshots: wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.2 - '@inquirer/figures@1.0.5': {} + '@inquirer/figures@1.0.6': {} + + '@inquirer/type@1.5.5': + dependencies: + mute-stream: 1.0.0 - '@inquirer/type@1.5.3': + '@inquirer/type@2.0.0': dependencies: mute-stream: 1.0.0 '@internationalized/date@3.5.5': dependencies: - '@swc/helpers': 0.5.12 + '@swc/helpers': 0.5.13 '@internationalized/message@3.1.4': dependencies: - '@swc/helpers': 0.5.12 + '@swc/helpers': 0.5.13 intl-messageformat: 10.5.14 '@internationalized/number@3.5.3': dependencies: - '@swc/helpers': 0.5.12 + '@swc/helpers': 0.5.13 '@internationalized/string@3.2.3': dependencies: - '@swc/helpers': 0.5.12 + '@swc/helpers': 0.5.13 '@isaacs/cliui@8.0.2': dependencies: @@ -12325,27 +12304,27 @@ snapshots: '@jest/console@29.7.0': dependencies: '@jest/types': 29.6.3 - '@types/node': 20.14.11 + '@types/node': 22.5.5 chalk: 4.1.2 jest-message-util: 29.7.0 jest-util: 29.7.0 slash: 3.0.0 - '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3))': + '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.14.11 + '@types/node': 22.5.5 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)) + jest-config: 29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -12374,7 +12353,7 @@ snapshots: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.14.11 + '@types/node': 22.5.5 jest-mock: 29.7.0 '@jest/expect-utils@29.7.0': @@ -12392,7 +12371,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 20.14.11 + '@types/node': 22.5.5 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -12414,7 +12393,7 @@ snapshots: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.25 - '@types/node': 20.14.11 + '@types/node': 22.5.5 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 @@ -12483,7 +12462,7 @@ snapshots: dependencies: '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.14.11 + '@types/node': 22.5.5 '@types/yargs': 16.0.9 chalk: 4.1.2 @@ -12492,7 +12471,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.14.11 + '@types/node': 22.5.5 '@types/yargs': 17.0.33 chalk: 4.1.2 @@ -12589,27 +12568,37 @@ snapshots: - encoding - supports-color - '@module-federation/bridge-react-webpack-plugin@0.2.6': + '@module-federation/bridge-react-webpack-plugin@0.6.6': dependencies: - '@module-federation/sdk': 0.2.6 + '@module-federation/sdk': 0.6.6 + '@types/semver': 7.5.8 + semver: 7.6.3 - '@module-federation/dts-plugin@0.2.6(typescript@5.5.3)': + '@module-federation/data-prefetch@0.6.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@module-federation/managers': 0.2.6 - '@module-federation/sdk': 0.2.6 - '@module-federation/third-party-dts-extractor': 0.2.6 + '@module-federation/runtime': 0.6.6 + '@module-federation/sdk': 0.6.6 + fs-extra: 9.1.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@module-federation/dts-plugin@0.6.6(typescript@5.5.4)': + dependencies: + '@module-federation/managers': 0.6.6 + '@module-federation/sdk': 0.6.6 + '@module-federation/third-party-dts-extractor': 0.6.6 adm-zip: 0.5.16 ansi-colors: 4.1.3 axios: 1.7.7 chalk: 3.0.0 fs-extra: 9.1.0 isomorphic-ws: 5.0.0(ws@8.17.1) - koa: 2.11.0 + koa: 2.15.3 lodash.clonedeepwith: 4.5.0 log4js: 6.9.1 node-schedule: 2.1.1 rambda: 9.3.0 - typescript: 5.5.3 + typescript: 5.5.4 ws: 8.17.1 transitivePeerDependencies: - bufferutil @@ -12617,37 +12606,40 @@ snapshots: - supports-color - utf-8-validate - '@module-federation/enhanced@0.2.6(typescript@5.5.3)(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12)))': + '@module-federation/enhanced@0.6.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13)))': dependencies: - '@module-federation/bridge-react-webpack-plugin': 0.2.6 - '@module-federation/dts-plugin': 0.2.6(typescript@5.5.3) - '@module-federation/managers': 0.2.6 - '@module-federation/manifest': 0.2.6(typescript@5.5.3) - '@module-federation/rspack': 0.2.6(typescript@5.5.3) - '@module-federation/runtime-tools': 0.2.6 - '@module-federation/sdk': 0.2.6 + '@module-federation/bridge-react-webpack-plugin': 0.6.6 + '@module-federation/data-prefetch': 0.6.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@module-federation/dts-plugin': 0.6.6(typescript@5.5.4) + '@module-federation/managers': 0.6.6 + '@module-federation/manifest': 0.6.6(typescript@5.5.4) + '@module-federation/rspack': 0.6.6(typescript@5.5.4) + '@module-federation/runtime-tools': 0.6.6 + '@module-federation/sdk': 0.6.6 btoa: 1.2.1 upath: 2.0.1 optionalDependencies: - typescript: 5.5.3 - webpack: 5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12)) + typescript: 5.5.4 + webpack: 5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13)) transitivePeerDependencies: - bufferutil - debug + - react + - react-dom - supports-color - utf-8-validate - '@module-federation/managers@0.2.6': + '@module-federation/managers@0.6.6': dependencies: - '@module-federation/sdk': 0.2.6 + '@module-federation/sdk': 0.6.6 find-pkg: 2.0.0 fs-extra: 9.1.0 - '@module-federation/manifest@0.2.6(typescript@5.5.3)': + '@module-federation/manifest@0.6.6(typescript@5.5.4)': dependencies: - '@module-federation/dts-plugin': 0.2.6(typescript@5.5.3) - '@module-federation/managers': 0.2.6 - '@module-federation/sdk': 0.2.6 + '@module-federation/dts-plugin': 0.6.6(typescript@5.5.4) + '@module-federation/managers': 0.6.6 + '@module-federation/sdk': 0.6.6 chalk: 3.0.0 find-pkg: 2.0.0 transitivePeerDependencies: @@ -12658,47 +12650,45 @@ snapshots: - utf-8-validate - vue-tsc - '@module-federation/rspack@0.2.6(typescript@5.5.3)': + '@module-federation/rspack@0.6.6(typescript@5.5.4)': dependencies: - '@module-federation/bridge-react-webpack-plugin': 0.2.6 - '@module-federation/dts-plugin': 0.2.6(typescript@5.5.3) - '@module-federation/managers': 0.2.6 - '@module-federation/manifest': 0.2.6(typescript@5.5.3) - '@module-federation/runtime-tools': 0.2.6 - '@module-federation/sdk': 0.2.6 + '@module-federation/bridge-react-webpack-plugin': 0.6.6 + '@module-federation/dts-plugin': 0.6.6(typescript@5.5.4) + '@module-federation/managers': 0.6.6 + '@module-federation/manifest': 0.6.6(typescript@5.5.4) + '@module-federation/runtime-tools': 0.6.6 + '@module-federation/sdk': 0.6.6 + optionalDependencies: + typescript: 5.5.4 transitivePeerDependencies: - bufferutil - debug - supports-color - - typescript - utf-8-validate - - vue-tsc - '@module-federation/runtime-tools@0.2.6': + '@module-federation/runtime-tools@0.6.6': dependencies: - '@module-federation/runtime': 0.2.6 - '@module-federation/webpack-bundler-runtime': 0.2.6 + '@module-federation/runtime': 0.6.6 + '@module-federation/webpack-bundler-runtime': 0.6.6 - '@module-federation/runtime@0.2.6': + '@module-federation/runtime@0.6.6': dependencies: - '@module-federation/sdk': 0.2.6 + '@module-federation/sdk': 0.6.6 - '@module-federation/sdk@0.2.6': {} + '@module-federation/sdk@0.6.6': {} - '@module-federation/third-party-dts-extractor@0.2.6': + '@module-federation/third-party-dts-extractor@0.6.6': dependencies: find-pkg: 2.0.0 fs-extra: 9.1.0 resolve: 1.22.8 - '@module-federation/webpack-bundler-runtime@0.2.6': + '@module-federation/webpack-bundler-runtime@0.6.6': dependencies: - '@module-federation/runtime': 0.2.6 - '@module-federation/sdk': 0.2.6 + '@module-federation/runtime': 0.6.6 + '@module-federation/sdk': 0.6.6 - '@mswjs/cookies@1.1.1': {} - - '@mswjs/interceptors@0.29.1': + '@mswjs/interceptors@0.35.8': dependencies: '@open-draft/deferred-promise': 2.2.0 '@open-draft/logger': 0.3.0 @@ -12711,7 +12701,9 @@ snapshots: '@netlify/blobs@7.4.0': {} - '@netlify/build-info@7.14.1': + '@netlify/blobs@8.0.1': {} + + '@netlify/build-info@7.14.3': dependencies: '@bugsnag/js': 7.25.0 '@iarna/toml': 2.2.5 @@ -12723,20 +12715,20 @@ snapshots: yaml: 2.5.1 yargs: 17.7.2 - '@netlify/build@29.51.3(@opentelemetry/api@1.8.0)(@swc/core@1.7.0(@swc/helpers@0.5.12))(@types/node@22.5.4)(picomatch@4.0.2)': + '@netlify/build@29.54.4(@opentelemetry/api@1.8.0)(@swc/core@1.7.26(@swc/helpers@0.5.13))(@types/node@22.5.5)(picomatch@4.0.2)': dependencies: '@bugsnag/js': 7.25.0 '@netlify/blobs': 7.4.0 '@netlify/cache-utils': 5.1.6 - '@netlify/config': 20.17.1 - '@netlify/edge-bundler': 12.2.2(supports-color@9.4.0) + '@netlify/config': 20.19.0 + '@netlify/edge-bundler': 12.2.3(supports-color@9.4.0) '@netlify/framework-info': 9.8.13 - '@netlify/functions-utils': 5.2.80(supports-color@9.4.0) + '@netlify/functions-utils': 5.2.83(supports-color@9.4.0) '@netlify/git-utils': 5.1.1 '@netlify/opentelemetry-utils': 1.2.1(@opentelemetry/api@1.8.0) '@netlify/plugins-list': 6.80.0 '@netlify/run-utils': 5.1.1 - '@netlify/zip-it-and-ship-it': 9.37.7(supports-color@9.4.0) + '@netlify/zip-it-and-ship-it': 9.39.2(supports-color@9.4.0) '@opentelemetry/api': 1.8.0 '@sindresorhus/slugify': 2.2.1 ansi-escapes: 6.2.1 @@ -12780,8 +12772,8 @@ snapshots: strip-ansi: 7.1.0 supports-color: 9.4.0 terminal-link: 3.0.0 - ts-node: 10.9.2(@swc/core@1.7.0(@swc/helpers@0.5.12))(@types/node@22.5.4)(typescript@5.5.3) - typescript: 5.5.3 + ts-node: 10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.13))(@types/node@22.5.5)(typescript@5.5.4) + typescript: 5.5.4 uuid: 9.0.1 yargs: 17.7.2 transitivePeerDependencies: @@ -12802,7 +12794,7 @@ snapshots: path-exists: 5.0.0 readdirp: 3.6.0 - '@netlify/config@20.17.1': + '@netlify/config@20.19.0': dependencies: '@iarna/toml': 2.2.5 chalk: 5.3.0 @@ -12818,7 +12810,7 @@ snapshots: is-plain-obj: 4.1.0 js-yaml: 4.1.0 map-obj: 5.0.2 - netlify: 13.1.20 + netlify: 13.1.21 netlify-headers-parser: 7.1.4 netlify-redirect-parser: 14.3.0 node-fetch: 3.3.2 @@ -12829,7 +12821,7 @@ snapshots: validate-npm-package-name: 4.0.0 yargs: 17.7.2 - '@netlify/edge-bundler@12.2.2': + '@netlify/edge-bundler@12.2.3': dependencies: '@import-maps/resolve': 1.0.1 '@vercel/nft': 0.27.4 @@ -12858,7 +12850,7 @@ snapshots: - encoding - supports-color - '@netlify/edge-bundler@12.2.2(supports-color@9.4.0)': + '@netlify/edge-bundler@12.2.3(supports-color@9.4.0)': dependencies: '@import-maps/resolve': 1.0.1 '@vercel/nft': 0.27.4(supports-color@9.4.0) @@ -12902,9 +12894,9 @@ snapshots: read-pkg-up: 9.1.0 semver: 7.6.3 - '@netlify/functions-utils@5.2.80(supports-color@9.4.0)': + '@netlify/functions-utils@5.2.83(supports-color@9.4.0)': dependencies: - '@netlify/zip-it-and-ship-it': 9.38.1(supports-color@9.4.0) + '@netlify/zip-it-and-ship-it': 9.39.2(supports-color@9.4.0) cpy: 9.0.1 path-exists: 5.0.0 transitivePeerDependencies: @@ -12984,17 +12976,17 @@ snapshots: dependencies: execa: 6.1.0 - '@netlify/serverless-functions-api@1.23.0': + '@netlify/serverless-functions-api@1.24.0': dependencies: '@netlify/node-cookies': 0.1.0 urlpattern-polyfill: 8.0.2 - '@netlify/zip-it-and-ship-it@9.37.7': + '@netlify/zip-it-and-ship-it@9.39.2': dependencies: '@babel/parser': 7.25.6 - '@babel/types': 7.24.8 + '@babel/types': 7.25.6 '@netlify/binary-info': 1.0.0 - '@netlify/serverless-functions-api': 1.23.0 + '@netlify/serverless-functions-api': 1.24.0 '@vercel/nft': 0.27.4 archiver: 7.0.1 common-path-prefix: 3.0.0 @@ -13029,52 +13021,12 @@ snapshots: - encoding - supports-color - '@netlify/zip-it-and-ship-it@9.37.7(supports-color@9.4.0)': - dependencies: - '@babel/parser': 7.25.6 - '@babel/types': 7.24.8 - '@netlify/binary-info': 1.0.0 - '@netlify/serverless-functions-api': 1.23.0 - '@vercel/nft': 0.27.4(supports-color@9.4.0) - archiver: 7.0.1 - common-path-prefix: 3.0.0 - cp-file: 10.0.0 - es-module-lexer: 1.5.4 - esbuild: 0.19.11 - execa: 6.1.0 - fast-glob: 3.3.2 - filter-obj: 5.1.0 - find-up: 6.3.0 - glob: 8.1.0 - is-builtin-module: 3.2.1 - is-path-inside: 4.0.0 - junk: 4.0.1 - locate-path: 7.2.0 - merge-options: 3.0.4 - minimatch: 9.0.5 - normalize-path: 3.0.0 - p-map: 5.5.0 - path-exists: 5.0.0 - precinct: 11.0.5(supports-color@9.4.0) - require-package-name: 2.0.1 - resolve: 2.0.0-next.5 - semver: 7.6.3 - tmp-promise: 3.0.3 - toml: 3.0.0 - unixify: 1.0.0 - urlpattern-polyfill: 8.0.2 - yargs: 17.7.2 - zod: 3.23.8 - transitivePeerDependencies: - - encoding - - supports-color - - '@netlify/zip-it-and-ship-it@9.38.1(supports-color@9.4.0)': + '@netlify/zip-it-and-ship-it@9.39.2(supports-color@9.4.0)': dependencies: '@babel/parser': 7.25.6 '@babel/types': 7.25.6 '@netlify/binary-info': 1.0.0 - '@netlify/serverless-functions-api': 1.23.0 + '@netlify/serverless-functions-api': 1.24.0 '@vercel/nft': 0.27.4(supports-color@9.4.0) archiver: 7.0.1 common-path-prefix: 3.0.0 @@ -13124,7 +13076,7 @@ snapshots: '@npmcli/config@8.3.4': dependencies: '@npmcli/map-workspaces': 3.0.6 - '@npmcli/package-json': 5.2.0 + '@npmcli/package-json': 5.2.1 ci-info: 4.0.0 ini: 4.1.3 nopt: 7.2.1 @@ -13157,7 +13109,7 @@ snapshots: '@npmcli/name-from-folder@2.0.0': {} - '@npmcli/package-json@5.2.0': + '@npmcli/package-json@5.2.1': dependencies: '@npmcli/git': 5.0.8 glob: 10.4.5 @@ -13313,7 +13265,7 @@ snapshots: '@pkgr/core@0.1.1': {} - '@pmmmwh/react-refresh-webpack-plugin@0.5.15(react-refresh@0.14.2)(type-fest@4.26.1)(webpack-dev-server@5.0.4(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))))(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12)))': + '@pmmmwh/react-refresh-webpack-plugin@0.5.15(react-refresh@0.14.2)(type-fest@4.26.1)(webpack-dev-server@5.1.0(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))))(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13)))': dependencies: ansi-html: 0.0.9 core-js-pure: 3.38.1 @@ -13323,10 +13275,10 @@ snapshots: react-refresh: 0.14.2 schema-utils: 4.2.0 source-map: 0.7.4 - webpack: 5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12)) + webpack: 5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13)) optionalDependencies: type-fest: 4.26.1 - webpack-dev-server: 5.0.4(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))) + webpack-dev-server: 5.1.0(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))) '@pnpm/config.env-replace@1.1.0': {} @@ -13361,7 +13313,7 @@ snapshots: '@react-aria/ssr': 3.9.5(react@18.3.1) '@react-aria/utils': 3.25.2(react@18.3.1) '@react-types/shared': 3.24.1(react@18.3.1) - '@swc/helpers': 0.5.12 + '@swc/helpers': 0.5.13 react: 18.3.1 '@react-aria/interactions@3.22.2(react@18.3.1)': @@ -13369,40 +13321,20 @@ snapshots: '@react-aria/ssr': 3.9.5(react@18.3.1) '@react-aria/utils': 3.25.2(react@18.3.1) '@react-types/shared': 3.24.1(react@18.3.1) - '@swc/helpers': 0.5.12 + '@swc/helpers': 0.5.13 react: 18.3.1 - '@react-aria/landmark@3.0.0-beta.12(react@18.3.1)': - dependencies: - '@react-aria/utils': 3.25.2(react@18.3.1) - '@react-types/shared': 3.24.1(react@18.3.1) - '@swc/helpers': 0.5.12 - react: 18.3.1 - use-sync-external-store: 1.2.2(react@18.3.1) - '@react-aria/landmark@3.0.0-beta.15(react@18.3.1)': dependencies: '@react-aria/utils': 3.25.2(react@18.3.1) '@react-types/shared': 3.24.1(react@18.3.1) - '@swc/helpers': 0.5.12 + '@swc/helpers': 0.5.13 react: 18.3.1 use-sync-external-store: 1.2.2(react@18.3.1) '@react-aria/ssr@3.9.5(react@18.3.1)': dependencies: - '@swc/helpers': 0.5.12 - react: 18.3.1 - - '@react-aria/toast@3.0.0-beta.12(react@18.3.1)': - dependencies: - '@react-aria/i18n': 3.12.2(react@18.3.1) - '@react-aria/interactions': 3.22.2(react@18.3.1) - '@react-aria/landmark': 3.0.0-beta.12(react@18.3.1) - '@react-aria/utils': 3.25.2(react@18.3.1) - '@react-stately/toast': 3.0.0-beta.4(react@18.3.1) - '@react-types/button': 3.9.6(react@18.3.1) - '@react-types/shared': 3.24.1(react@18.3.1) - '@swc/helpers': 0.5.12 + '@swc/helpers': 0.5.13 react: 18.3.1 '@react-aria/toast@3.0.0-beta.15(react@18.3.1)': @@ -13414,7 +13346,7 @@ snapshots: '@react-stately/toast': 3.0.0-beta.5(react@18.3.1) '@react-types/button': 3.9.6(react@18.3.1) '@react-types/shared': 3.24.1(react@18.3.1) - '@swc/helpers': 0.5.12 + '@swc/helpers': 0.5.13 react: 18.3.1 '@react-aria/utils@3.25.2(react@18.3.1)': @@ -13422,25 +13354,19 @@ snapshots: '@react-aria/ssr': 3.9.5(react@18.3.1) '@react-stately/utils': 3.10.3(react@18.3.1) '@react-types/shared': 3.24.1(react@18.3.1) - '@swc/helpers': 0.5.12 + '@swc/helpers': 0.5.13 clsx: 2.1.1 react: 18.3.1 - '@react-stately/toast@3.0.0-beta.4(react@18.3.1)': - dependencies: - '@swc/helpers': 0.5.12 - react: 18.3.1 - use-sync-external-store: 1.2.2(react@18.3.1) - '@react-stately/toast@3.0.0-beta.5(react@18.3.1)': dependencies: - '@swc/helpers': 0.5.12 + '@swc/helpers': 0.5.13 react: 18.3.1 use-sync-external-store: 1.2.2(react@18.3.1) '@react-stately/utils@3.10.3(react@18.3.1)': dependencies: - '@swc/helpers': 0.5.12 + '@swc/helpers': 0.5.13 react: 18.3.1 '@react-types/button@3.9.6(react@18.3.1)': @@ -13452,59 +13378,59 @@ snapshots: dependencies: react: 18.3.1 - '@remix-run/router@1.18.0': {} + '@remix-run/router@1.19.2': {} '@rollup/pluginutils@4.2.1': dependencies: estree-walker: 2.0.2 picomatch: 2.3.1 - '@rollup/rollup-android-arm-eabi@4.21.2': + '@rollup/rollup-android-arm-eabi@4.22.2': optional: true - '@rollup/rollup-android-arm64@4.21.2': + '@rollup/rollup-android-arm64@4.22.2': optional: true - '@rollup/rollup-darwin-arm64@4.21.2': + '@rollup/rollup-darwin-arm64@4.22.2': optional: true - '@rollup/rollup-darwin-x64@4.21.2': + '@rollup/rollup-darwin-x64@4.22.2': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.21.2': + '@rollup/rollup-linux-arm-gnueabihf@4.22.2': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.21.2': + '@rollup/rollup-linux-arm-musleabihf@4.22.2': optional: true - '@rollup/rollup-linux-arm64-gnu@4.21.2': + '@rollup/rollup-linux-arm64-gnu@4.22.2': optional: true - '@rollup/rollup-linux-arm64-musl@4.21.2': + '@rollup/rollup-linux-arm64-musl@4.22.2': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.21.2': + '@rollup/rollup-linux-powerpc64le-gnu@4.22.2': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.21.2': + '@rollup/rollup-linux-riscv64-gnu@4.22.2': optional: true - '@rollup/rollup-linux-s390x-gnu@4.21.2': + '@rollup/rollup-linux-s390x-gnu@4.22.2': optional: true - '@rollup/rollup-linux-x64-gnu@4.21.2': + '@rollup/rollup-linux-x64-gnu@4.22.2': optional: true - '@rollup/rollup-linux-x64-musl@4.21.2': + '@rollup/rollup-linux-x64-musl@4.22.2': optional: true - '@rollup/rollup-win32-arm64-msvc@4.21.2': + '@rollup/rollup-win32-arm64-msvc@4.22.2': optional: true - '@rollup/rollup-win32-ia32-msvc@4.21.2': + '@rollup/rollup-win32-ia32-msvc@4.22.2': optional: true - '@rollup/rollup-win32-x64-msvc@4.21.2': + '@rollup/rollup-win32-x64-msvc@4.22.2': optional: true '@rtsao/scc@1.1.0': {} @@ -13584,12 +13510,12 @@ snapshots: '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.25.2) '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.25.2) - '@svgr/core@8.1.0(typescript@5.5.3)': + '@svgr/core@8.1.0(typescript@5.5.4)': dependencies: '@babel/core': 7.25.2 '@svgr/babel-preset': 8.1.0(@babel/core@7.25.2) camelcase: 6.3.0 - cosmiconfig: 8.3.6(typescript@5.5.3) + cosmiconfig: 8.3.6(typescript@5.5.4) snake-case: 3.0.4 transitivePeerDependencies: - supports-color @@ -13600,96 +13526,96 @@ snapshots: '@babel/types': 7.25.6 entities: 4.5.0 - '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.5.3))': + '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.5.4))': dependencies: '@babel/core': 7.25.2 '@svgr/babel-preset': 8.1.0(@babel/core@7.25.2) - '@svgr/core': 8.1.0(typescript@5.5.3) + '@svgr/core': 8.1.0(typescript@5.5.4) '@svgr/hast-util-to-babel-ast': 8.0.0 svg-parser: 2.0.4 transitivePeerDependencies: - supports-color - '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@5.5.3))(typescript@5.5.3)': + '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@5.5.4))(typescript@5.5.4)': dependencies: - '@svgr/core': 8.1.0(typescript@5.5.3) - cosmiconfig: 8.3.6(typescript@5.5.3) + '@svgr/core': 8.1.0(typescript@5.5.4) + cosmiconfig: 8.3.6(typescript@5.5.4) deepmerge: 4.3.1 svgo: 3.3.2 transitivePeerDependencies: - typescript - '@svgr/webpack@8.1.0(typescript@5.5.3)': + '@svgr/webpack@8.1.0(typescript@5.5.4)': dependencies: '@babel/core': 7.25.2 '@babel/plugin-transform-react-constant-elements': 7.25.1(@babel/core@7.25.2) '@babel/preset-env': 7.25.4(@babel/core@7.25.2) '@babel/preset-react': 7.24.7(@babel/core@7.25.2) '@babel/preset-typescript': 7.24.7(@babel/core@7.25.2) - '@svgr/core': 8.1.0(typescript@5.5.3) - '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.5.3)) - '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@5.5.3))(typescript@5.5.3) + '@svgr/core': 8.1.0(typescript@5.5.4) + '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.5.4)) + '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@5.5.4))(typescript@5.5.4) transitivePeerDependencies: - supports-color - typescript - '@swc/core-darwin-arm64@1.7.0': + '@swc/core-darwin-arm64@1.7.26': optional: true - '@swc/core-darwin-x64@1.7.0': + '@swc/core-darwin-x64@1.7.26': optional: true - '@swc/core-linux-arm-gnueabihf@1.7.0': + '@swc/core-linux-arm-gnueabihf@1.7.26': optional: true - '@swc/core-linux-arm64-gnu@1.7.0': + '@swc/core-linux-arm64-gnu@1.7.26': optional: true - '@swc/core-linux-arm64-musl@1.7.0': + '@swc/core-linux-arm64-musl@1.7.26': optional: true - '@swc/core-linux-x64-gnu@1.7.0': + '@swc/core-linux-x64-gnu@1.7.26': optional: true - '@swc/core-linux-x64-musl@1.7.0': + '@swc/core-linux-x64-musl@1.7.26': optional: true - '@swc/core-win32-arm64-msvc@1.7.0': + '@swc/core-win32-arm64-msvc@1.7.26': optional: true - '@swc/core-win32-ia32-msvc@1.7.0': + '@swc/core-win32-ia32-msvc@1.7.26': optional: true - '@swc/core-win32-x64-msvc@1.7.0': + '@swc/core-win32-x64-msvc@1.7.26': optional: true - '@swc/core@1.7.0(@swc/helpers@0.5.12)': + '@swc/core@1.7.26(@swc/helpers@0.5.13)': dependencies: '@swc/counter': 0.1.3 '@swc/types': 0.1.12 optionalDependencies: - '@swc/core-darwin-arm64': 1.7.0 - '@swc/core-darwin-x64': 1.7.0 - '@swc/core-linux-arm-gnueabihf': 1.7.0 - '@swc/core-linux-arm64-gnu': 1.7.0 - '@swc/core-linux-arm64-musl': 1.7.0 - '@swc/core-linux-x64-gnu': 1.7.0 - '@swc/core-linux-x64-musl': 1.7.0 - '@swc/core-win32-arm64-msvc': 1.7.0 - '@swc/core-win32-ia32-msvc': 1.7.0 - '@swc/core-win32-x64-msvc': 1.7.0 - '@swc/helpers': 0.5.12 + '@swc/core-darwin-arm64': 1.7.26 + '@swc/core-darwin-x64': 1.7.26 + '@swc/core-linux-arm-gnueabihf': 1.7.26 + '@swc/core-linux-arm64-gnu': 1.7.26 + '@swc/core-linux-arm64-musl': 1.7.26 + '@swc/core-linux-x64-gnu': 1.7.26 + '@swc/core-linux-x64-musl': 1.7.26 + '@swc/core-win32-arm64-msvc': 1.7.26 + '@swc/core-win32-ia32-msvc': 1.7.26 + '@swc/core-win32-x64-msvc': 1.7.26 + '@swc/helpers': 0.5.13 '@swc/counter@0.1.3': {} - '@swc/helpers@0.5.12': + '@swc/helpers@0.5.13': dependencies: tslib: 2.7.0 - '@swc/jest@0.2.36(@swc/core@1.7.0(@swc/helpers@0.5.12))': + '@swc/jest@0.2.36(@swc/core@1.7.26(@swc/helpers@0.5.13))': dependencies: '@jest/create-cache-key-function': 29.7.0 - '@swc/core': 1.7.0(@swc/helpers@0.5.12) + '@swc/core': 1.7.26(@swc/helpers@0.5.13) '@swc/counter': 0.1.3 jsonc-parser: 3.3.1 @@ -13701,19 +13627,19 @@ snapshots: dependencies: defer-to-connect: 2.0.1 - '@tanstack/query-core@5.51.9': {} + '@tanstack/query-core@5.56.2': {} - '@tanstack/query-devtools@5.51.9': {} + '@tanstack/query-devtools@5.56.1': {} - '@tanstack/react-query-devtools@5.51.9(@tanstack/react-query@5.51.9(react@18.3.1))(react@18.3.1)': + '@tanstack/react-query-devtools@5.56.2(@tanstack/react-query@5.56.2(react@18.3.1))(react@18.3.1)': dependencies: - '@tanstack/query-devtools': 5.51.9 - '@tanstack/react-query': 5.51.9(react@18.3.1) + '@tanstack/query-devtools': 5.56.1 + '@tanstack/react-query': 5.56.2(react@18.3.1) react: 18.3.1 - '@tanstack/react-query@5.51.9(react@18.3.1)': + '@tanstack/react-query@5.56.2(react@18.3.1)': dependencies: - '@tanstack/query-core': 5.51.9 + '@tanstack/query-core': 5.56.2 react: 18.3.1 '@testing-library/dom@10.4.0': @@ -13727,29 +13653,24 @@ snapshots: lz-string: 1.5.0 pretty-format: 27.5.1 - '@testing-library/jest-dom@6.4.6(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)))': + '@testing-library/jest-dom@6.5.0': dependencies: '@adobe/css-tools': 4.4.0 - '@babel/runtime': 7.25.6 - aria-query: 5.3.0 + aria-query: 5.3.2 chalk: 3.0.0 css.escape: 1.5.1 dom-accessibility-api: 0.6.3 lodash: 4.17.21 redent: 3.0.0 - optionalDependencies: - '@jest/globals': 29.7.0 - '@types/jest': 29.5.12 - jest: 29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)) - '@testing-library/react@16.0.0(@testing-library/dom@10.4.0)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@testing-library/react@16.0.1(@testing-library/dom@10.4.0)(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.25.6 '@testing-library/dom': 10.4.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.3 + '@types/react': 18.3.8 '@types/react-dom': 18.3.0 '@tokenizer/token@0.3.0': {} @@ -13768,7 +13689,7 @@ snapshots: '@types/acorn@4.0.6': dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 '@types/aria-query@5.0.4': {} @@ -13796,24 +13717,24 @@ snapshots: '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 20.14.11 + '@types/node': 22.5.5 '@types/bonjour@3.5.13': dependencies: - '@types/node': 20.14.11 + '@types/node': 22.5.5 '@types/concat-stream@2.0.3': dependencies: - '@types/node': 20.14.11 + '@types/node': 22.5.5 '@types/connect-history-api-fallback@1.5.4': dependencies: '@types/express-serve-static-core': 4.19.5 - '@types/node': 20.14.11 + '@types/node': 22.5.5 '@types/connect@3.4.38': dependencies: - '@types/node': 20.14.11 + '@types/node': 22.5.5 '@types/cookie@0.6.0': {} @@ -13821,26 +13742,18 @@ snapshots: dependencies: '@types/ms': 0.7.34 - '@types/eslint-scope@3.7.7': - dependencies: - '@types/eslint': 9.6.1 - '@types/estree': 1.0.5 - - '@types/eslint@9.6.1': - dependencies: - '@types/estree': 1.0.5 - '@types/json-schema': 7.0.15 - '@types/estree-jsx@1.0.5': dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 '@types/estree@1.0.5': {} + '@types/estree@1.0.6': {} + '@types/express-serve-static-core@4.19.5': dependencies: - '@types/node': 20.14.11 - '@types/qs': 6.9.15 + '@types/node': 22.5.5 + '@types/qs': 6.9.16 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -13848,17 +13761,17 @@ snapshots: dependencies: '@types/body-parser': 1.19.5 '@types/express-serve-static-core': 4.19.5 - '@types/qs': 6.9.15 + '@types/qs': 6.9.16 '@types/serve-static': 1.15.7 '@types/glob@7.2.0': dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.14.11 + '@types/node': 22.5.5 '@types/graceful-fs@4.1.9': dependencies: - '@types/node': 20.14.11 + '@types/node': 22.5.5 '@types/hast@3.0.4': dependencies: @@ -13872,7 +13785,7 @@ snapshots: '@types/http-proxy@1.17.15': dependencies: - '@types/node': 20.14.11 + '@types/node': 22.5.5 '@types/is-empty@1.2.3': {} @@ -13886,14 +13799,14 @@ snapshots: dependencies: '@types/istanbul-lib-report': 3.0.3 - '@types/jest@29.5.12': + '@types/jest@29.5.13': dependencies: expect: 29.7.0 pretty-format: 29.7.0 '@types/jsdom@20.0.1': dependencies: - '@types/node': 20.14.11 + '@types/node': 22.5.5 '@types/tough-cookie': 4.0.5 parse5: 7.1.2 @@ -13917,41 +13830,41 @@ snapshots: '@types/mute-stream@0.0.4': dependencies: - '@types/node': 20.14.11 + '@types/node': 22.5.5 '@types/node-forge@1.3.11': dependencies: - '@types/node': 20.14.11 + '@types/node': 22.5.5 '@types/node@12.20.55': {} - '@types/node@20.14.11': + '@types/node@20.16.5': dependencies: - undici-types: 5.26.5 + undici-types: 6.19.8 - '@types/node@22.5.4': + '@types/node@22.5.5': dependencies: undici-types: 6.19.8 '@types/normalize-package-data@2.4.4': {} - '@types/prop-types@15.7.12': {} + '@types/prop-types@15.7.13': {} - '@types/qs@6.9.15': {} + '@types/qs@6.9.16': {} '@types/range-parser@1.2.7': {} '@types/react-dom@18.3.0': dependencies: - '@types/react': 18.3.3 + '@types/react': 18.3.8 '@types/react-test-renderer@18.3.0': dependencies: - '@types/react': 18.3.3 + '@types/react': 18.3.8 - '@types/react@18.3.3': + '@types/react@18.3.8': dependencies: - '@types/prop-types': 15.7.12 + '@types/prop-types': 15.7.13 csstype: 3.1.3 '@types/retry@0.12.1': {} @@ -13963,7 +13876,7 @@ snapshots: '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 20.14.11 + '@types/node': 22.5.5 '@types/serve-index@1.9.4': dependencies: @@ -13972,12 +13885,12 @@ snapshots: '@types/serve-static@1.15.7': dependencies: '@types/http-errors': 2.0.4 - '@types/node': 20.14.11 + '@types/node': 22.5.5 '@types/send': 0.17.4 '@types/sockjs@0.3.36': dependencies: - '@types/node': 20.14.11 + '@types/node': 22.5.5 '@types/stack-utils@2.0.3': {} @@ -13997,7 +13910,7 @@ snapshots: '@types/ws@8.5.12': dependencies: - '@types/node': 20.14.11 + '@types/node': 22.5.5 '@types/yargs-parser@21.0.3': {} @@ -14011,37 +13924,37 @@ snapshots: '@types/yauzl@2.10.3': dependencies: - '@types/node': 20.14.11 + '@types/node': 22.5.5 optional: true - '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3)': + '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4)': dependencies: - '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 7.16.1(eslint@8.57.0)(typescript@5.5.3) + '@eslint-community/regexpp': 4.11.1 + '@typescript-eslint/parser': 8.6.0(eslint@8.57.0)(typescript@5.5.4) '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/type-utils': 7.18.0(eslint@8.57.0)(typescript@5.5.3) - '@typescript-eslint/utils': 7.18.0(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/type-utils': 7.18.0(eslint@8.57.0)(typescript@5.5.4) + '@typescript-eslint/utils': 7.18.0(eslint@8.57.0)(typescript@5.5.4) '@typescript-eslint/visitor-keys': 7.18.0 eslint: 8.57.0 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 - ts-api-utils: 1.3.0(typescript@5.5.3) + ts-api-utils: 1.3.0(typescript@5.5.4) optionalDependencies: - typescript: 5.5.3 + typescript: 5.5.4 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3)': + '@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.5.4)': dependencies: - '@typescript-eslint/scope-manager': 7.16.1 - '@typescript-eslint/types': 7.16.1 - '@typescript-eslint/typescript-estree': 7.16.1(typescript@5.5.3) - '@typescript-eslint/visitor-keys': 7.16.1 + '@typescript-eslint/scope-manager': 8.6.0 + '@typescript-eslint/types': 8.6.0 + '@typescript-eslint/typescript-estree': 8.6.0(typescript@5.5.4) + '@typescript-eslint/visitor-keys': 8.6.0 debug: 4.3.7(supports-color@5.5.0) eslint: 8.57.0 optionalDependencies: - typescript: 5.5.3 + typescript: 5.5.4 transitivePeerDependencies: - supports-color @@ -14050,35 +13963,35 @@ snapshots: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 - '@typescript-eslint/scope-manager@7.16.1': - dependencies: - '@typescript-eslint/types': 7.16.1 - '@typescript-eslint/visitor-keys': 7.16.1 - '@typescript-eslint/scope-manager@7.18.0': dependencies: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/visitor-keys': 7.18.0 - '@typescript-eslint/type-utils@7.18.0(eslint@8.57.0)(typescript@5.5.3)': + '@typescript-eslint/scope-manager@8.6.0': dependencies: - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.3) - '@typescript-eslint/utils': 7.18.0(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/types': 8.6.0 + '@typescript-eslint/visitor-keys': 8.6.0 + + '@typescript-eslint/type-utils@7.18.0(eslint@8.57.0)(typescript@5.5.4)': + dependencies: + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4) + '@typescript-eslint/utils': 7.18.0(eslint@8.57.0)(typescript@5.5.4) debug: 4.3.7(supports-color@5.5.0) eslint: 8.57.0 - ts-api-utils: 1.3.0(typescript@5.5.3) + ts-api-utils: 1.3.0(typescript@5.5.4) optionalDependencies: - typescript: 5.5.3 + typescript: 5.5.4 transitivePeerDependencies: - supports-color '@typescript-eslint/types@5.62.0': {} - '@typescript-eslint/types@7.16.1': {} - '@typescript-eslint/types@7.18.0': {} - '@typescript-eslint/typescript-estree@5.62.0(supports-color@9.4.0)(typescript@5.5.3)': + '@typescript-eslint/types@8.6.0': {} + + '@typescript-eslint/typescript-estree@5.62.0(supports-color@9.4.0)(typescript@5.5.4)': dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 @@ -14086,13 +13999,13 @@ snapshots: globby: 11.1.0 is-glob: 4.0.3 semver: 7.6.3 - tsutils: 3.21.0(typescript@5.5.3) + tsutils: 3.21.0(typescript@5.5.4) optionalDependencies: - typescript: 5.5.3 + typescript: 5.5.4 transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@5.62.0(typescript@5.5.3)': + '@typescript-eslint/typescript-estree@5.62.0(typescript@5.5.4)': dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 @@ -14100,50 +14013,50 @@ snapshots: globby: 11.1.0 is-glob: 4.0.3 semver: 7.6.3 - tsutils: 3.21.0(typescript@5.5.3) + tsutils: 3.21.0(typescript@5.5.4) optionalDependencies: - typescript: 5.5.3 + typescript: 5.5.4 transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@7.16.1(typescript@5.5.3)': + '@typescript-eslint/typescript-estree@7.18.0(typescript@5.5.4)': dependencies: - '@typescript-eslint/types': 7.16.1 - '@typescript-eslint/visitor-keys': 7.16.1 + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/visitor-keys': 7.18.0 debug: 4.3.7(supports-color@5.5.0) globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.5.3) + ts-api-utils: 1.3.0(typescript@5.5.4) optionalDependencies: - typescript: 5.5.3 + typescript: 5.5.4 transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@7.18.0(typescript@5.5.3)': + '@typescript-eslint/typescript-estree@8.6.0(typescript@5.5.4)': dependencies: - '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/visitor-keys': 7.18.0 + '@typescript-eslint/types': 8.6.0 + '@typescript-eslint/visitor-keys': 8.6.0 debug: 4.3.7(supports-color@5.5.0) - globby: 11.1.0 + fast-glob: 3.3.2 is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.5.3) + ts-api-utils: 1.3.0(typescript@5.5.4) optionalDependencies: - typescript: 5.5.3 + typescript: 5.5.4 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.5.3)': + '@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.5.4)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.5.3) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.5.4) eslint: 8.57.0 eslint-scope: 5.1.1 semver: 7.6.3 @@ -14151,12 +14064,12 @@ snapshots: - supports-color - typescript - '@typescript-eslint/utils@7.18.0(eslint@8.57.0)(typescript@5.5.3)': + '@typescript-eslint/utils@7.18.0(eslint@8.57.0)(typescript@5.5.4)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.3) + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4) eslint: 8.57.0 transitivePeerDependencies: - supports-color @@ -14167,14 +14080,14 @@ snapshots: '@typescript-eslint/types': 5.62.0 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@7.16.1': + '@typescript-eslint/visitor-keys@7.18.0': dependencies: - '@typescript-eslint/types': 7.16.1 + '@typescript-eslint/types': 7.18.0 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@7.18.0': + '@typescript-eslint/visitor-keys@8.6.0': dependencies: - '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/types': 8.6.0 eslint-visitor-keys: 3.4.3 '@ungap/structured-clone@1.2.0': {} @@ -14215,7 +14128,7 @@ snapshots: - encoding - supports-color - '@voxpelli/semver-set@5.0.2': + '@voxpelli/semver-set@6.0.0': dependencies: semver: 7.6.3 @@ -14301,70 +14214,44 @@ snapshots: '@webassemblyjs/ast': 1.12.1 '@xtuc/long': 4.2.2 - '@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4(webpack-dev-server@5.0.4)(webpack@5.93.0))(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))(webpack-cli@5.1.4))': + '@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4(webpack-dev-server@5.1.0)(webpack@5.94.0))(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(webpack-cli@5.1.4))': dependencies: - webpack: 5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-dev-server@5.0.4)(webpack@5.93.0) + webpack: 5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-dev-server@5.1.0)(webpack@5.94.0) - '@webpack-cli/info@2.0.2(webpack-cli@5.1.4(webpack-dev-server@5.0.4)(webpack@5.93.0))(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))(webpack-cli@5.1.4))': + '@webpack-cli/info@2.0.2(webpack-cli@5.1.4(webpack-dev-server@5.1.0)(webpack@5.94.0))(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(webpack-cli@5.1.4))': dependencies: - webpack: 5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-dev-server@5.0.4)(webpack@5.93.0) + webpack: 5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-dev-server@5.1.0)(webpack@5.94.0) - '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4(webpack-dev-server@5.0.4)(webpack@5.93.0))(webpack-dev-server@5.0.4(webpack-cli@5.1.4)(webpack@5.93.0))(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))(webpack-cli@5.1.4))': + '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4(webpack-dev-server@5.1.0)(webpack@5.94.0))(webpack-dev-server@5.1.0(webpack-cli@5.1.4)(webpack@5.94.0))(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(webpack-cli@5.1.4))': dependencies: - webpack: 5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-dev-server@5.0.4)(webpack@5.93.0) + webpack: 5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-dev-server@5.1.0)(webpack@5.94.0) optionalDependencies: - webpack-dev-server: 5.0.4(webpack-cli@5.1.4)(webpack@5.93.0) + webpack-dev-server: 5.1.0(webpack-cli@5.1.4)(webpack@5.94.0) '@workleap/browserslist-config@2.0.1': {} - '@workleap/eslint-plugin@3.2.2(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(jest@29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)))(typescript@5.5.3)': - dependencies: - '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3) - eslint-plugin-import: 2.30.0(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0) - eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(jest@29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)))(typescript@5.5.3) - eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.0) - eslint-plugin-mdx: 3.1.5(eslint@8.57.0) - eslint-plugin-package-json: 0.10.4(eslint@8.57.0)(jsonc-eslint-parser@2.4.0) - eslint-plugin-react: 7.35.2(eslint@8.57.0) - eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) - eslint-plugin-storybook: 0.8.0(eslint@8.57.0)(typescript@5.5.3) - eslint-plugin-testing-library: 6.3.0(eslint@8.57.0)(typescript@5.5.3) - eslint-plugin-yml: 1.14.0(eslint@8.57.0) - jsonc-eslint-parser: 2.4.0 - yaml-eslint-parser: 1.2.3 - optionalDependencies: - '@typescript-eslint/parser': 7.16.1(eslint@8.57.0)(typescript@5.5.3) - eslint: 8.57.0 - typescript: 5.5.3 - transitivePeerDependencies: - - bluebird - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - jest - - supports-color - - '@workleap/eslint-plugin@3.2.2(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.4)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)))(typescript@5.5.3)': + '@workleap/eslint-plugin@3.2.2(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)))(typescript@5.5.4)': dependencies: - '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3) - eslint-plugin-import: 2.30.0(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0) - eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.4)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)))(typescript@5.5.3) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4) + eslint-plugin-import: 2.30.0(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0) + eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)))(typescript@5.5.4) eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.0) eslint-plugin-mdx: 3.1.5(eslint@8.57.0) eslint-plugin-package-json: 0.10.4(eslint@8.57.0)(jsonc-eslint-parser@2.4.0) - eslint-plugin-react: 7.35.2(eslint@8.57.0) + eslint-plugin-react: 7.36.1(eslint@8.57.0) eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) - eslint-plugin-storybook: 0.8.0(eslint@8.57.0)(typescript@5.5.3) - eslint-plugin-testing-library: 6.3.0(eslint@8.57.0)(typescript@5.5.3) + eslint-plugin-storybook: 0.8.0(eslint@8.57.0)(typescript@5.5.4) + eslint-plugin-testing-library: 6.3.0(eslint@8.57.0)(typescript@5.5.4) eslint-plugin-yml: 1.14.0(eslint@8.57.0) jsonc-eslint-parser: 2.4.0 yaml-eslint-parser: 1.2.3 optionalDependencies: - '@typescript-eslint/parser': 7.16.1(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/parser': 8.6.0(eslint@8.57.0)(typescript@5.5.4) eslint: 8.57.0 - typescript: 5.5.3 + typescript: 5.5.4 transitivePeerDependencies: - bluebird - eslint-import-resolver-typescript @@ -14372,50 +14259,42 @@ snapshots: - jest - supports-color - '@workleap/swc-configs@2.2.3(@swc/core@1.7.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)(@swc/jest@0.2.36(@swc/core@1.7.0(@swc/helpers@0.5.12)))(browserslist@4.23.2)': + '@workleap/swc-configs@2.2.3(@swc/core@1.7.26(@swc/helpers@0.5.13))(@swc/helpers@0.5.13)(@swc/jest@0.2.36(@swc/core@1.7.26(@swc/helpers@0.5.13)))(browserslist@4.23.3)': dependencies: - '@swc/core': 1.7.0(@swc/helpers@0.5.12) - '@swc/helpers': 0.5.12 + '@swc/core': 1.7.26(@swc/helpers@0.5.13) + '@swc/helpers': 0.5.13 optionalDependencies: - '@swc/jest': 0.2.36(@swc/core@1.7.0(@swc/helpers@0.5.12)) - browserslist: 4.23.2 - - '@workleap/swc-configs@2.2.3(@swc/core@1.7.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)(@swc/jest@0.2.36(@swc/core@1.7.0(@swc/helpers@0.5.12)))(browserslist@4.23.3)': - dependencies: - '@swc/core': 1.7.0(@swc/helpers@0.5.12) - '@swc/helpers': 0.5.12 - optionalDependencies: - '@swc/jest': 0.2.36(@swc/core@1.7.0(@swc/helpers@0.5.12)) + '@swc/jest': 0.2.36(@swc/core@1.7.26(@swc/helpers@0.5.13)) browserslist: 4.23.3 - '@workleap/tsup-configs@3.0.6(tsup@8.1.2(@swc/core@1.7.0)(jiti@1.21.6)(postcss@8.4.45)(typescript@5.5.3)(yaml@2.5.1))(typescript@5.5.3)': + '@workleap/tsup-configs@3.0.6(tsup@8.3.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.47)(typescript@5.5.4)(yaml@2.5.1))(typescript@5.5.4)': dependencies: - tsup: 8.1.2(@swc/core@1.7.0)(jiti@1.21.6)(postcss@8.4.45)(typescript@5.5.3)(yaml@2.5.1) - typescript: 5.5.3 + tsup: 8.3.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.47)(typescript@5.5.4)(yaml@2.5.1) + typescript: 5.5.4 - '@workleap/typescript-configs@3.0.2(typescript@5.5.3)': + '@workleap/typescript-configs@3.0.2(typescript@5.5.4)': dependencies: - typescript: 5.5.3 + typescript: 5.5.4 - '@workleap/webpack-configs@1.5.1(@swc/core@1.7.0(@swc/helpers@0.5.12))(@swc/helpers@0.5.12)(browserslist@4.23.2)(postcss@8.4.45)(type-fest@4.26.1)(typescript@5.5.3)(webpack-dev-server@5.0.4(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))))(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12)))': + '@workleap/webpack-configs@1.5.1(@swc/core@1.7.26(@swc/helpers@0.5.13))(@swc/helpers@0.5.13)(browserslist@4.23.3)(postcss@8.4.47)(type-fest@4.26.1)(typescript@5.5.4)(webpack-dev-server@5.1.0(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))))(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13)))': dependencies: - '@pmmmwh/react-refresh-webpack-plugin': 0.5.15(react-refresh@0.14.2)(type-fest@4.26.1)(webpack-dev-server@5.0.4(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))))(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))) - '@svgr/webpack': 8.1.0(typescript@5.5.3) - '@swc/core': 1.7.0(@swc/helpers@0.5.12) - '@swc/helpers': 0.5.12 - browserslist: 4.23.2 - css-loader: 6.11.0(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))) - html-webpack-plugin: 5.6.0(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))) - mini-css-extract-plugin: 2.9.1(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))) - postcss: 8.4.45 - postcss-loader: 8.1.1(postcss@8.4.45)(typescript@5.5.3)(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.15(react-refresh@0.14.2)(type-fest@4.26.1)(webpack-dev-server@5.1.0(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))))(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))) + '@svgr/webpack': 8.1.0(typescript@5.5.4) + '@swc/core': 1.7.26(@swc/helpers@0.5.13) + '@swc/helpers': 0.5.13 + browserslist: 4.23.3 + css-loader: 6.11.0(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))) + html-webpack-plugin: 5.6.0(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))) + mini-css-extract-plugin: 2.9.1(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))) + postcss: 8.4.47 + postcss-loader: 8.1.1(postcss@8.4.47)(typescript@5.5.4)(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))) react-refresh: 0.14.2 - style-loader: 3.3.4(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))) - swc-loader: 0.2.6(@swc/core@1.7.0(@swc/helpers@0.5.12))(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))) - terser-webpack-plugin: 5.3.10(@swc/core@1.7.0(@swc/helpers@0.5.12))(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))) - webpack: 5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12)) + style-loader: 3.3.4(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))) + swc-loader: 0.2.6(@swc/core@1.7.26(@swc/helpers@0.5.13))(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))) + terser-webpack-plugin: 5.3.10(@swc/core@1.7.26(@swc/helpers@0.5.13))(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))) + webpack: 5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13)) optionalDependencies: - webpack-dev-server: 5.0.4(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))) + webpack-dev-server: 5.1.0(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))) transitivePeerDependencies: - '@rspack/core' - '@types/webpack' @@ -14537,7 +14416,7 @@ snapshots: agent-base@7.1.1: dependencies: - debug: 4.3.5 + debug: 4.3.6 transitivePeerDependencies: - supports-color @@ -14697,6 +14576,8 @@ snapshots: dependencies: dequal: 2.0.3 + aria-query@5.3.2: {} + array-buffer-byte-length@1.0.1: dependencies: call-bind: 1.0.7 @@ -14805,7 +14686,7 @@ snapshots: axios@1.7.7: dependencies: - follow-redirects: 1.15.9(debug@4.3.5) + follow-redirects: 1.15.9(debug@4.3.6) form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -14905,25 +14786,25 @@ snapshots: bare-events@2.4.2: optional: true - bare-fs@2.3.3: + bare-fs@2.3.5: dependencies: bare-events: 2.4.2 bare-path: 2.1.3 - bare-stream: 2.2.1 + bare-stream: 2.3.0 optional: true - bare-os@2.4.2: + bare-os@2.4.4: optional: true bare-path@2.1.3: dependencies: - bare-os: 2.4.2 + bare-os: 2.4.4 optional: true - bare-stream@2.2.1: + bare-stream@2.3.0: dependencies: b4a: 1.6.6 - streamx: 2.20.0 + streamx: 2.20.1 optional: true base64-js@1.5.1: {} @@ -14969,7 +14850,7 @@ snapshots: blueimp-md5@2.19.0: {} - body-parser@1.20.2: + body-parser@1.20.3: dependencies: bytes: 3.1.2 content-type: 1.0.5 @@ -14979,7 +14860,7 @@ snapshots: http-errors: 2.0.0 iconv-lite: 0.4.24 on-finished: 2.4.1 - qs: 6.11.0 + qs: 6.13.0 raw-body: 2.5.2 type-is: 1.6.18 unpipe: 1.0.0 @@ -15017,17 +14898,10 @@ snapshots: dependencies: fill-range: 7.1.1 - browserslist@4.23.2: - dependencies: - caniuse-lite: 1.0.30001659 - electron-to-chromium: 1.5.18 - node-releases: 2.0.18 - update-browserslist-db: 1.1.0(browserslist@4.23.2) - browserslist@4.23.3: dependencies: - caniuse-lite: 1.0.30001659 - electron-to-chromium: 1.5.18 + caniuse-lite: 1.0.30001662 + electron-to-chromium: 1.5.27 node-releases: 2.0.18 update-browserslist-db: 1.1.0(browserslist@4.23.3) @@ -15126,7 +15000,7 @@ snapshots: camelcase@7.0.1: {} - caniuse-lite@1.0.30001659: {} + caniuse-lite@1.0.30001662: {} ccount@2.0.1: {} @@ -15220,6 +15094,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 @@ -15334,7 +15212,7 @@ snapshots: commander@9.5.0: {} - comment-json@4.2.3: + comment-json@4.2.5: dependencies: array-timsort: 1.0.3 core-util-is: 1.0.3 @@ -15425,7 +15303,7 @@ snapshots: cookie@0.6.0: {} - cookies@0.8.0: + cookies@0.9.1: dependencies: depd: 2.0.0 keygrip: 1.1.0 @@ -15450,23 +15328,23 @@ snapshots: corser@2.0.1: {} - cosmiconfig@8.3.6(typescript@5.5.3): + cosmiconfig@8.3.6(typescript@5.5.4): dependencies: import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 optionalDependencies: - typescript: 5.5.3 + typescript: 5.5.4 - cosmiconfig@9.0.0(typescript@5.5.3): + cosmiconfig@9.0.0(typescript@5.5.4): dependencies: env-paths: 2.2.1 import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 optionalDependencies: - typescript: 5.5.3 + typescript: 5.5.4 cp-file@10.0.0: dependencies: @@ -15499,13 +15377,13 @@ snapshots: crc-32: 1.2.2 readable-stream: 4.5.2 - create-jest@29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)): + create-jest@29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)) + jest-config: 29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -15514,22 +15392,6 @@ snapshots: - supports-color - ts-node - create-jest@29.7.0(@types/node@22.5.4)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)): - dependencies: - '@jest/types': 29.6.3 - chalk: 4.1.2 - exit: 0.1.2 - graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@22.5.4)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)) - jest-util: 29.7.0 - prompts: 2.4.2 - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - optional: true - create-require@1.1.1: {} cron-parser@4.9.0: @@ -15558,18 +15420,18 @@ snapshots: dependencies: type-fest: 1.4.0 - css-loader@6.11.0(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))): + css-loader@6.11.0(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))): dependencies: - icss-utils: 5.1.0(postcss@8.4.45) - postcss: 8.4.45 - postcss-modules-extract-imports: 3.1.0(postcss@8.4.45) - postcss-modules-local-by-default: 4.0.5(postcss@8.4.45) - postcss-modules-scope: 3.2.0(postcss@8.4.45) - postcss-modules-values: 4.0.0(postcss@8.4.45) + icss-utils: 5.1.0(postcss@8.4.47) + postcss: 8.4.47 + postcss-modules-extract-imports: 3.1.0(postcss@8.4.47) + postcss-modules-local-by-default: 4.0.5(postcss@8.4.47) + postcss-modules-scope: 3.2.0(postcss@8.4.47) + postcss-modules-values: 4.0.0(postcss@8.4.47) postcss-value-parser: 4.2.0 semver: 7.6.3 optionalDependencies: - webpack: 5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12)) + webpack: 5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13)) css-select@4.3.0: dependencies: @@ -15661,15 +15523,11 @@ snapshots: dependencies: ms: 2.0.0 - debug@3.1.0: - dependencies: - ms: 2.0.0 - debug@3.2.7: dependencies: ms: 2.1.3 - debug@4.3.5: + debug@4.3.6: dependencies: ms: 2.1.2 @@ -15737,10 +15595,6 @@ snapshots: bundle-name: 4.1.0 default-browser-id: 5.0.0 - default-gateway@6.0.3: - dependencies: - execa: 5.1.1 - defaults@1.0.4: dependencies: clone: 1.0.4 @@ -15811,8 +15665,8 @@ snapshots: detective-postcss@6.1.3: dependencies: is-url: 1.2.4 - postcss: 8.4.45 - postcss-values-parser: 6.0.2(postcss@8.4.45) + postcss: 8.4.47 + postcss-values-parser: 6.0.2(postcss@8.4.47) detective-sass@5.0.3: dependencies: @@ -15828,19 +15682,19 @@ snapshots: detective-typescript@11.2.0: dependencies: - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.5.3) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.5.4) ast-module-types: 5.0.0 node-source-walk: 6.0.2 - typescript: 5.5.3 + typescript: 5.5.4 transitivePeerDependencies: - supports-color detective-typescript@11.2.0(supports-color@9.4.0): dependencies: - '@typescript-eslint/typescript-estree': 5.62.0(supports-color@9.4.0)(typescript@5.5.3) + '@typescript-eslint/typescript-estree': 5.62.0(supports-color@9.4.0)(typescript@5.5.4) ast-module-types: 5.0.0 node-source-walk: 6.0.2 - typescript: 5.5.3 + typescript: 5.5.4 transitivePeerDependencies: - supports-color @@ -15955,7 +15809,7 @@ snapshots: dependencies: jake: 10.9.2 - electron-to-chromium@1.5.18: {} + electron-to-chromium@1.5.27: {} emittery@0.13.1: {} @@ -15971,6 +15825,8 @@ snapshots: encodeurl@1.0.2: {} + encodeurl@2.0.0: {} + end-of-stream@1.4.4: dependencies: once: 1.4.0 @@ -15995,6 +15851,8 @@ snapshots: envinfo@7.13.0: {} + envinfo@7.14.0: {} + environment@1.1.0: {} err-code@2.0.3: {} @@ -16003,8 +15861,6 @@ snapshots: dependencies: is-arrayish: 0.2.1 - error-inject@1.0.0: {} - error-stack-parser@2.1.4: dependencies: stackframe: 1.3.4 @@ -16252,17 +16108,17 @@ snapshots: - bluebird - supports-color - eslint-module-utils@2.11.0(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): + eslint-module-utils@2.11.0(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 7.16.1(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/parser': 8.6.0(eslint@8.57.0)(typescript@5.5.4) eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color - eslint-plugin-import@2.30.0(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0): + eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -16273,7 +16129,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.11.0(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) + eslint-module-utils: 2.11.0(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -16284,30 +16140,19 @@ snapshots: semver: 6.3.1 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 7.16.1(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/parser': 8.6.0(eslint@8.57.0)(typescript@5.5.4) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(jest@29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)))(typescript@5.5.3): + eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)))(typescript@5.5.4): dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.5.4) eslint: 8.57.0 optionalDependencies: - '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3) - jest: 29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)) - transitivePeerDependencies: - - supports-color - - typescript - - eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.4)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)))(typescript@5.5.3): - dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.5.3) - eslint: 8.57.0 - optionalDependencies: - '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3) - jest: 29.7.0(@types/node@22.5.4)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4) + jest: 29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)) transitivePeerDependencies: - supports-color - typescript @@ -16367,7 +16212,7 @@ snapshots: dependencies: eslint: 8.57.0 - eslint-plugin-react@7.35.2(eslint@8.57.0): + eslint-plugin-react@7.36.1(eslint@8.57.0): dependencies: array-includes: 3.1.8 array.prototype.findlast: 1.2.5 @@ -16389,10 +16234,10 @@ snapshots: string.prototype.matchall: 4.0.11 string.prototype.repeat: 1.0.0 - eslint-plugin-storybook@0.8.0(eslint@8.57.0)(typescript@5.5.3): + eslint-plugin-storybook@0.8.0(eslint@8.57.0)(typescript@5.5.4): dependencies: '@storybook/csf': 0.0.1 - '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.5.4) eslint: 8.57.0 requireindex: 1.2.0 ts-dedent: 2.2.0 @@ -16400,9 +16245,9 @@ snapshots: - supports-color - typescript - eslint-plugin-testing-library@6.3.0(eslint@8.57.0)(typescript@5.5.3): + eslint-plugin-testing-library@6.3.0(eslint@8.57.0)(typescript@5.5.4): dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.5.4) eslint: 8.57.0 transitivePeerDependencies: - supports-color @@ -16434,7 +16279,7 @@ snapshots: eslint@8.57.0: dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.11.0 + '@eslint-community/regexpp': 4.11.1 '@eslint/eslintrc': 2.1.4 '@eslint/js': 8.57.0 '@humanwhocodes/config-array': 0.11.14 @@ -16571,34 +16416,70 @@ snapshots: dependencies: on-headers: 1.0.2 - express@4.19.2: + express@4.20.0: dependencies: accepts: 1.3.8 array-flatten: 1.1.1 - body-parser: 1.20.2 + body-parser: 1.20.3 content-disposition: 0.5.4 content-type: 1.0.5 cookie: 0.6.0 cookie-signature: 1.0.6 debug: 2.6.9 depd: 2.0.0 - encodeurl: 1.0.2 + encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 finalhandler: 1.2.0 fresh: 0.5.2 http-errors: 2.0.0 - merge-descriptors: 1.0.1 + merge-descriptors: 1.0.3 methods: 1.1.2 on-finished: 2.4.1 parseurl: 1.3.3 - path-to-regexp: 0.1.7 + path-to-regexp: 0.1.10 proxy-addr: 2.0.7 qs: 6.11.0 range-parser: 1.2.1 safe-buffer: 5.2.1 - send: 0.18.0 - serve-static: 1.15.0 + send: 0.19.0 + serve-static: 1.16.0 + setprototypeof: 1.2.0 + statuses: 2.0.1 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + express@4.21.0: + 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-signature: 1.0.6 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.3.1 + fresh: 0.5.2 + http-errors: 2.0.0 + merge-descriptors: 1.0.3 + methods: 1.1.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + path-to-regexp: 0.1.10 + proxy-addr: 2.0.7 + qs: 6.13.0 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.19.0 + serve-static: 1.16.2 setprototypeof: 1.2.0 statuses: 2.0.1 type-is: 1.6.18 @@ -16628,7 +16509,7 @@ snapshots: extract-zip@2.0.1: dependencies: - debug: 4.3.5 + debug: 4.3.6 get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: @@ -16695,7 +16576,7 @@ snapshots: avvio: 8.4.0 fast-content-type-parse: 1.1.0 fast-json-stringify: 5.16.1 - find-my-way: 8.2.0 + find-my-way: 8.2.2 light-my-request: 5.13.0 pino: 9.4.0 process-warning: 3.0.0 @@ -16802,11 +16683,23 @@ snapshots: transitivePeerDependencies: - supports-color + finalhandler@1.3.1: + dependencies: + debug: 2.6.9 + encodeurl: 2.0.0 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.1 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + find-file-up@2.0.1: dependencies: resolve-dir: 1.0.1 - find-my-way@8.2.0: + find-my-way@8.2.2: dependencies: fast-deep-equal: 3.1.3 fast-querystring: 1.1.2 @@ -16839,11 +16732,6 @@ snapshots: path-exists: 5.0.0 unicorn-magic: 0.1.0 - find-yarn-workspace-root2@1.2.16: - dependencies: - micromatch: 4.0.8 - pkg-dir: 4.2.0 - flat-cache@3.2.0: dependencies: flatted: 3.3.1 @@ -16865,9 +16753,9 @@ snapshots: dependencies: from2: 2.3.0 - follow-redirects@1.15.9(debug@4.3.5): + follow-redirects@1.15.9(debug@4.3.6): optionalDependencies: - debug: 4.3.5 + debug: 4.3.6 for-each@0.3.3: dependencies: @@ -17152,7 +17040,7 @@ snapshots: defu: 6.1.4 destr: 2.0.3 iron-webcrypto: 1.2.1 - ohash: 1.1.3 + ohash: 1.1.4 radix3: 1.1.2 ufo: 1.5.4 uncrypto: 0.1.3 @@ -17240,13 +17128,13 @@ snapshots: he: 1.2.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.32.0 + terser: 5.33.0 html-parse-stringify@3.0.1: dependencies: void-elements: 3.1.0 - html-webpack-plugin@5.6.0(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))): + html-webpack-plugin@5.6.0(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 @@ -17254,7 +17142,7 @@ snapshots: pretty-error: 4.0.0 tapable: 2.2.1 optionalDependencies: - webpack: 5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12)) + webpack: 5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13)) htmlparser2@6.1.0: dependencies: @@ -17305,10 +17193,10 @@ snapshots: transitivePeerDependencies: - supports-color - http-proxy-middleware@2.0.6(@types/express@4.17.21)(debug@4.3.5): + http-proxy-middleware@2.0.6(@types/express@4.17.21)(debug@4.3.6): dependencies: '@types/http-proxy': 1.17.15 - http-proxy: 1.18.1(debug@4.3.5) + http-proxy: 1.18.1(debug@4.3.6) is-glob: 4.0.3 is-plain-obj: 3.0.0 micromatch: 4.0.8 @@ -17317,10 +17205,10 @@ snapshots: transitivePeerDependencies: - debug - http-proxy@1.18.1(debug@4.3.5): + http-proxy@1.18.1(debug@4.3.6): dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.9(debug@4.3.5) + follow-redirects: 1.15.9(debug@4.3.6) requires-port: 1.0.0 transitivePeerDependencies: - debug @@ -17332,7 +17220,7 @@ snapshots: corser: 2.0.1 he: 1.2.0 html-encoding-sniffer: 3.0.0 - http-proxy: 1.18.1(debug@4.3.5) + http-proxy: 1.18.1(debug@4.3.6) mime: 1.6.0 minimist: 1.2.8 opener: 1.5.2 @@ -17368,7 +17256,7 @@ snapshots: https-proxy-agent@7.0.5: dependencies: agent-base: 7.1.1 - debug: 4.3.5 + debug: 4.3.6 transitivePeerDependencies: - supports-color @@ -17386,7 +17274,7 @@ snapshots: dependencies: '@babel/runtime': 7.25.6 - i18next@23.12.1: + i18next@23.15.1: dependencies: '@babel/runtime': 7.25.6 @@ -17398,9 +17286,9 @@ snapshots: dependencies: safer-buffer: 2.1.2 - icss-utils@5.1.0(postcss@8.4.45): + icss-utils@5.1.0(postcss@8.4.47): dependencies: - postcss: 8.4.45 + postcss: 8.4.47 ieee754@1.2.1: {} @@ -17476,9 +17364,9 @@ snapshots: dependencies: kind-of: 6.0.3 - installed-check-core@8.3.0: + installed-check-core@8.3.1: dependencies: - '@voxpelli/semver-set': 5.0.2 + '@voxpelli/semver-set': 6.0.0 '@voxpelli/typed-utils': 1.10.2 is-glob: 4.0.3 list-installed: 5.3.1 @@ -17488,7 +17376,7 @@ snapshots: installed-check@9.3.0: dependencies: chalk: 5.3.0 - installed-check-core: 8.3.0 + installed-check-core: 8.3.1 meow: 12.1.1 pony-cause: 2.1.11 version-guard: 1.1.3 @@ -17512,7 +17400,7 @@ snapshots: ipaddr.js@2.2.0: {} - ipx@2.1.0(@netlify/blobs@7.4.0): + ipx@2.1.0(@netlify/blobs@8.0.1): dependencies: '@fastify/accept-negotiator': 1.1.0 citty: 0.1.6 @@ -17523,12 +17411,12 @@ snapshots: h3: 1.12.0 image-meta: 0.2.1 listhen: 1.7.2 - ofetch: 1.3.4 + ofetch: 1.4.0 pathe: 1.1.2 sharp: 0.32.6 svgo: 3.3.2 ufo: 1.5.4 - unstorage: 1.12.0(@netlify/blobs@7.4.0) + unstorage: 1.12.0(@netlify/blobs@8.0.1) xss: 1.0.15 transitivePeerDependencies: - '@azure/app-configuration' @@ -17860,7 +17748,7 @@ snapshots: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.14.11 + '@types/node': 22.5.5 chalk: 4.1.2 co: 4.6.0 dedent: 1.5.3 @@ -17880,35 +17768,16 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)): - dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)) - '@jest/test-result': 29.7.0 - '@jest/types': 29.6.3 - chalk: 4.1.2 - create-jest: 29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)) - exit: 0.1.2 - import-local: 3.2.0 - jest-config: 29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)) - jest-util: 29.7.0 - jest-validate: 29.7.0 - yargs: 17.7.2 - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - - jest-cli@29.7.0(@types/node@22.5.4)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)): + jest-cli@29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)) + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@22.5.4)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)) + create-jest: 29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)) exit: 0.1.2 import-local: 3.2.0 - jest-config: 29.7.0(@types/node@22.5.4)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)) + jest-config: 29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -17917,40 +17786,8 @@ snapshots: - babel-plugin-macros - supports-color - ts-node - optional: true - - jest-config@29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)): - dependencies: - '@babel/core': 7.25.2 - '@jest/test-sequencer': 29.7.0 - '@jest/types': 29.6.3 - babel-jest: 29.7.0(@babel/core@7.25.2) - chalk: 4.1.2 - ci-info: 3.9.0 - deepmerge: 4.3.1 - glob: 7.2.3 - graceful-fs: 4.2.11 - jest-circus: 29.7.0 - jest-environment-node: 29.7.0 - jest-get-type: 29.6.3 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-runner: 29.7.0 - jest-util: 29.7.0 - jest-validate: 29.7.0 - micromatch: 4.0.8 - parse-json: 5.2.0 - pretty-format: 29.7.0 - slash: 3.0.0 - strip-json-comments: 3.1.1 - optionalDependencies: - '@types/node': 20.14.11 - ts-node: 10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3) - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - jest-config@29.7.0(@types/node@22.5.4)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)): + jest-config@29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)): dependencies: '@babel/core': 7.25.2 '@jest/test-sequencer': 29.7.0 @@ -17975,12 +17812,11 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - '@types/node': 22.5.4 - ts-node: 10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3) + '@types/node': 22.5.5 + ts-node: 10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.13))(@types/node@22.5.5)(typescript@5.5.4) transitivePeerDependencies: - babel-plugin-macros - supports-color - optional: true jest-diff@29.7.0: dependencies: @@ -18007,7 +17843,7 @@ snapshots: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 '@types/jsdom': 20.0.1 - '@types/node': 20.14.11 + '@types/node': 22.5.5 jest-mock: 29.7.0 jest-util: 29.7.0 jsdom: 20.0.3 @@ -18021,7 +17857,7 @@ snapshots: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.14.11 + '@types/node': 22.5.5 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -18033,7 +17869,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 20.14.11 + '@types/node': 22.5.5 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -18072,7 +17908,7 @@ snapshots: jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 20.14.11 + '@types/node': 22.5.5 jest-util: 29.7.0 jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): @@ -18107,7 +17943,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.14.11 + '@types/node': 22.5.5 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -18135,7 +17971,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.14.11 + '@types/node': 22.5.5 chalk: 4.1.2 cjs-module-lexer: 1.4.1 collect-v8-coverage: 1.0.2 @@ -18181,7 +18017,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 20.14.11 + '@types/node': 22.5.5 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -18209,7 +18045,7 @@ snapshots: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.14.11 + '@types/node': 22.5.5 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -18218,42 +18054,29 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 20.14.11 + '@types/node': 22.5.5 merge-stream: 2.0.0 supports-color: 8.1.1 jest-worker@29.7.0: dependencies: - '@types/node': 20.14.11 + '@types/node': 22.5.5 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 - jest@29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)): + jest@29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)) + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)) '@jest/types': 29.6.3 import-local: 3.2.0 - jest-cli: 29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)) + jest-cli: 29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros - supports-color - ts-node - jest@29.7.0(@types/node@22.5.4)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)): - dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)) - '@jest/types': 29.6.3 - import-local: 3.2.0 - jest-cli: 29.7.0(@types/node@22.5.4)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)) - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - optional: true - jiti@1.21.6: {} joycon@3.1.1: {} @@ -18404,12 +18227,13 @@ snapshots: kleur@4.1.5: {} - knip@5.26.0(@types/node@20.14.11)(typescript@5.5.3): + knip@5.30.2(@types/node@22.5.5)(typescript@5.5.4): dependencies: '@nodelib/fs.walk': 1.2.8 '@snyk/github-codeowners': 1.1.0 - '@types/node': 20.14.11 + '@types/node': 22.5.5 easy-table: 1.2.0 + enhanced-resolve: 5.17.1 fast-glob: 3.3.2 jiti: 1.21.6 js-yaml: 4.1.0 @@ -18417,45 +18241,39 @@ snapshots: picocolors: 1.1.0 picomatch: 4.0.2 pretty-ms: 9.1.0 - resolve: 1.22.8 smol-toml: 1.3.0 strip-json-comments: 5.0.1 summary: 2.1.0 - typescript: 5.5.3 + typescript: 5.5.4 zod: 3.23.8 - zod-validation-error: 3.3.1(zod@3.23.8) - - koa-compose@3.2.1: - dependencies: - any-promise: 1.3.0 + zod-validation-error: 3.4.0(zod@3.23.8) koa-compose@4.1.0: {} - koa-convert@1.2.0: + koa-convert@2.0.0: dependencies: co: 4.6.0 - koa-compose: 3.2.1 + koa-compose: 4.1.0 - koa@2.11.0: + koa@2.15.3: dependencies: accepts: 1.3.8 cache-content-type: 1.0.1 content-disposition: 0.5.4 content-type: 1.0.5 - cookies: 0.8.0 - debug: 3.1.0 + cookies: 0.9.1 + debug: 4.3.7(supports-color@5.5.0) delegates: 1.0.0 - depd: 1.1.2 + depd: 2.0.0 destroy: 1.2.0 encodeurl: 1.0.2 - error-inject: 1.0.0 escape-html: 1.0.3 fresh: 0.5.2 http-assert: 1.5.0 http-errors: 1.8.1 is-generator-function: 1.0.10 koa-compose: 4.1.0 - koa-convert: 1.2.0 + koa-convert: 2.0.0 on-finished: 2.4.1 only: 0.0.2 parseurl: 1.3.3 @@ -18541,12 +18359,12 @@ snapshots: transitivePeerDependencies: - uWebSockets.js - listr2@8.2.3: + listr2@8.2.4: 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 @@ -18559,13 +18377,6 @@ snapshots: load-tsconfig@0.2.5: {} - load-yaml-file@0.2.0: - dependencies: - graceful-fs: 4.2.11 - js-yaml: 3.14.1 - pify: 4.0.1 - strip-bom: 3.0.0 - loader-runner@4.3.0: {} loader-utils@2.0.4: @@ -18643,6 +18454,14 @@ snapshots: strip-ansi: 7.1.0 wrap-ansi: 9.0.0 + log-update@6.1.0: + dependencies: + 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 + log4js@6.9.1: dependencies: date-format: 4.0.14 @@ -18753,7 +18572,7 @@ snapshots: transitivePeerDependencies: - supports-color - mdast-util-mdx-expression@2.0.0: + mdast-util-mdx-expression@2.0.1: dependencies: '@types/estree-jsx': 1.0.5 '@types/hast': 3.0.4 @@ -18784,7 +18603,7 @@ snapshots: mdast-util-mdx@3.0.0: dependencies: mdast-util-from-markdown: 2.0.1 - mdast-util-mdx-expression: 2.0.0 + mdast-util-mdx-expression: 2.0.1 mdast-util-mdx-jsx: 3.1.3 mdast-util-mdxjs-esm: 2.0.1 mdast-util-to-markdown: 2.1.0 @@ -18830,7 +18649,7 @@ snapshots: media-typer@0.3.0: {} - memfs@4.11.1: + memfs@4.12.0: dependencies: '@jsonjoy.com/json-pack': 1.1.0(tslib@2.7.0) '@jsonjoy.com/util': 1.3.0(tslib@2.7.0) @@ -18845,7 +18664,7 @@ snapshots: meow@12.1.1: {} - merge-descriptors@1.0.1: {} + merge-descriptors@1.0.3: {} merge-options@3.0.4: dependencies: @@ -18882,7 +18701,7 @@ snapshots: micromark-extension-mdx-expression@3.0.0: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 devlop: 1.1.0 micromark-factory-mdx-expression: 2.0.2 micromark-factory-space: 2.0.0 @@ -18894,7 +18713,7 @@ snapshots: micromark-extension-mdx-jsx@3.0.1: dependencies: '@types/acorn': 4.0.6 - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 devlop: 1.1.0 estree-util-is-identifier-name: 3.0.0 micromark-factory-mdx-expression: 2.0.2 @@ -18911,7 +18730,7 @@ snapshots: micromark-extension-mdxjs-esm@3.0.0: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 devlop: 1.1.0 micromark-core-commonmark: 2.0.1 micromark-util-character: 2.1.0 @@ -18947,7 +18766,7 @@ snapshots: micromark-factory-mdx-expression@2.0.2: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 devlop: 1.1.0 micromark-factory-space: 2.0.0 micromark-util-character: 2.1.0 @@ -19012,7 +18831,7 @@ snapshots: micromark-util-events-to-acorn@2.0.2: dependencies: '@types/acorn': 4.0.6 - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 '@types/unist': 3.0.3 devlop: 1.1.0 estree-util-visit: 2.0.0 @@ -19107,11 +18926,11 @@ snapshots: min-indent@1.0.1: {} - mini-css-extract-plugin@2.9.1(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))): + mini-css-extract-plugin@2.9.1(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))): dependencies: schema-utils: 4.2.0 tapable: 2.2.1 - webpack: 5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12)) + webpack: 5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13)) minimalistic-assert@1.0.1: {} @@ -19181,13 +19000,13 @@ snapshots: ms@2.1.3: {} - msw@2.3.1(typescript@5.5.3): + msw@2.4.9(typescript@5.5.4): dependencies: '@bundled-es-modules/cookie': 2.0.0 '@bundled-es-modules/statuses': 1.0.1 + '@bundled-es-modules/tough-cookie': 0.1.6 '@inquirer/confirm': 3.2.0 - '@mswjs/cookies': 1.1.1 - '@mswjs/interceptors': 0.29.1 + '@mswjs/interceptors': 0.35.8 '@open-draft/until': 2.1.0 '@types/cookie': 0.6.0 '@types/statuses': 2.0.5 @@ -19196,12 +19015,12 @@ snapshots: headers-polyfill: 4.0.3 is-node-process: 1.2.0 outvariant: 1.4.3 - path-to-regexp: 6.2.2 + path-to-regexp: 6.3.0 strict-event-emitter: 0.5.1 type-fest: 4.26.1 yargs: 17.7.2 optionalDependencies: - typescript: 5.5.3 + typescript: 5.5.4 multicast-dns@7.2.5: dependencies: @@ -19239,18 +19058,18 @@ snapshots: nested-error-stacks@2.1.1: {} - netlify-cli@17.33.4(@swc/core@1.7.0(@swc/helpers@0.5.12))(@types/express@4.17.21)(@types/node@22.5.4)(picomatch@4.0.2): + netlify-cli@17.36.2(@swc/core@1.7.26(@swc/helpers@0.5.13))(@types/express@4.17.21)(@types/node@22.5.5)(picomatch@4.0.2): dependencies: '@bugsnag/js': 7.25.0 '@fastify/static': 7.0.4 - '@netlify/blobs': 7.4.0 - '@netlify/build': 29.51.3(@opentelemetry/api@1.8.0)(@swc/core@1.7.0(@swc/helpers@0.5.12))(@types/node@22.5.4)(picomatch@4.0.2) - '@netlify/build-info': 7.14.1 - '@netlify/config': 20.17.1 - '@netlify/edge-bundler': 12.2.2 + '@netlify/blobs': 8.0.1 + '@netlify/build': 29.54.4(@opentelemetry/api@1.8.0)(@swc/core@1.7.26(@swc/helpers@0.5.13))(@types/node@22.5.5)(picomatch@4.0.2) + '@netlify/build-info': 7.14.3 + '@netlify/config': 20.19.0 + '@netlify/edge-bundler': 12.2.3 '@netlify/edge-functions': 2.9.0 '@netlify/local-functions-proxy': 1.1.1 - '@netlify/zip-it-and-ship-it': 9.37.7 + '@netlify/zip-it-and-ship-it': 9.39.2 '@octokit/rest': 20.1.1 '@opentelemetry/api': 1.8.0 ansi-escapes: 7.0.0 @@ -19265,13 +19084,13 @@ snapshots: ci-info: 4.0.0 clean-deep: 3.4.0 commander: 10.0.1 - comment-json: 4.2.3 + comment-json: 4.2.5 concordance: 5.0.4 configstore: 6.0.0 content-type: 1.0.5 cookie: 0.6.0 cron-parser: 4.9.0 - debug: 4.3.5 + debug: 4.3.6 decache: 4.6.2 dot-prop: 9.0.0 dotenv: 16.4.5 @@ -19279,7 +19098,7 @@ snapshots: envinfo: 7.13.0 etag: 1.8.1 execa: 5.1.1 - express: 4.19.2 + express: 4.20.0 express-logging: 1.1.1 extract-zip: 2.0.1 fastest-levenshtein: 1.0.16 @@ -19295,12 +19114,12 @@ snapshots: gitconfiglocal: 2.1.0 hasbin: 1.2.3 hasha: 5.2.2 - http-proxy: 1.18.1(debug@4.3.5) - http-proxy-middleware: 2.0.6(@types/express@4.17.21)(debug@4.3.5) + http-proxy: 1.18.1(debug@4.3.6) + http-proxy-middleware: 2.0.6(@types/express@4.17.21)(debug@4.3.6) https-proxy-agent: 7.0.5 inquirer: 6.5.2 inquirer-autocomplete-prompt: 1.4.0(inquirer@6.5.2) - ipx: 2.1.0(@netlify/blobs@7.4.0) + ipx: 2.1.0(@netlify/blobs@8.0.1) is-docker: 3.0.0 is-stream: 4.0.1 is-wsl: 3.1.0 @@ -19309,7 +19128,7 @@ snapshots: jsonwebtoken: 9.0.2 jwt-decode: 4.0.0 lambda-local: 2.2.0 - listr2: 8.2.3 + listr2: 8.2.4 locate-path: 7.2.0 lodash: 4.17.21 log-symbols: 6.0.0 @@ -19317,7 +19136,7 @@ snapshots: maxstache: 1.0.7 maxstache-stream: 1.0.4 multiparty: 4.2.3 - netlify: 13.1.20 + netlify: 13.1.21 netlify-headers-parser: 7.1.4 netlify-redirect-parser: 14.3.0 netlify-redirector: 0.5.0 @@ -19336,7 +19155,7 @@ snapshots: raw-body: 2.5.2 read-package-up: 11.0.0 readdirp: 3.6.0 - semver: 7.6.2 + semver: 7.6.3 source-map-support: 0.5.21 strip-ansi-control-characters: 2.0.0 tabtab: 3.0.2 @@ -19398,7 +19217,7 @@ snapshots: netlify-redirector@0.5.0: {} - netlify@13.1.20: + netlify@13.1.21: dependencies: '@netlify/open-api': 2.34.0 lodash-es: 4.17.21 @@ -19413,7 +19232,7 @@ snapshots: lower-case: 2.0.2 tslib: 2.7.0 - node-abi@3.67.0: + node-abi@3.68.0: dependencies: semver: 7.6.3 @@ -19464,7 +19283,7 @@ snapshots: path-exists: 5.0.0 semver: 7.6.3 - nodemon@3.1.4: + nodemon@3.1.6: dependencies: chokidar: 3.6.0 debug: 4.3.7(supports-color@5.5.0) @@ -19603,13 +19422,13 @@ snapshots: obuf@1.1.2: {} - ofetch@1.3.4: + ofetch@1.4.0: dependencies: destr: 2.0.3 node-fetch-native: 1.6.4 ufo: 1.5.4 - ohash@1.1.3: {} + ohash@1.1.4: {} omit.js@2.0.2: {} @@ -19641,6 +19460,10 @@ snapshots: dependencies: mimic-fn: 4.0.0 + onetime@7.0.0: + dependencies: + mimic-function: 5.0.1 + only@0.0.2: {} open@10.1.0: @@ -19805,6 +19628,8 @@ snapshots: registry-url: 6.0.1 semver: 7.6.3 + package-manager-detector@0.2.0: {} + parallel-transform@1.2.0: dependencies: cyclist: 1.0.2 @@ -19899,9 +19724,9 @@ snapshots: lru-cache: 10.4.3 minipass: 7.1.2 - path-to-regexp@0.1.7: {} + path-to-regexp@0.1.10: {} - path-to-regexp@6.2.2: {} + path-to-regexp@6.3.0: {} path-type@4.0.0: {} @@ -19970,45 +19795,45 @@ snapshots: possible-typed-array-names@1.0.0: {} - postcss-load-config@6.0.1(jiti@1.21.6)(postcss@8.4.45)(yaml@2.5.1): + postcss-load-config@6.0.1(jiti@1.21.6)(postcss@8.4.47)(yaml@2.5.1): dependencies: lilconfig: 3.1.2 optionalDependencies: jiti: 1.21.6 - postcss: 8.4.45 + postcss: 8.4.47 yaml: 2.5.1 - postcss-loader@8.1.1(postcss@8.4.45)(typescript@5.5.3)(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))): + postcss-loader@8.1.1(postcss@8.4.47)(typescript@5.5.4)(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))): dependencies: - cosmiconfig: 9.0.0(typescript@5.5.3) + cosmiconfig: 9.0.0(typescript@5.5.4) jiti: 1.21.6 - postcss: 8.4.45 + postcss: 8.4.47 semver: 7.6.3 optionalDependencies: - webpack: 5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12)) + webpack: 5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13)) transitivePeerDependencies: - typescript - postcss-modules-extract-imports@3.1.0(postcss@8.4.45): + postcss-modules-extract-imports@3.1.0(postcss@8.4.47): dependencies: - postcss: 8.4.45 + postcss: 8.4.47 - postcss-modules-local-by-default@4.0.5(postcss@8.4.45): + postcss-modules-local-by-default@4.0.5(postcss@8.4.47): dependencies: - icss-utils: 5.1.0(postcss@8.4.45) - postcss: 8.4.45 + icss-utils: 5.1.0(postcss@8.4.47) + postcss: 8.4.47 postcss-selector-parser: 6.1.2 postcss-value-parser: 4.2.0 - postcss-modules-scope@3.2.0(postcss@8.4.45): + postcss-modules-scope@3.2.0(postcss@8.4.47): dependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-selector-parser: 6.1.2 - postcss-modules-values@4.0.0(postcss@8.4.45): + postcss-modules-values@4.0.0(postcss@8.4.47): dependencies: - icss-utils: 5.1.0(postcss@8.4.45) - postcss: 8.4.45 + icss-utils: 5.1.0(postcss@8.4.47) + postcss: 8.4.47 postcss-selector-parser@6.1.2: dependencies: @@ -20017,14 +19842,14 @@ snapshots: postcss-value-parser@4.2.0: {} - postcss-values-parser@6.0.2(postcss@8.4.45): + 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.45 + postcss: 8.4.47 quote-unquote: 1.0.0 - postcss@8.4.45: + postcss@8.4.47: dependencies: nanoid: 3.3.7 picocolors: 1.1.0 @@ -20038,7 +19863,7 @@ snapshots: minimist: 1.2.8 mkdirp-classic: 0.5.3 napi-build-utils: 1.0.2 - node-abi: 3.67.0 + node-abi: 3.68.0 pump: 3.0.0 rc: 1.2.8 simple-get: 4.0.1 @@ -20081,13 +19906,6 @@ snapshots: precond@0.2.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.2.0 - prelude-ls@1.2.1: {} prettier@2.8.8: {} @@ -20242,11 +20060,11 @@ snapshots: '@babel/runtime': 7.25.6 react: 18.3.1 - react-i18next@15.0.0(i18next@23.12.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + react-i18next@15.0.2(i18next@23.15.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.25.6 html-parse-stringify: 3.0.1 - i18next: 23.12.1 + i18next: 23.15.1 react: 18.3.1 optionalDependencies: react-dom: 18.3.1(react@18.3.1) @@ -20259,16 +20077,16 @@ snapshots: react-refresh@0.14.2: {} - react-router-dom@6.25.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + react-router-dom@6.26.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@remix-run/router': 1.18.0 + '@remix-run/router': 1.19.2 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-router: 6.25.1(react@18.3.1) + react-router: 6.26.2(react@18.3.1) - react-router@6.25.1(react@18.3.1): + react-router@6.26.2(react@18.3.1): dependencies: - '@remix-run/router': 1.18.0 + '@remix-run/router': 1.19.2 react: 18.3.1 react-shallow-renderer@16.15.0(react@18.3.1): @@ -20402,7 +20220,7 @@ snapshots: globalthis: 1.0.4 which-builtin-type: 1.1.4 - regenerate-unicode-properties@10.1.1: + regenerate-unicode-properties@10.2.0: dependencies: regenerate: 1.4.2 @@ -20425,10 +20243,10 @@ snapshots: dependencies: '@babel/regjsgen': 0.8.0 regenerate: 1.4.2 - regenerate-unicode-properties: 10.1.1 + regenerate-unicode-properties: 10.2.0 regjsparser: 0.9.1 unicode-match-property-ecmascript: 2.0.0 - unicode-match-property-value-ecmascript: 2.1.0 + unicode-match-property-value-ecmascript: 2.2.0 registry-auth-token@5.0.2: dependencies: @@ -20531,13 +20349,18 @@ 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 + ret@0.4.3: {} retry@0.12.0: {} retry@0.13.1: {} - retypeapp@3.5.0: {} + retypeapp@3.6.0: {} reusify@1.0.4: {} @@ -20547,30 +20370,26 @@ snapshots: dependencies: glob: 7.2.3 - rimraf@5.0.10: - dependencies: - glob: 10.4.5 - - rollup@4.21.2: + rollup@4.22.2: dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.21.2 - '@rollup/rollup-android-arm64': 4.21.2 - '@rollup/rollup-darwin-arm64': 4.21.2 - '@rollup/rollup-darwin-x64': 4.21.2 - '@rollup/rollup-linux-arm-gnueabihf': 4.21.2 - '@rollup/rollup-linux-arm-musleabihf': 4.21.2 - '@rollup/rollup-linux-arm64-gnu': 4.21.2 - '@rollup/rollup-linux-arm64-musl': 4.21.2 - '@rollup/rollup-linux-powerpc64le-gnu': 4.21.2 - '@rollup/rollup-linux-riscv64-gnu': 4.21.2 - '@rollup/rollup-linux-s390x-gnu': 4.21.2 - '@rollup/rollup-linux-x64-gnu': 4.21.2 - '@rollup/rollup-linux-x64-musl': 4.21.2 - '@rollup/rollup-win32-arm64-msvc': 4.21.2 - '@rollup/rollup-win32-ia32-msvc': 4.21.2 - '@rollup/rollup-win32-x64-msvc': 4.21.2 + '@rollup/rollup-android-arm-eabi': 4.22.2 + '@rollup/rollup-android-arm64': 4.22.2 + '@rollup/rollup-darwin-arm64': 4.22.2 + '@rollup/rollup-darwin-x64': 4.22.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.22.2 + '@rollup/rollup-linux-arm-musleabihf': 4.22.2 + '@rollup/rollup-linux-arm64-gnu': 4.22.2 + '@rollup/rollup-linux-arm64-musl': 4.22.2 + '@rollup/rollup-linux-powerpc64le-gnu': 4.22.2 + '@rollup/rollup-linux-riscv64-gnu': 4.22.2 + '@rollup/rollup-linux-s390x-gnu': 4.22.2 + '@rollup/rollup-linux-x64-gnu': 4.22.2 + '@rollup/rollup-linux-x64-musl': 4.22.2 + '@rollup/rollup-win32-arm64-msvc': 4.22.2 + '@rollup/rollup-win32-ia32-msvc': 4.22.2 + '@rollup/rollup-win32-x64-msvc': 4.22.2 fsevents: 2.3.3 run-applescript@7.0.0: {} @@ -20658,8 +20477,6 @@ snapshots: semver@6.3.1: {} - semver@7.6.2: {} - semver@7.6.3: {} send@0.18.0: @@ -20680,6 +20497,24 @@ snapshots: transitivePeerDependencies: - supports-color + send@0.19.0: + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + serialize-javascript@6.0.2: dependencies: randombytes: 2.1.0 @@ -20696,7 +20531,7 @@ snapshots: transitivePeerDependencies: - supports-color - serve-static@1.15.0: + serve-static@1.16.0: dependencies: encodeurl: 1.0.2 escape-html: 1.0.3 @@ -20705,6 +20540,15 @@ snapshots: transitivePeerDependencies: - supports-color + serve-static@1.16.2: + dependencies: + encodeurl: 2.0.0 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.19.0 + transitivePeerDependencies: + - supports-color + set-blocking@2.0.0: {} set-cookie-parser@2.7.0: {} @@ -20939,11 +20783,11 @@ snapshots: transitivePeerDependencies: - supports-color - streamx@2.20.0: + streamx@2.20.1: dependencies: fast-fifo: 1.3.2 queue-tick: 1.0.1 - text-decoder: 1.1.1 + text-decoder: 1.2.0 optionalDependencies: bare-events: 2.4.2 @@ -21090,9 +20934,9 @@ snapshots: '@tokenizer/token': 0.3.0 peek-readable: 5.2.0 - style-loader@3.3.4(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))): + style-loader@3.3.4(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))): dependencies: - webpack: 5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12)) + webpack: 5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13)) sucrase@3.35.0: dependencies: @@ -21139,11 +20983,11 @@ snapshots: csso: 5.0.5 picocolors: 1.1.0 - swc-loader@0.2.6(@swc/core@1.7.0(@swc/helpers@0.5.12))(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))): + swc-loader@0.2.6(@swc/core@1.7.26(@swc/helpers@0.5.13))(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))): dependencies: - '@swc/core': 1.7.0(@swc/helpers@0.5.12) + '@swc/core': 1.7.26(@swc/helpers@0.5.13) '@swc/counter': 0.1.3 - webpack: 5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12)) + webpack: 5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13)) symbol-tree@3.2.4: {} @@ -21156,7 +21000,7 @@ snapshots: tabtab@3.0.2: dependencies: - debug: 4.3.5 + debug: 4.3.6 es6-promisify: 6.1.1 inquirer: 6.5.2 minimist: 1.2.8 @@ -21179,7 +21023,7 @@ snapshots: pump: 3.0.0 tar-stream: 3.1.7 optionalDependencies: - bare-fs: 2.3.3 + bare-fs: 2.3.5 bare-path: 2.1.3 tar-stream@2.2.0: @@ -21194,7 +21038,7 @@ snapshots: dependencies: b4a: 1.6.6 fast-fifo: 1.3.2 - streamx: 2.20.0 + streamx: 2.20.1 tar@6.2.1: dependencies: @@ -21221,29 +21065,29 @@ snapshots: ansi-escapes: 5.0.0 supports-hyperlinks: 2.3.0 - terser-webpack-plugin@5.3.10(@swc/core@1.7.0(@swc/helpers@0.5.12))(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))(webpack-cli@5.1.4)): + terser-webpack-plugin@5.3.10(@swc/core@1.7.26(@swc/helpers@0.5.13))(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(webpack-cli@5.1.4)): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 - terser: 5.32.0 - webpack: 5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))(webpack-cli@5.1.4) + terser: 5.33.0 + webpack: 5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(webpack-cli@5.1.4) optionalDependencies: - '@swc/core': 1.7.0(@swc/helpers@0.5.12) + '@swc/core': 1.7.26(@swc/helpers@0.5.13) - terser-webpack-plugin@5.3.10(@swc/core@1.7.0(@swc/helpers@0.5.12))(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))): + terser-webpack-plugin@5.3.10(@swc/core@1.7.26(@swc/helpers@0.5.13))(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 - terser: 5.32.0 - webpack: 5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12)) + terser: 5.33.0 + webpack: 5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13)) optionalDependencies: - '@swc/core': 1.7.0(@swc/helpers@0.5.12) + '@swc/core': 1.7.26(@swc/helpers@0.5.13) - terser@5.32.0: + terser@5.33.0: dependencies: '@jridgewell/source-map': 0.3.6 acorn: 8.12.1 @@ -21256,7 +21100,7 @@ snapshots: glob: 7.2.3 minimatch: 3.1.2 - text-decoder@1.1.1: + text-decoder@1.2.0: dependencies: b4a: 1.6.6 @@ -21303,6 +21147,11 @@ snapshots: time-zone@1.0.0: {} + tinyglobby@0.2.6: + dependencies: + fdir: 6.3.0(picomatch@4.0.2) + picomatch: 4.0.2 + tmp-promise@3.0.3: dependencies: tmp: 0.2.3 @@ -21367,26 +21216,26 @@ snapshots: trough@2.2.0: {} - ts-api-utils@1.3.0(typescript@5.5.3): + ts-api-utils@1.3.0(typescript@5.5.4): dependencies: - typescript: 5.5.3 + typescript: 5.5.4 ts-dedent@2.2.0: {} ts-interface-checker@0.1.13: {} - ts-jest@29.2.3(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)))(typescript@5.5.3): + ts-jest@29.2.5(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)))(typescript@5.5.4): dependencies: bs-logger: 0.2.6 ejs: 3.1.10 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@20.14.11)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3)) + jest: 29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@22.5.5)(typescript@5.5.4)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 semver: 7.6.3 - typescript: 5.5.3 + typescript: 5.5.4 yargs-parser: 21.1.1 optionalDependencies: '@babel/core': 7.25.2 @@ -21394,45 +21243,25 @@ snapshots: '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.25.2) - ts-node@10.9.2(@swc/core@1.7.0(@swc/helpers@0.5.12))(@types/node@22.5.4)(typescript@5.5.3): - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.11 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.4 - '@types/node': 22.5.4 - acorn: 8.12.1 - acorn-walk: 8.3.4 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 5.5.3 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - optionalDependencies: - '@swc/core': 1.7.0(@swc/helpers@0.5.12) - - ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.11)(typescript@5.5.3): + ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.13))(@types/node@22.5.5)(typescript@5.5.4): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.14.11 + '@types/node': 22.5.5 acorn: 8.12.1 acorn-walk: 8.3.4 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.5.3 + typescript: 5.5.4 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 optionalDependencies: - '@swc/core': 1.7.0(@swc/helpers@0.5.12) + '@swc/core': 1.7.26(@swc/helpers@0.5.13) tsconfig-paths@3.15.0: dependencies: @@ -21447,7 +21276,7 @@ snapshots: tsscmp@1.0.6: {} - tsup@8.1.2(@swc/core@1.7.0)(jiti@1.21.6)(postcss@8.4.45)(typescript@5.5.3)(yaml@2.5.1): + tsup@8.3.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.47)(typescript@5.5.4)(yaml@2.5.1): dependencies: bundle-require: 5.0.0(esbuild@0.23.1) cac: 6.7.14 @@ -21456,28 +21285,29 @@ snapshots: debug: 4.3.7(supports-color@5.5.0) esbuild: 0.23.1 execa: 5.1.1 - globby: 11.1.0 joycon: 3.1.1 - postcss-load-config: 6.0.1(jiti@1.21.6)(postcss@8.4.45)(yaml@2.5.1) + picocolors: 1.1.0 + postcss-load-config: 6.0.1(jiti@1.21.6)(postcss@8.4.47)(yaml@2.5.1) resolve-from: 5.0.0 - rollup: 4.21.2 + rollup: 4.22.2 source-map: 0.8.0-beta.0 sucrase: 3.35.0 + tinyglobby: 0.2.6 tree-kill: 1.2.2 optionalDependencies: - '@swc/core': 1.7.0(@swc/helpers@0.5.12) - postcss: 8.4.45 - typescript: 5.5.3 + '@swc/core': 1.7.26(@swc/helpers@0.5.13) + postcss: 8.4.47 + typescript: 5.5.4 transitivePeerDependencies: - jiti - supports-color - tsx - yaml - tsutils@3.21.0(typescript@5.5.3): + tsutils@3.21.0(typescript@5.5.4): dependencies: tslib: 1.14.1 - typescript: 5.5.3 + typescript: 5.5.4 tunnel-agent@0.6.0: dependencies: @@ -21573,7 +21403,7 @@ snapshots: typedarray@0.0.6: {} - typescript@5.5.3: {} + typescript@5.5.4: {} ufo@1.5.4: {} @@ -21599,8 +21429,6 @@ snapshots: undefsafe@2.0.5: {} - undici-types@5.26.5: {} - undici-types@6.19.8: {} unenv@1.10.0: @@ -21611,14 +21439,14 @@ snapshots: node-fetch-native: 1.6.4 pathe: 1.1.2 - unicode-canonical-property-names-ecmascript@2.0.0: {} + unicode-canonical-property-names-ecmascript@2.0.1: {} unicode-match-property-ecmascript@2.0.0: dependencies: - unicode-canonical-property-names-ecmascript: 2.0.0 + unicode-canonical-property-names-ecmascript: 2.0.1 unicode-property-aliases-ecmascript: 2.1.0 - unicode-match-property-value-ecmascript@2.1.0: {} + unicode-match-property-value-ecmascript@2.2.0: {} unicode-property-aliases-ecmascript@2.1.0: {} @@ -21629,7 +21457,7 @@ snapshots: '@types/concat-stream': 2.0.3 '@types/debug': 4.1.12 '@types/is-empty': 1.2.3 - '@types/node': 20.14.11 + '@types/node': 20.16.5 '@types/unist': 3.0.3 concat-stream: 2.0.0 debug: 4.3.7(supports-color@5.5.0) @@ -21720,7 +21548,7 @@ snapshots: unpipe@1.0.0: {} - unstorage@1.12.0(@netlify/blobs@7.4.0): + unstorage@1.12.0(@netlify/blobs@8.0.1): dependencies: anymatch: 3.1.3 chokidar: 3.6.0 @@ -21730,10 +21558,10 @@ snapshots: lru-cache: 10.4.3 mri: 1.2.0 node-fetch-native: 1.6.4 - ofetch: 1.3.4 + ofetch: 1.4.0 ufo: 1.5.4 optionalDependencies: - '@netlify/blobs': 7.4.0 + '@netlify/blobs': 8.0.1 transitivePeerDependencies: - uWebSockets.js @@ -21749,12 +21577,6 @@ snapshots: upath@2.0.1: {} - update-browserslist-db@1.1.0(browserslist@4.23.2): - dependencies: - browserslist: 4.23.2 - escalade: 3.2.0 - picocolors: 1.1.0 - update-browserslist-db@1.1.0(browserslist@4.23.3): dependencies: browserslist: 4.23.3 @@ -21880,7 +21702,7 @@ snapshots: dependencies: chalk: 4.1.2 commander: 9.5.0 - debug: 4.3.5 + debug: 4.3.6 transitivePeerDependencies: - supports-color @@ -21912,48 +21734,48 @@ snapshots: webidl-conversions@7.0.0: {} - webpack-cli@5.1.4(webpack-dev-server@5.0.4)(webpack@5.93.0): + webpack-cli@5.1.4(webpack-dev-server@5.1.0)(webpack@5.94.0): dependencies: '@discoveryjs/json-ext': 0.5.7 - '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4(webpack-dev-server@5.0.4)(webpack@5.93.0))(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))(webpack-cli@5.1.4)) - '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4(webpack-dev-server@5.0.4)(webpack@5.93.0))(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))(webpack-cli@5.1.4)) - '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4(webpack-dev-server@5.0.4)(webpack@5.93.0))(webpack-dev-server@5.0.4(webpack-cli@5.1.4)(webpack@5.93.0))(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))(webpack-cli@5.1.4)) + '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4(webpack-dev-server@5.1.0)(webpack@5.94.0))(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(webpack-cli@5.1.4)) + '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4(webpack-dev-server@5.1.0)(webpack@5.94.0))(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(webpack-cli@5.1.4)) + '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4(webpack-dev-server@5.1.0)(webpack@5.94.0))(webpack-dev-server@5.1.0(webpack-cli@5.1.4)(webpack@5.94.0))(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(webpack-cli@5.1.4)) colorette: 2.0.20 commander: 10.0.1 cross-spawn: 7.0.3 - envinfo: 7.13.0 + envinfo: 7.14.0 fastest-levenshtein: 1.0.16 import-local: 3.2.0 interpret: 3.1.1 rechoir: 0.8.0 - webpack: 5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))(webpack-cli@5.1.4) + webpack: 5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(webpack-cli@5.1.4) webpack-merge: 5.10.0 optionalDependencies: - webpack-dev-server: 5.0.4(webpack-cli@5.1.4)(webpack@5.93.0) + webpack-dev-server: 5.1.0(webpack-cli@5.1.4)(webpack@5.94.0) - webpack-dev-middleware@7.4.2(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))(webpack-cli@5.1.4)): + webpack-dev-middleware@7.4.2(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(webpack-cli@5.1.4)): dependencies: colorette: 2.0.20 - memfs: 4.11.1 + memfs: 4.12.0 mime-types: 2.1.35 on-finished: 2.4.1 range-parser: 1.2.1 schema-utils: 4.2.0 optionalDependencies: - webpack: 5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))(webpack-cli@5.1.4) + webpack: 5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(webpack-cli@5.1.4) - webpack-dev-middleware@7.4.2(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))): + webpack-dev-middleware@7.4.2(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))): dependencies: colorette: 2.0.20 - memfs: 4.11.1 + memfs: 4.12.0 mime-types: 2.1.35 on-finished: 2.4.1 range-parser: 1.2.1 schema-utils: 4.2.0 optionalDependencies: - webpack: 5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12)) + webpack: 5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13)) - webpack-dev-server@5.0.4(webpack-cli@5.1.4)(webpack@5.93.0): + webpack-dev-server@5.1.0(webpack-cli@5.1.4)(webpack@5.94.0): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -21968,33 +21790,31 @@ snapshots: colorette: 2.0.20 compression: 1.7.4 connect-history-api-fallback: 2.0.0 - default-gateway: 6.0.3 - express: 4.19.2 + express: 4.21.0 graceful-fs: 4.2.11 html-entities: 2.5.2 - http-proxy-middleware: 2.0.6(@types/express@4.17.21)(debug@4.3.5) + http-proxy-middleware: 2.0.6(@types/express@4.17.21)(debug@4.3.6) ipaddr.js: 2.2.0 launch-editor: 2.9.1 open: 10.1.0 p-retry: 6.2.0 - rimraf: 5.0.10 schema-utils: 4.2.0 selfsigned: 2.4.1 serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.2(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))(webpack-cli@5.1.4)) + webpack-dev-middleware: 7.4.2(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(webpack-cli@5.1.4)) ws: 8.18.0 optionalDependencies: - webpack: 5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-dev-server@5.0.4)(webpack@5.93.0) + webpack: 5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-dev-server@5.1.0)(webpack@5.94.0) transitivePeerDependencies: - bufferutil - debug - supports-color - utf-8-validate - webpack-dev-server@5.0.4(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))): + webpack-dev-server@5.1.0(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -22009,25 +21829,23 @@ snapshots: colorette: 2.0.20 compression: 1.7.4 connect-history-api-fallback: 2.0.0 - default-gateway: 6.0.3 - express: 4.19.2 + express: 4.21.0 graceful-fs: 4.2.11 html-entities: 2.5.2 - http-proxy-middleware: 2.0.6(@types/express@4.17.21)(debug@4.3.5) + http-proxy-middleware: 2.0.6(@types/express@4.17.21)(debug@4.3.6) ipaddr.js: 2.2.0 launch-editor: 2.9.1 open: 10.1.0 p-retry: 6.2.0 - rimraf: 5.0.10 schema-utils: 4.2.0 selfsigned: 2.4.1 serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.2(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))) + webpack-dev-middleware: 7.4.2(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))) ws: 8.18.0 optionalDependencies: - webpack: 5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12)) + webpack: 5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13)) transitivePeerDependencies: - bufferutil - debug @@ -22042,16 +21860,15 @@ snapshots: webpack-sources@3.2.3: {} - webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12)): + webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13)): dependencies: - '@types/eslint-scope': 3.7.7 - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/wasm-edit': 1.12.1 '@webassemblyjs/wasm-parser': 1.12.1 acorn: 8.12.1 acorn-import-attributes: 1.9.5(acorn@8.12.1) - browserslist: 4.23.2 + browserslist: 4.23.3 chrome-trace-event: 1.0.4 enhanced-resolve: 5.17.1 es-module-lexer: 1.5.4 @@ -22065,7 +21882,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(@swc/core@1.7.0(@swc/helpers@0.5.12))(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))) + terser-webpack-plugin: 5.3.10(@swc/core@1.7.26(@swc/helpers@0.5.13))(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))) watchpack: 2.4.2 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -22073,16 +21890,15 @@ snapshots: - esbuild - uglify-js - webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))(webpack-cli@5.1.4): + webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(webpack-cli@5.1.4): dependencies: - '@types/eslint-scope': 3.7.7 - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/wasm-edit': 1.12.1 '@webassemblyjs/wasm-parser': 1.12.1 acorn: 8.12.1 acorn-import-attributes: 1.9.5(acorn@8.12.1) - browserslist: 4.23.2 + browserslist: 4.23.3 chrome-trace-event: 1.0.4 enhanced-resolve: 5.17.1 es-module-lexer: 1.5.4 @@ -22096,11 +21912,11 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(@swc/core@1.7.0(@swc/helpers@0.5.12))(webpack@5.93.0(@swc/core@1.7.0(@swc/helpers@0.5.12))(webpack-cli@5.1.4)) + terser-webpack-plugin: 5.3.10(@swc/core@1.7.26(@swc/helpers@0.5.13))(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.13))(webpack-cli@5.1.4)) watchpack: 2.4.2 webpack-sources: 3.2.3 optionalDependencies: - webpack-cli: 5.1.4(webpack-dev-server@5.0.4)(webpack@5.93.0) + webpack-cli: 5.1.4(webpack-dev-server@5.1.0)(webpack@5.94.0) transitivePeerDependencies: - '@swc/core' - esbuild @@ -22168,11 +21984,6 @@ snapshots: is-weakmap: 2.0.2 is-weakset: 2.0.3 - which-pm@2.2.0: - dependencies: - load-yaml-file: 0.2.0 - path-exists: 4.0.0 - which-typed-array@1.1.15: dependencies: available-typed-arrays: 1.0.7 @@ -22352,7 +22163,7 @@ snapshots: compress-commons: 6.0.2 readable-stream: 4.5.2 - zod-validation-error@3.3.1(zod@3.23.8): + zod-validation-error@3.4.0(zod@3.23.8): dependencies: zod: 3.23.8 diff --git a/samples/basic/another-remote-module/package.json b/samples/basic/another-remote-module/package.json index 395d3022b..3bea09da7 100644 --- a/samples/basic/another-remote-module/package.json +++ b/samples/basic/another-remote-module/package.json @@ -15,35 +15,35 @@ }, "devDependencies": { "@squide/firefly-webpack-configs": "workspace:*", - "@swc/core": "1.7.0", - "@swc/helpers": "0.5.12", - "@types/react": "18.3.3", + "@swc/core": "1.7.26", + "@swc/helpers": "0.5.13", + "@types/react": "18.3.8", "@types/react-dom": "18.3.0", "@workleap/browserslist-config": "2.0.1", "@workleap/eslint-plugin": "3.2.2", "@workleap/swc-configs": "2.2.3", "@workleap/typescript-configs": "3.0.2", - "browserslist": "4.23.2", + "browserslist": "4.23.3", "cross-env": "7.0.3", "eslint": "8.57.0", "http-server": "14.1.1", - "netlify-cli": "17.33.4", - "nodemon": "3.1.4", - "typescript": "5.5.3", - "webpack": "5.93.0", + "netlify-cli": "17.36.2", + "nodemon": "3.1.6", + "typescript": "5.5.4", + "webpack": "5.94.0", "webpack-cli": "5.1.4", - "webpack-dev-server": "5.0.4" + "webpack-dev-server": "5.1.0" }, "dependencies": { "@basic/shared": "workspace:*", "@basic/shell": "workspace:*", - "@react-aria/toast": "3.0.0-beta.12", - "@react-stately/toast": "3.0.0-beta.4", + "@react-aria/toast": "3.0.0-beta.15", + "@react-stately/toast": "3.0.0-beta.5", "@squide/fakes": "workspace:*", "@squide/firefly": "workspace:*", "react": "18.3.1", "react-dom": "18.3.1", - "react-router-dom": "6.25.1", + "react-router-dom": "6.26.2", "useless-lib": "3.0.0" }, "engines": { diff --git a/samples/basic/another-remote-module/src/register.tsx b/samples/basic/another-remote-module/src/register.tsx index b426f96b8..afd67c8c6 100644 --- a/samples/basic/another-remote-module/src/register.tsx +++ b/samples/basic/another-remote-module/src/register.tsx @@ -20,6 +20,15 @@ function registerRoutes(runtime: FireflyRuntime) { }, { menuId: "/federated-tabs" }); + + // Register nested navigation link + + runtime.registerNavigationItem({ + $label: "Child 3", + to: "#" + }, { + sectionId: "section" + }); } export const register: ModuleRegisterFunction = runtime => { diff --git a/samples/basic/host/package.json b/samples/basic/host/package.json index 08518e1e2..9c00bdc7d 100644 --- a/samples/basic/host/package.json +++ b/samples/basic/host/package.json @@ -17,37 +17,37 @@ }, "devDependencies": { "@squide/firefly-webpack-configs": "workspace:*", - "@swc/core": "1.7.0", - "@swc/helpers": "0.5.12", - "@types/react": "18.3.3", + "@swc/core": "1.7.26", + "@swc/helpers": "0.5.13", + "@types/react": "18.3.8", "@types/react-dom": "18.3.0", "@workleap/browserslist-config": "2.0.1", "@workleap/eslint-plugin": "3.2.2", "@workleap/swc-configs": "2.2.3", "@workleap/typescript-configs": "3.0.2", - "browserslist": "4.23.2", + "browserslist": "4.23.3", "copyfiles": "2.4.1", "eslint": "8.57.0", "http-server": "14.1.1", - "netlify-cli": "17.33.4", - "nodemon": "3.1.4", - "typescript": "5.5.3", - "webpack": "5.93.0", + "netlify-cli": "17.36.2", + "nodemon": "3.1.6", + "typescript": "5.5.4", + "webpack": "5.94.0", "webpack-cli": "5.1.4", - "webpack-dev-server": "5.0.4" + "webpack-dev-server": "5.1.0" }, "dependencies": { "@basic/local-module": "workspace:*", "@basic/shared": "workspace:*", "@basic/shell": "workspace:*", - "@react-aria/toast": "3.0.0-beta.12", - "@react-stately/toast": "3.0.0-beta.4", + "@react-aria/toast": "3.0.0-beta.15", + "@react-stately/toast": "3.0.0-beta.5", "@squide/fakes": "workspace:*", "@squide/firefly": "workspace:*", - "@tanstack/react-query": "5.51.9", + "@tanstack/react-query": "5.56.2", "react": "18.3.1", "react-dom": "18.3.1", - "react-router-dom": "6.25.1", + "react-router-dom": "6.26.2", "useless-lib": "^2.0.0" }, "engines": { diff --git a/samples/basic/local-module/package.json b/samples/basic/local-module/package.json index 0b03646a0..e4d4bee51 100644 --- a/samples/basic/local-module/package.json +++ b/samples/basic/local-module/package.json @@ -29,26 +29,26 @@ "react-router-dom": "*" }, "devDependencies": { - "@react-aria/toast": "3.0.0-beta.12", - "@react-stately/toast": "3.0.0-beta.4", + "@react-aria/toast": "3.0.0-beta.15", + "@react-stately/toast": "3.0.0-beta.5", "@squide/firefly-webpack-configs": "workspace:*", - "@swc/core": "1.7.0", - "@swc/helpers": "0.5.12", - "@types/react": "18.3.3", + "@swc/core": "1.7.26", + "@swc/helpers": "0.5.13", + "@types/react": "18.3.8", "@types/react-dom": "18.3.0", "@workleap/browserslist-config": "2.0.1", "@workleap/eslint-plugin": "3.2.2", "@workleap/swc-configs": "2.2.3", "@workleap/tsup-configs": "3.0.6", "@workleap/typescript-configs": "3.0.2", - "browserslist": "4.23.2", + "browserslist": "4.23.3", "eslint": "8.57.0", - "nodemon": "3.1.4", - "tsup": "8.1.2", - "typescript": "5.5.3", - "webpack": "5.93.0", + "nodemon": "3.1.6", + "tsup": "8.3.0", + "typescript": "5.5.4", + "webpack": "5.94.0", "webpack-cli": "5.1.4", - "webpack-dev-server": "5.0.4" + "webpack-dev-server": "5.1.0" }, "dependencies": { "@basic/shared": "workspace:*", @@ -57,7 +57,7 @@ "@squide/firefly": "workspace:*", "react": "18.3.1", "react-dom": "18.3.1", - "react-router-dom": "6.25.1" + "react-router-dom": "6.26.2" }, "engines": { "node": ">=20.0.0" diff --git a/samples/basic/remote-module/package.json b/samples/basic/remote-module/package.json index 6c3cd1e3f..f5ed119b0 100644 --- a/samples/basic/remote-module/package.json +++ b/samples/basic/remote-module/package.json @@ -15,35 +15,35 @@ }, "devDependencies": { "@squide/firefly-webpack-configs": "workspace:*", - "@swc/core": "1.7.0", - "@swc/helpers": "0.5.12", - "@types/react": "18.3.3", + "@swc/core": "1.7.26", + "@swc/helpers": "0.5.13", + "@types/react": "18.3.8", "@types/react-dom": "18.3.0", "@workleap/browserslist-config": "2.0.1", "@workleap/eslint-plugin": "3.2.2", "@workleap/swc-configs": "2.2.3", "@workleap/typescript-configs": "3.0.2", - "browserslist": "4.23.2", + "browserslist": "4.23.3", "cross-env": "7.0.3", "eslint": "8.57.0", "http-server": "14.1.1", - "netlify-cli": "17.33.4", - "nodemon": "3.1.4", - "typescript": "5.5.3", - "webpack": "5.93.0", + "netlify-cli": "17.36.2", + "nodemon": "3.1.6", + "typescript": "5.5.4", + "webpack": "5.94.0", "webpack-cli": "5.1.4", - "webpack-dev-server": "5.0.4" + "webpack-dev-server": "5.1.0" }, "dependencies": { "@basic/shared": "workspace:*", "@basic/shell": "workspace:*", - "@react-aria/toast": "3.0.0-beta.12", - "@react-stately/toast": "3.0.0-beta.4", + "@react-aria/toast": "3.0.0-beta.15", + "@react-stately/toast": "3.0.0-beta.5", "@squide/fakes": "workspace:*", "@squide/firefly": "workspace:*", "react": "18.3.1", "react-dom": "18.3.1", - "react-router-dom": "6.25.1", + "react-router-dom": "6.26.2", "useless-lib": "^2.1.0" }, "engines": { diff --git a/samples/basic/remote-module/src/register.tsx b/samples/basic/remote-module/src/register.tsx index b9475d02f..c3d58b54e 100644 --- a/samples/basic/remote-module/src/register.tsx +++ b/samples/basic/remote-module/src/register.tsx @@ -47,16 +47,17 @@ function registerRoutes(runtime: FireflyRuntime) { }); runtime.registerNavigationItem({ + $id: "section", $label: "Section", $priority: -30, children: [ { - to: "#", - $label: "Child 1" + $label: "Child 1", + to: "#" }, { - to: "#", - $label: "Child 2" + $label: "Child 2", + to: "#" } ] }); diff --git a/samples/basic/shared/package.json b/samples/basic/shared/package.json index 2e62cadec..6fd6ca07b 100644 --- a/samples/basic/shared/package.json +++ b/samples/basic/shared/package.json @@ -26,15 +26,15 @@ }, "devDependencies": { "@squide/firefly": "workspace:*", - "@types/react": "18.3.3", + "@types/react": "18.3.8", "@types/react-dom": "18.3.0", "@workleap/eslint-plugin": "3.2.2", "@workleap/tsup-configs": "3.0.6", "@workleap/typescript-configs": "3.0.2", "eslint": "8.57.0", - "nodemon": "3.1.4", - "tsup": "8.1.2", - "typescript": "5.5.3" + "nodemon": "3.1.6", + "tsup": "8.3.0", + "typescript": "5.5.4" }, "engines": { "node": ">=20.0.0" diff --git a/samples/basic/shell/package.json b/samples/basic/shell/package.json index 30614044e..24169df3a 100644 --- a/samples/basic/shell/package.json +++ b/samples/basic/shell/package.json @@ -32,15 +32,15 @@ "@basic/shared": "workspace:*", "@squide/fakes": "workspace:*", "@squide/firefly": "workspace:*", - "@types/react": "18.3.3", + "@types/react": "18.3.8", "@types/react-dom": "18.3.0", "@workleap/eslint-plugin": "3.2.2", "@workleap/tsup-configs": "3.0.6", "@workleap/typescript-configs": "3.0.2", "eslint": "8.57.0", - "nodemon": "3.1.4", - "tsup": "8.1.2", - "typescript": "5.5.3" + "nodemon": "3.1.6", + "tsup": "8.3.0", + "typescript": "5.5.4" }, "engines": { "node": ">=20.0.0" diff --git a/samples/endpoints/host/package.json b/samples/endpoints/host/package.json index e27698dc4..5996fc2b7 100644 --- a/samples/endpoints/host/package.json +++ b/samples/endpoints/host/package.json @@ -17,25 +17,25 @@ }, "devDependencies": { "@squide/firefly-webpack-configs": "workspace:*", - "@swc/core": "1.7.0", - "@swc/helpers": "0.5.12", - "@types/react": "18.3.3", + "@swc/core": "1.7.26", + "@swc/helpers": "0.5.13", + "@types/react": "18.3.8", "@types/react-dom": "18.3.0", "@workleap/browserslist-config": "2.0.1", "@workleap/eslint-plugin": "3.2.2", "@workleap/swc-configs": "2.2.3", "@workleap/typescript-configs": "3.0.2", - "browserslist": "4.23.2", + "browserslist": "4.23.3", "copyfiles": "2.4.1", "cross-env": "7.0.3", "eslint": "8.57.0", "http-server": "14.1.1", - "netlify-cli": "17.33.4", - "nodemon": "3.1.4", - "typescript": "5.5.3", - "webpack": "5.93.0", + "netlify-cli": "17.36.2", + "nodemon": "3.1.6", + "typescript": "5.5.4", + "webpack": "5.94.0", "webpack-cli": "5.1.4", - "webpack-dev-server": "5.0.4" + "webpack-dev-server": "5.1.0" }, "dependencies": { "@endpoints/i18next": "workspace:*", @@ -46,15 +46,15 @@ "@squide/fakes": "workspace:*", "@squide/firefly": "workspace:*", "@squide/i18next": "workspace:*", - "@tanstack/react-query": "5.51.9", - "i18next": "23.12.1", + "@tanstack/react-query": "5.56.2", + "i18next": "23.15.1", "i18next-browser-languagedetector": "8.0.0", - "msw": "2.3.1", + "msw": "2.4.9", "react": "18.3.1", "react-dom": "18.3.1", "react-error-boundary": "4.0.13", - "react-i18next": "15.0.0", - "react-router-dom": "6.25.1" + "react-i18next": "15.0.2", + "react-router-dom": "6.26.2" }, "msw": { "workerDirectory": "public" diff --git a/samples/endpoints/host/src/register.tsx b/samples/endpoints/host/src/register.tsx index 742a96e27..60e856214 100644 --- a/samples/endpoints/host/src/register.tsx +++ b/samples/endpoints/host/src/register.tsx @@ -26,7 +26,7 @@ function registerRoutes(runtime: FireflyRuntime, i18nextInstance: i18n) { }); runtime.registerNavigationItem({ - $key: "home", + $id: "home", $label: , $priority: 999, to: "/" diff --git a/samples/endpoints/i18next/package.json b/samples/endpoints/i18next/package.json index 1b1be5584..49b4fabe3 100644 --- a/samples/endpoints/i18next/package.json +++ b/samples/endpoints/i18next/package.json @@ -35,9 +35,9 @@ "@workleap/tsup-configs": "3.0.6", "@workleap/typescript-configs": "3.0.2", "eslint": "8.57.0", - "nodemon": "3.1.4", - "tsup": "8.1.2", - "typescript": "5.5.3" + "nodemon": "3.1.6", + "tsup": "8.3.0", + "typescript": "5.5.4" }, "engines": { "node": ">=20.0.0" diff --git a/samples/endpoints/layouts/package.json b/samples/endpoints/layouts/package.json index ec26faada..b38b50409 100644 --- a/samples/endpoints/layouts/package.json +++ b/samples/endpoints/layouts/package.json @@ -35,15 +35,15 @@ "@endpoints/shared": "workspace:*", "@squide/firefly": "workspace:*", "@squide/i18next": "workspace:*", - "@types/react": "18.3.3", + "@types/react": "18.3.8", "@types/react-dom": "18.3.0", "@workleap/eslint-plugin": "3.2.2", "@workleap/tsup-configs": "3.0.6", "@workleap/typescript-configs": "3.0.2", "eslint": "8.57.0", - "nodemon": "3.1.4", - "tsup": "8.1.2", - "typescript": "5.5.3" + "nodemon": "3.1.6", + "tsup": "8.3.0", + "typescript": "5.5.4" }, "engines": { "node": ">=20.0.0" diff --git a/samples/endpoints/layouts/src/registerLayouts.tsx b/samples/endpoints/layouts/src/registerLayouts.tsx index 4b417d40e..b29226ad9 100644 --- a/samples/endpoints/layouts/src/registerLayouts.tsx +++ b/samples/endpoints/layouts/src/registerLayouts.tsx @@ -20,7 +20,7 @@ function registerRoutes(runtime: FireflyRuntime, i18nextInstance: i18n, host?: s }); runtime.registerNavigationItem({ - $key: "federated-tabs", + $id: "federated-tabs", $label: , to: "/federated-tabs" }); diff --git a/samples/endpoints/local-module/package.json b/samples/endpoints/local-module/package.json index c76bcfa8d..1718254a8 100644 --- a/samples/endpoints/local-module/package.json +++ b/samples/endpoints/local-module/package.json @@ -33,26 +33,26 @@ }, "devDependencies": { "@squide/firefly-webpack-configs": "workspace:*", - "@swc/core": "1.7.0", - "@swc/helpers": "0.5.12", - "@tanstack/react-query-devtools": "5.51.9", - "@types/react": "18.3.3", + "@swc/core": "1.7.26", + "@swc/helpers": "0.5.13", + "@tanstack/react-query-devtools": "5.56.2", + "@types/react": "18.3.8", "@types/react-dom": "18.3.0", "@workleap/browserslist-config": "2.0.1", "@workleap/eslint-plugin": "3.2.2", "@workleap/swc-configs": "2.2.3", "@workleap/tsup-configs": "3.0.6", "@workleap/typescript-configs": "3.0.2", - "browserslist": "4.23.2", + "browserslist": "4.23.3", "cross-env": "7.0.3", "eslint": "8.57.0", "http-server": "14.1.1", - "nodemon": "3.1.4", - "tsup": "8.1.2", - "typescript": "5.5.3", - "webpack": "5.93.0", + "nodemon": "3.1.6", + "tsup": "8.3.0", + "typescript": "5.5.4", + "webpack": "5.94.0", "webpack-cli": "5.1.4", - "webpack-dev-server": "5.0.4" + "webpack-dev-server": "5.1.0" }, "dependencies": { "@endpoints/i18next": "workspace:*", @@ -62,15 +62,15 @@ "@squide/fakes": "workspace:*", "@squide/firefly": "workspace:*", "@squide/i18next": "workspace:*", - "@tanstack/react-query": "5.51.9", - "i18next": "23.12.1", + "@tanstack/react-query": "5.56.2", + "i18next": "23.15.1", "i18next-browser-languagedetector": "8.0.0", - "msw": "2.3.1", + "msw": "2.4.9", "react": "18.3.1", "react-dom": "18.3.1", "react-error-boundary": "4.0.13", - "react-i18next": "15.0.0", - "react-router-dom": "6.25.1" + "react-i18next": "15.0.2", + "react-router-dom": "6.26.2" }, "msw": { "workerDirectory": "public" diff --git a/samples/endpoints/local-module/src/register.tsx b/samples/endpoints/local-module/src/register.tsx index 876d7b5f0..d943cdb18 100644 --- a/samples/endpoints/local-module/src/register.tsx +++ b/samples/endpoints/local-module/src/register.tsx @@ -55,13 +55,13 @@ function registerRoutes(runtime: FireflyRuntime, i18nextInstance: i18n): Deferre }); runtime.registerNavigationItem({ - $key: "subscription", + $id: "subscription", $label: , to: "/subscription" }); runtime.registerNavigationItem({ - $key: "characters-tab", + $id: "characters-tab", $label: , to: "/federated-tabs" }, { @@ -71,7 +71,7 @@ function registerRoutes(runtime: FireflyRuntime, i18nextInstance: i18n): Deferre return ({ featureFlags }) => { if (featureFlags?.featureA) { runtime.registerNavigationItem({ - $key: "feature-a", + $id: "feature-a", $label: , to: "/feature-a" }); diff --git a/samples/endpoints/remote-module/package.json b/samples/endpoints/remote-module/package.json index 65b5c9603..f2f308c7e 100644 --- a/samples/endpoints/remote-module/package.json +++ b/samples/endpoints/remote-module/package.json @@ -21,26 +21,26 @@ }, "devDependencies": { "@squide/firefly-webpack-configs": "workspace:*", - "@swc/core": "1.7.0", - "@swc/helpers": "0.5.12", - "@tanstack/react-query-devtools": "5.51.9", - "@types/react": "18.3.3", + "@swc/core": "1.7.26", + "@swc/helpers": "0.5.13", + "@tanstack/react-query-devtools": "5.56.2", + "@types/react": "18.3.8", "@types/react-dom": "18.3.0", "@workleap/browserslist-config": "2.0.1", "@workleap/eslint-plugin": "3.2.2", "@workleap/swc-configs": "2.2.3", "@workleap/typescript-configs": "3.0.2", - "browserslist": "4.23.2", + "browserslist": "4.23.3", "copyfiles": "2.4.1", "cross-env": "7.0.3", "eslint": "8.57.0", "http-server": "14.1.1", - "netlify-cli": "17.33.4", - "nodemon": "3.1.4", - "typescript": "5.5.3", - "webpack": "5.93.0", + "netlify-cli": "17.36.2", + "nodemon": "3.1.6", + "typescript": "5.5.4", + "webpack": "5.94.0", "webpack-cli": "5.1.4", - "webpack-dev-server": "5.0.4" + "webpack-dev-server": "5.1.0" }, "dependencies": { "@endpoints/i18next": "workspace:*", @@ -50,15 +50,15 @@ "@squide/fakes": "workspace:*", "@squide/firefly": "workspace:*", "@squide/i18next": "workspace:*", - "@tanstack/react-query": "5.51.9", - "i18next": "23.12.1", + "@tanstack/react-query": "5.56.2", + "i18next": "23.15.1", "i18next-browser-languagedetector": "8.0.0", - "msw": "2.3.1", + "msw": "2.4.9", "react": "18.3.1", "react-dom": "18.3.1", "react-error-boundary": "4.0.13", - "react-i18next": "15.0.0", - "react-router-dom": "6.25.1" + "react-i18next": "15.0.2", + "react-router-dom": "6.26.2" }, "msw": { "workerDirectory": "public" diff --git a/samples/endpoints/remote-module/src/register.tsx b/samples/endpoints/remote-module/src/register.tsx index a4886bfd0..e2f5dcd11 100644 --- a/samples/endpoints/remote-module/src/register.tsx +++ b/samples/endpoints/remote-module/src/register.tsx @@ -92,7 +92,7 @@ function registerRoutes(runtime: FireflyRuntime, i18nextInstance: i18n): Deferre }); runtime.registerNavigationItem({ - $key: "episodes-tab", + $id: "episodes-tab", $label: , to: "/federated-tabs/episodes" }, { @@ -100,7 +100,7 @@ function registerRoutes(runtime: FireflyRuntime, i18nextInstance: i18n): Deferre }); runtime.registerNavigationItem({ - $key: "locations-tab", + $id: "locations-tab", $label: , to: "/federated-tabs/locations" }, { @@ -108,7 +108,7 @@ function registerRoutes(runtime: FireflyRuntime, i18nextInstance: i18n): Deferre }); runtime.registerNavigationItem({ - $key: "failing-tab", + $id: "failing-tab", $label: , to: "/federated-tabs/failing" }, { @@ -118,7 +118,7 @@ function registerRoutes(runtime: FireflyRuntime, i18nextInstance: i18n): Deferre return ({ featureFlags }) => { if (featureFlags?.featureB) { runtime.registerNavigationItem({ - $key: "feature-b", + $id: "feature-b", $label: , to: "/feature-b" }); @@ -126,7 +126,7 @@ function registerRoutes(runtime: FireflyRuntime, i18nextInstance: i18n): Deferre if (featureFlags?.featureC) { runtime.registerNavigationItem({ - $key: "feature-c", + $id: "feature-c", $label: , to: "/feature-c" }); diff --git a/samples/endpoints/shared/package.json b/samples/endpoints/shared/package.json index 474addfd9..a4ec43b66 100644 --- a/samples/endpoints/shared/package.json +++ b/samples/endpoints/shared/package.json @@ -27,15 +27,15 @@ "devDependencies": { "@squide/fakes": "workspace:*", "@squide/firefly": "workspace:*", - "@types/react": "18.3.3", + "@types/react": "18.3.8", "@types/react-dom": "18.3.0", "@workleap/eslint-plugin": "3.2.2", "@workleap/tsup-configs": "3.0.6", "@workleap/typescript-configs": "3.0.2", "eslint": "8.57.0", - "nodemon": "3.1.4", - "tsup": "8.1.2", - "typescript": "5.5.3" + "nodemon": "3.1.6", + "tsup": "8.3.0", + "typescript": "5.5.4" }, "engines": { "node": ">=20.0.0" diff --git a/samples/endpoints/shell/package.json b/samples/endpoints/shell/package.json index a19e9bdc0..6a6778b38 100644 --- a/samples/endpoints/shell/package.json +++ b/samples/endpoints/shell/package.json @@ -41,16 +41,16 @@ "@squide/fakes": "workspace:*", "@squide/firefly": "workspace:*", "@squide/i18next": "workspace:*", - "@types/node": "20.14.11", - "@types/react": "18.3.3", + "@types/node": "22.5.5", + "@types/react": "18.3.8", "@types/react-dom": "18.3.0", "@workleap/eslint-plugin": "3.2.2", "@workleap/tsup-configs": "3.0.6", "@workleap/typescript-configs": "3.0.2", "eslint": "8.57.0", - "nodemon": "3.1.4", - "tsup": "8.1.2", - "typescript": "5.5.3" + "nodemon": "3.1.6", + "tsup": "8.3.0", + "typescript": "5.5.4" }, "engines": { "node": ">=20.0.0" diff --git a/templates/getting-started/apps/local-module/src/register.tsx b/templates/getting-started/apps/local-module/src/register.tsx index e0c898d38..6b0d047bf 100644 --- a/templates/getting-started/apps/local-module/src/register.tsx +++ b/templates/getting-started/apps/local-module/src/register.tsx @@ -8,7 +8,7 @@ export const register: ModuleRegisterFunction = runtime => { }); runtime.registerNavigationItem({ - $key: "local-page", + $id: "local-page", $label: "Local/Page", to: "/local/page" }); diff --git a/templates/getting-started/apps/remote-module/src/register.tsx b/templates/getting-started/apps/remote-module/src/register.tsx index 44a9da417..0ec01a86c 100644 --- a/templates/getting-started/apps/remote-module/src/register.tsx +++ b/templates/getting-started/apps/remote-module/src/register.tsx @@ -8,7 +8,7 @@ export const register: ModuleRegisterFunction = runtime => { }); runtime.registerNavigationItem({ - $key: "remote-page", + $id: "remote-page", $label: "Remote/Page", to: "/remote/page" });