diff --git a/docs/components/CodeSnippets.tsx b/docs/components/CodeSnippets.tsx
index e2b0d823a..0e3d2c384 100644
--- a/docs/components/CodeSnippets.tsx
+++ b/docs/components/CodeSnippets.tsx
@@ -334,7 +334,7 @@ function buildOutput() {
kB
{' '}
- 87.6 kB
+ 89.7 kB
@@ -344,7 +344,7 @@ function buildOutput() {
B
{' '}
- 86.2 kB
+ 89.3 kB
@@ -354,7 +354,7 @@ function buildOutput() {
kB
{' '}
- 89.3 kB
+ 91.1 kB
diff --git a/packages/next-intl/.size-limit.ts b/packages/next-intl/.size-limit.ts
new file mode 100644
index 000000000..48ee299be
--- /dev/null
+++ b/packages/next-intl/.size-limit.ts
@@ -0,0 +1,48 @@
+import type {SizeLimitConfig} from 'size-limit';
+
+const config: SizeLimitConfig = [
+ {
+ path: 'dist/production/index.react-client.js',
+ limit: '14.084 KB'
+ },
+ {
+ path: 'dist/production/index.react-server.js',
+ limit: '14.665 KB'
+ },
+ {
+ path: 'dist/production/navigation.react-client.js',
+ limit: '3.155 KB'
+ },
+ {
+ path: 'dist/production/navigation.react-server.js',
+ limit: '15.975 KB'
+ },
+ {
+ path: 'dist/production/server.react-client.js',
+ limit: '1 KB'
+ },
+ {
+ path: 'dist/production/server.react-server.js',
+ limit: '13.975 KB'
+ },
+ {
+ path: 'dist/production/middleware.js',
+ limit: '9.535 KB'
+ },
+ {
+ path: 'dist/production/routing.js',
+ limit: '0 KB'
+ },
+ {
+ path: 'dist/esm/index.react-client.js',
+ import: '*',
+ limit: '14.265 kB'
+ },
+ {
+ path: 'dist/esm/index.react-client.js',
+ import: '{NextIntlClientProvider}',
+ limit: '1.425 kB'
+ }
+];
+
+module.exports = config;
diff --git a/packages/next-intl/package.json b/packages/next-intl/package.json
index 06a7a4bba..d7b40b824 100644
--- a/packages/next-intl/package.json
+++ b/packages/next-intl/package.json
@@ -96,7 +96,7 @@
"devDependencies": {
"@arethetypeswrong/cli": "^0.15.3",
"@edge-runtime/vm": "^3.2.0",
- "@size-limit/preset-big-lib": "^8.2.6",
+ "@size-limit/preset-big-lib": "^11.1.4",
"@testing-library/react": "^16.0.0",
"@types/negotiator": "^0.6.3",
"@types/node": "^20.14.5",
@@ -112,43 +112,9 @@
"react-dom": "^18.3.1",
"rollup": "^4.18.0",
"rollup-plugin-preserve-directives": "0.4.0",
- "size-limit": "^8.2.6",
+ "size-limit": "^11.1.4",
"typescript": "^5.5.3",
"vitest": "^2.0.2"
},
- "prettier": "../../.prettierrc.json",
- "size-limit": [
- {
- "path": "dist/production/index.react-client.js",
- "limit": "16.055 KB"
- },
- {
- "path": "dist/production/index.react-server.js",
- "limit": "16.875 KB"
- },
- {
- "path": "dist/production/navigation.react-client.js",
- "limit": "3.55 KB"
- },
- {
- "path": "dist/production/navigation.react-server.js",
- "limit": "18.355 KB"
- },
- {
- "path": "dist/production/server.react-client.js",
- "limit": "1 KB"
- },
- {
- "path": "dist/production/server.react-server.js",
- "limit": "16.025 KB"
- },
- {
- "path": "dist/production/middleware.js",
- "limit": "11.515 KB"
- },
- {
- "path": "dist/production/routing.js",
- "limit": "0 KB"
- }
- ]
+ "prettier": "../../.prettierrc.json"
}
diff --git a/packages/next-intl/src/react-server/index.test.tsx b/packages/next-intl/src/react-server/index.test.tsx
index 702bbf227..a358d784b 100644
--- a/packages/next-intl/src/react-server/index.test.tsx
+++ b/packages/next-intl/src/react-server/index.test.tsx
@@ -1,14 +1,14 @@
import React from 'react';
import {describe, expect, vi, it} from 'vitest';
import {getTranslations} from '../server.react-server';
-import {renderToStream} from './utils';
+import {renderToStream} from './testUtils';
import {
- createTranslator,
useFormatter,
useLocale,
useMessages,
useNow,
- useTranslations
+ useTranslations,
+ _createCache
} from '.';
vi.mock('react');
@@ -32,10 +32,9 @@ vi.mock('../../src/server/react-server/RequestLocale', () => ({
vi.mock('use-intl/core', async (importActual) => {
const actual: any = await importActual();
- const {createTranslator: actualCreateTranslator} = actual;
return {
...actual,
- createTranslator: vi.fn(actualCreateTranslator)
+ _createCache: vi.fn(actual._createCache)
};
});
@@ -73,8 +72,7 @@ describe('performance', () => {
});
it('shares a formatter cache between `useTranslations` and `getTranslations`', async () => {
- // First invocation
- // (simulate React rendering)
+ // First invocation (simulate React rendering)
try {
useTranslations('Component');
} catch (promiseOrError) {
@@ -89,12 +87,7 @@ describe('performance', () => {
// Second invocation with a different namespace
await getTranslations('Component2');
- // Verify the cached formatters are shared
- expect(vi.mocked(createTranslator).mock.calls[0][0]._formatters).toBe(
- vi.mocked(createTranslator).mock.calls[1][0]._formatters
- );
- expect(vi.mocked(createTranslator).mock.calls.length).toBe(2);
-
- vi.mocked(createTranslator).mockReset();
+ expect(vi.mocked(_createCache).mock.calls.length).toBe(1);
+ vi.mocked(_createCache).mockReset();
});
});
diff --git a/packages/next-intl/src/react-server/utils.tsx b/packages/next-intl/src/react-server/testUtils.tsx
similarity index 100%
rename from packages/next-intl/src/react-server/utils.tsx
rename to packages/next-intl/src/react-server/testUtils.tsx
diff --git a/packages/next-intl/src/react-server/useTranslations.test.tsx b/packages/next-intl/src/react-server/useTranslations.test.tsx
index ea36ea8b2..396841934 100644
--- a/packages/next-intl/src/react-server/useTranslations.test.tsx
+++ b/packages/next-intl/src/react-server/useTranslations.test.tsx
@@ -1,6 +1,6 @@
import React, {cache} from 'react';
import {describe, expect, it, vi, beforeEach} from 'vitest';
-import {renderToStream} from './utils';
+import {renderToStream} from './testUtils';
import {createTranslator, useTranslations} from '.';
vi.mock('../../src/server/react-server/createRequestConfig', () => ({
diff --git a/packages/next-intl/src/server/react-server/getConfig.tsx b/packages/next-intl/src/server/react-server/getConfig.tsx
index 4796e15fb..13c7834f7 100644
--- a/packages/next-intl/src/server/react-server/getConfig.tsx
+++ b/packages/next-intl/src/server/react-server/getConfig.tsx
@@ -1,5 +1,10 @@
import {cache} from 'react';
-import {initializeConfig, IntlConfig, _createFormatters} from 'use-intl/core';
+import {
+ initializeConfig,
+ IntlConfig,
+ _createIntlFormatters,
+ _createCache
+} from 'use-intl/core';
import {getRequestLocale} from './RequestLocale';
import createRequestConfig from './createRequestConfig';
@@ -52,7 +57,8 @@ async function receiveRuntimeConfigImpl(
}
const receiveRuntimeConfig = cache(receiveRuntimeConfigImpl);
-const getFormatters = cache(_createFormatters);
+const getFormatters = cache(_createIntlFormatters);
+const getCache = cache(_createCache);
async function getConfigImpl(localeOverride?: string): Promise<
IntlConfig & {
@@ -60,14 +66,17 @@ async function getConfigImpl(localeOverride?: string): Promise<
now: NonNullable;
onError: NonNullable;
timeZone: NonNullable;
- _formatters: ReturnType;
+ _formatters: ReturnType;
}
> {
const runtimeConfig = await receiveRuntimeConfig(
createRequestConfig,
localeOverride
);
- return {...initializeConfig(runtimeConfig), _formatters: getFormatters()};
+ return {
+ ...initializeConfig(runtimeConfig),
+ _formatters: getFormatters(getCache())
+ };
}
const getConfig = cache(getConfigImpl);
export default getConfig;
diff --git a/packages/use-intl/.size-limit.ts b/packages/use-intl/.size-limit.ts
new file mode 100644
index 000000000..b3650ce65
--- /dev/null
+++ b/packages/use-intl/.size-limit.ts
@@ -0,0 +1,24 @@
+import type {SizeLimitConfig} from 'size-limit';
+
+const config: SizeLimitConfig = [
+ {
+ name: './ (ESM)',
+ import: '*',
+ path: 'dist/esm/index.js',
+ limit: '14.065 kB'
+ },
+ {
+ name: './ (no useTranslations, ESM)',
+ path: 'dist/esm/index.js',
+ import:
+ '{IntlProvider, useLocale, useNow, useTimeZone, useMessages, useFormatter}',
+ limit: '2.865 kB'
+ },
+ {
+ name: './ (CJS)',
+ path: 'dist/production/index.js',
+ limit: '15.65 kB'
+ }
+];
+
+module.exports = config;
diff --git a/packages/use-intl/package.json b/packages/use-intl/package.json
index eb679035c..2f5949525 100644
--- a/packages/use-intl/package.json
+++ b/packages/use-intl/package.json
@@ -71,7 +71,7 @@
},
"devDependencies": {
"@arethetypeswrong/cli": "^0.15.3",
- "@size-limit/preset-big-lib": "^8.2.6",
+ "@size-limit/preset-big-lib": "^11.1.4",
"@testing-library/react": "^16.0.0",
"@types/node": "^20.14.5",
"@types/react": "^18.3.3",
@@ -83,16 +83,10 @@
"react": "^18.3.1",
"react-dom": "^18.3.1",
"rollup": "^4.18.0",
- "size-limit": "^8.2.6",
+ "size-limit": "^11.1.4",
"tinyspy": "^3.0.0",
"typescript": "^5.5.3",
"vitest": "^2.0.2"
},
- "prettier": "../../.prettierrc.json",
- "size-limit": [
- {
- "path": "dist/production/index.js",
- "limit": "15.545 kB"
- }
- ]
+ "prettier": "../../.prettierrc.json"
}
diff --git a/packages/use-intl/src/core/IntlConfig.tsx b/packages/use-intl/src/core/IntlConfig.tsx
index 9b27d695f..fedaf7f78 100644
--- a/packages/use-intl/src/core/IntlConfig.tsx
+++ b/packages/use-intl/src/core/IntlConfig.tsx
@@ -1,7 +1,7 @@
import type AbstractIntlMessages from './AbstractIntlMessages';
-import Formats from './Formats';
-import IntlError from './IntlError';
-import TimeZone from './TimeZone';
+import type Formats from './Formats';
+import type IntlError from './IntlError';
+import type TimeZone from './TimeZone';
import type {RichTranslationValues} from './TranslationValues';
/**
diff --git a/packages/use-intl/src/core/NumberFormatOptions.tsx b/packages/use-intl/src/core/NumberFormatOptions.tsx
index cec2fc291..d7c498788 100644
--- a/packages/use-intl/src/core/NumberFormatOptions.tsx
+++ b/packages/use-intl/src/core/NumberFormatOptions.tsx
@@ -1,4 +1,4 @@
-import {Formats} from 'intl-messageformat';
+import type {Formats} from 'intl-messageformat';
// Use the already bundled version of `NumberFormat` from `@formatjs/ecma402-abstract`
// that comes with `intl-messageformat`
diff --git a/packages/use-intl/src/core/createBaseTranslator.tsx b/packages/use-intl/src/core/createBaseTranslator.tsx
index 6e3e6351b..4e46daca6 100644
--- a/packages/use-intl/src/core/createBaseTranslator.tsx
+++ b/packages/use-intl/src/core/createBaseTranslator.tsx
@@ -17,12 +17,36 @@ import TranslationValues, {
} from './TranslationValues';
import convertFormatsToIntlMessageFormat from './convertFormatsToIntlMessageFormat';
import {defaultGetMessageFallback, defaultOnError} from './defaults';
-import {Formatters} from './formatters';
+import {
+ Formatters,
+ IntlCache,
+ IntlFormatters,
+ memoFn,
+ MessageFormatter
+} from './formatters';
import joinPath from './joinPath';
import MessageKeys from './utils/MessageKeys';
import NestedKeyOf from './utils/NestedKeyOf';
import NestedValueOf from './utils/NestedValueOf';
+// Placed here for improved tree shaking. Somehow when this is placed in
+// `formatters.tsx`, then it can't be shaken off from `next-intl`.
+function createMessageFormatter(
+ cache: IntlCache,
+ intlFormatters: IntlFormatters
+): MessageFormatter {
+ const getMessageFormat = memoFn(
+ (...args: ConstructorParameters) =>
+ new IntlMessageFormat(args[0], args[1], args[2], {
+ formatters: intlFormatters,
+ ...args[3]
+ }),
+ cache.message
+ );
+
+ return getMessageFormat;
+}
+
function resolvePath(
locale: string,
messages: AbstractIntlMessages | undefined,
@@ -125,6 +149,7 @@ function getMessagesOrError(
}
export type CreateBaseTranslatorProps = InitializedIntlConfig & {
+ cache: IntlCache;
formatters: Formatters;
defaultTranslationValues?: RichTranslationValues;
namespace?: string;
@@ -169,6 +194,7 @@ function createBaseTranslatorImpl<
Messages extends AbstractIntlMessages,
NestedKey extends NestedKeyOf
>({
+ cache,
defaultTranslationValues,
formats: globalFormats,
formatters,
@@ -247,6 +273,12 @@ function createBaseTranslatorImpl<
const plainMessage = getPlainMessage(message as string, values);
if (plainMessage) return plainMessage;
+ // Lazy init the message formatter for better tree
+ // shaking in case message formatting is not used.
+ if (!formatters.getMessageFormat) {
+ formatters.getMessageFormat = createMessageFormatter(cache, formatters);
+ }
+
try {
messageFormat = formatters.getMessageFormat(
message,
diff --git a/packages/use-intl/src/core/createFormatter.tsx b/packages/use-intl/src/core/createFormatter.tsx
index fae88cd78..95b7e18f0 100644
--- a/packages/use-intl/src/core/createFormatter.tsx
+++ b/packages/use-intl/src/core/createFormatter.tsx
@@ -6,7 +6,12 @@ import NumberFormatOptions from './NumberFormatOptions';
import RelativeTimeFormatOptions from './RelativeTimeFormatOptions';
import TimeZone from './TimeZone';
import {defaultOnError} from './defaults';
-import {createFormatters, Formatters} from './formatters';
+import {
+ createCache,
+ createIntlFormatters,
+ Formatters,
+ IntlCache
+} from './formatters';
const SECOND = 1;
const MINUTE = SECOND * 60;
@@ -72,10 +77,13 @@ type Props = {
now?: Date;
/** @private */
_formatters?: Formatters;
+ /** @private */
+ _cache?: IntlCache;
};
export default function createFormatter({
- _formatters: formatters = createFormatters(),
+ _cache: cache = createCache(),
+ _formatters: formatters = createIntlFormatters(cache),
formats,
locale,
now: globalNow,
diff --git a/packages/use-intl/src/core/createTranslator.tsx b/packages/use-intl/src/core/createTranslator.tsx
index ea904a6de..ad95fb832 100644
--- a/packages/use-intl/src/core/createTranslator.tsx
+++ b/packages/use-intl/src/core/createTranslator.tsx
@@ -7,7 +7,12 @@ import TranslationValues, {
} from './TranslationValues';
import createTranslatorImpl from './createTranslatorImpl';
import {defaultGetMessageFallback, defaultOnError} from './defaults';
-import {createFormatters, Formatters} from './formatters';
+import {
+ createCache,
+ createIntlFormatters,
+ Formatters,
+ IntlCache
+} from './formatters';
import MessageKeys from './utils/MessageKeys';
import NamespaceKeys from './utils/NamespaceKeys';
import NestedKeyOf from './utils/NestedKeyOf';
@@ -27,7 +32,8 @@ export default function createTranslator<
NestedKeyOf
> = never
>({
- _formatters = createFormatters(),
+ _cache = createCache(),
+ _formatters = createIntlFormatters(_cache),
getMessageFallback = defaultGetMessageFallback,
messages,
namespace,
@@ -38,6 +44,8 @@ export default function createTranslator<
namespace?: NestedKey;
/** @private */
_formatters?: Formatters;
+ /** @private */
+ _cache?: IntlCache;
}): // Explicitly defining the return type is necessary as TypeScript would get it wrong
{
// Default invocation
@@ -128,6 +136,7 @@ export default function createTranslator<
{
...rest,
onError,
+ cache: _cache,
formatters: _formatters,
getMessageFallback,
// @ts-expect-error `messages` is allowed to be `undefined` here and will be handled internally
diff --git a/packages/use-intl/src/core/createTranslatorImpl.tsx b/packages/use-intl/src/core/createTranslatorImpl.tsx
index 8e9cff2f6..64dd9f2dd 100644
--- a/packages/use-intl/src/core/createTranslatorImpl.tsx
+++ b/packages/use-intl/src/core/createTranslatorImpl.tsx
@@ -1,7 +1,7 @@
import AbstractIntlMessages from './AbstractIntlMessages';
import {InitializedIntlConfig} from './IntlConfig';
import createBaseTranslator from './createBaseTranslator';
-import {Formatters} from './formatters';
+import {Formatters, IntlCache} from './formatters';
import resolveNamespace from './resolveNamespace';
import NestedKeyOf from './utils/NestedKeyOf';
@@ -12,6 +12,7 @@ export type CreateTranslatorImplProps = Omit<
namespace: string;
messages: Messages;
formatters: Formatters;
+ cache: IntlCache;
};
export default function createTranslatorImpl<
diff --git a/packages/use-intl/src/core/formatters.tsx b/packages/use-intl/src/core/formatters.tsx
index d141731b0..9b24f4a1e 100644
--- a/packages/use-intl/src/core/formatters.tsx
+++ b/packages/use-intl/src/core/formatters.tsx
@@ -1,16 +1,26 @@
import {memoize, Cache, strategies} from '@formatjs/fast-memoize';
// eslint-disable-next-line import/no-named-as-default -- False positive
-import IntlMessageFormat from 'intl-messageformat';
+import type IntlMessageFormat from 'intl-messageformat';
-export function createIntlCache() {
+export type IntlCache = {
+ dateTime: Record;
+ number: Record;
+ message: Record;
+ relativeTime: Record;
+ pluralRules: Record;
+ list: Record;
+ displayNames: Record;
+};
+
+export function createCache(): IntlCache {
return {
- dateTime: {} as Record,
- number: {} as Record,
- message: {} as Record,
- relativeTime: {} as Record,
- pluralRules: {} as Record,
- list: {} as Record,
- displayNames: {} as Record
+ dateTime: {},
+ number: {},
+ message: {},
+ relativeTime: {},
+ pluralRules: {},
+ list: {},
+ displayNames: {}
};
}
@@ -31,7 +41,7 @@ function createMemoCache(
};
}
-function memoFn) => any>(
+export function memoFn) => any>(
fn: Fn,
cache: Record | undefined>
) {
@@ -51,7 +61,7 @@ function memoConstructor) => unknown>(
) as (...args: ConstructorParameters) => InstanceType;
}
-export function createFormatters(): {
+export type IntlFormatters = {
getDateTimeFormat(
...args: ConstructorParameters
): Intl.DateTimeFormat;
@@ -61,9 +71,6 @@ export function createFormatters(): {
getPluralRules(
...args: ConstructorParameters
): Intl.PluralRules;
- getMessageFormat(
- ...args: ConstructorParameters
- ): IntlMessageFormat;
getRelativeTimeFormat(
...args: ConstructorParameters
): Intl.RelativeTimeFormat;
@@ -73,9 +80,9 @@ export function createFormatters(): {
getDisplayNames(
...args: ConstructorParameters
): Intl.DisplayNames;
-} {
- const cache = createIntlCache();
+};
+export function createIntlFormatters(cache: IntlCache): IntlFormatters {
const getDateTimeFormat = memoConstructor(
Intl.DateTimeFormat,
cache.dateTime
@@ -91,28 +98,21 @@ export function createFormatters(): {
Intl.DisplayNames,
cache.displayNames
);
- const getMessageFormat = memoFn(
- (...args: ConstructorParameters) =>
- new IntlMessageFormat(args[0], args[1], args[2], {
- formatters: {
- getNumberFormat,
- getDateTimeFormat,
- getPluralRules
- },
- ...args[3]
- }),
- cache.message
- );
return {
getDateTimeFormat,
getNumberFormat,
getPluralRules,
- getMessageFormat,
getRelativeTimeFormat,
getListFormat,
getDisplayNames
};
}
-export type Formatters = ReturnType;
+export type MessageFormatter = (
+ ...args: ConstructorParameters
+) => IntlMessageFormat;
+
+export type Formatters = IntlFormatters & {
+ getMessageFormat?: MessageFormatter;
+};
diff --git a/packages/use-intl/src/core/index.tsx b/packages/use-intl/src/core/index.tsx
index d45b89671..cfc3cc0e4 100644
--- a/packages/use-intl/src/core/index.tsx
+++ b/packages/use-intl/src/core/index.tsx
@@ -16,4 +16,5 @@ export type {default as MessageKeys} from './utils/MessageKeys';
export type {default as NamespaceKeys} from './utils/NamespaceKeys';
export type {default as NestedKeyOf} from './utils/NestedKeyOf';
export type {default as NestedValueOf} from './utils/NestedValueOf';
-export {createFormatters as _createFormatters} from './formatters';
+export {createIntlFormatters as _createIntlFormatters} from './formatters';
+export {createCache as _createCache} from './formatters';
diff --git a/packages/use-intl/src/react/IntlContext.tsx b/packages/use-intl/src/react/IntlContext.tsx
index 9c7470d4f..3606b83d6 100644
--- a/packages/use-intl/src/react/IntlContext.tsx
+++ b/packages/use-intl/src/react/IntlContext.tsx
@@ -1,9 +1,10 @@
import {createContext} from 'react';
import type {InitializedIntlConfig} from '../core/IntlConfig';
-import type {Formatters} from '../core/formatters';
+import type {Formatters, IntlCache} from '../core/formatters';
export type IntlContextValue = InitializedIntlConfig & {
formatters: Formatters;
+ cache: IntlCache;
};
const IntlContext = createContext(undefined);
diff --git a/packages/use-intl/src/react/IntlProvider.tsx b/packages/use-intl/src/react/IntlProvider.tsx
index ab0fbac36..9480d7f66 100644
--- a/packages/use-intl/src/react/IntlProvider.tsx
+++ b/packages/use-intl/src/react/IntlProvider.tsx
@@ -1,6 +1,10 @@
import React, {ReactNode, useMemo} from 'react';
import IntlConfig from '../core/IntlConfig';
-import {createFormatters} from '../core/formatters';
+import {
+ createCache,
+ createIntlFormatters,
+ Formatters
+} from '../core/formatters';
import initializeConfig from '../core/initializeConfig';
import IntlContext from './IntlContext';
@@ -23,7 +27,11 @@ export default function IntlProvider({
// long-running apps with a persistent `IntlProvider` at the root,
// this can reduce the memory footprint (e.g. in React Native).
// eslint-disable-next-line react-hooks/exhaustive-deps
- const formatters = useMemo(() => createFormatters(), [locale]);
+ const cache = useMemo(() => createCache(), [locale]);
+ const formatters: Formatters = useMemo(
+ () => createIntlFormatters(cache),
+ [cache]
+ );
// Memoizing this value helps to avoid triggering a re-render of all
// context consumers in case the configuration didn't change. However,
@@ -45,9 +53,11 @@ export default function IntlProvider({
onError,
timeZone
}),
- formatters
+ formatters,
+ cache
}),
[
+ cache,
defaultTranslationValues,
formats,
formatters,
diff --git a/packages/use-intl/src/react/useTranslationsImpl.tsx b/packages/use-intl/src/react/useTranslationsImpl.tsx
index 42809ad0b..8d1c8cbbd 100644
--- a/packages/use-intl/src/react/useTranslationsImpl.tsx
+++ b/packages/use-intl/src/react/useTranslationsImpl.tsx
@@ -14,6 +14,7 @@ export default function useTranslationsImpl<
NestedKey extends NestedKeyOf
>(allMessages: Messages, namespace: NestedKey, namespacePrefix: string) {
const {
+ cache,
defaultTranslationValues,
formats: globalFormats,
formatters,
@@ -43,6 +44,7 @@ export default function useTranslationsImpl<
const translate = useMemo(
() =>
createBaseTranslator({
+ cache,
formatters,
getMessageFallback,
messages: allMessages,
@@ -54,6 +56,7 @@ export default function useTranslationsImpl<
timeZone
}),
[
+ cache,
formatters,
getMessageFallback,
allMessages,
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index dd3d54e1c..ebfa62319 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -346,7 +346,7 @@ importers:
version: 29.7.0
'@mdx-js/loader':
specifier: ^3.0.1
- version: 3.0.1(webpack@5.88.1)
+ version: 3.0.1(webpack@5.94.0)
'@next/mdx':
specifier: ^14.2.5
version: 14.2.5(@mdx-js/loader@3.0.1)(@mdx-js/react@3.0.1)
@@ -355,7 +355,7 @@ importers:
version: 1.44.1
'@storybook/nextjs':
specifier: ^8.2.9
- version: 8.2.9(@jest/globals@29.7.0)(@types/jest@29.5.12)(esbuild@0.21.5)(jest@29.7.0)(next@14.2.4)(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.9)(typescript@5.5.3)(webpack@5.88.1)
+ version: 8.2.9(@jest/globals@29.7.0)(@types/jest@29.5.12)(esbuild@0.21.5)(jest@29.7.0)(next@14.2.4)(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.9)(typescript@5.5.3)(webpack@5.94.0)
'@storybook/react':
specifier: ^8.2.9
version: 8.2.9(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.9)(typescript@5.5.3)
@@ -385,7 +385,7 @@ importers:
version: 3.0.0
css-loader:
specifier: ^6.8.1
- version: 6.11.0(webpack@5.88.1)
+ version: 6.11.0(webpack@5.94.0)
eslint:
specifier: ^8.56.0
version: 8.56.0
@@ -755,8 +755,8 @@ importers:
specifier: ^3.2.0
version: 3.2.0
'@size-limit/preset-big-lib':
- specifier: ^8.2.6
- version: 8.2.6(size-limit@8.2.6)
+ specifier: ^11.1.4
+ version: 11.1.4(size-limit@11.1.4)
'@testing-library/react':
specifier: ^16.0.0
version: 16.0.0(@testing-library/dom@10.3.1)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)
@@ -803,8 +803,8 @@ importers:
specifier: 0.4.0
version: 0.4.0(rollup@4.18.0)
size-limit:
- specifier: ^8.2.6
- version: 8.2.6
+ specifier: ^11.1.4
+ version: 11.1.4
typescript:
specifier: ^5.5.3
version: 5.5.3
@@ -825,8 +825,8 @@ importers:
specifier: ^0.15.3
version: 0.15.3
'@size-limit/preset-big-lib':
- specifier: ^8.2.6
- version: 8.2.6(size-limit@8.2.6)
+ specifier: ^11.1.4
+ version: 11.1.4(size-limit@11.1.4)
'@testing-library/react':
specifier: ^16.0.0
version: 16.0.0(@testing-library/dom@10.3.1)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)
@@ -861,8 +861,8 @@ importers:
specifier: ^4.18.0
version: 4.18.0
size-limit:
- specifier: ^8.2.6
- version: 8.2.6
+ specifier: ^11.1.4
+ version: 11.1.4
tinyspy:
specifier: ^3.0.0
version: 3.0.0
@@ -1399,7 +1399,7 @@ packages:
'@babel/core': 7.24.7
'@babel/helper-compilation-targets': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
- debug: 4.3.5(supports-color@6.1.0)
+ debug: 4.3.6
lodash.debounce: 4.0.8
resolve: 1.22.8
semver: 6.3.1
@@ -6657,14 +6657,14 @@ packages:
- typescript
dev: true
- /@mdx-js/loader@3.0.1(webpack@5.88.1):
+ /@mdx-js/loader@3.0.1(webpack@5.94.0):
resolution: {integrity: sha512-YbYUt7YyEOdFxhyuCWmLKf5vKhID/hJAojEUnheJk4D8iYVLFQw+BAoBWru/dHGch1omtmZOPstsmKPyBF68Tw==}
peerDependencies:
webpack: '>=5'
dependencies:
'@mdx-js/mdx': 3.0.1
source-map: 0.7.4
- webpack: 5.88.1(esbuild@0.21.5)
+ webpack: 5.94.0(esbuild@0.21.5)
transitivePeerDependencies:
- supports-color
dev: true
@@ -6882,7 +6882,7 @@ packages:
'@mdx-js/react':
optional: true
dependencies:
- '@mdx-js/loader': 3.0.1(webpack@5.88.1)
+ '@mdx-js/loader': 3.0.1(webpack@5.94.0)
'@mdx-js/react': 3.0.1(@types/react@18.3.3)(react@18.3.1)
source-map: 0.7.4
dev: true
@@ -7339,7 +7339,7 @@ packages:
dependencies:
playwright: 1.44.1
- /@pmmmwh/react-refresh-webpack-plugin@0.5.15(react-refresh@0.14.2)(webpack@5.88.1):
+ /@pmmmwh/react-refresh-webpack-plugin@0.5.15(react-refresh@0.14.2)(webpack@5.94.0):
resolution: {integrity: sha512-LFWllMA55pzB9D34w/wXUCf8+c+IYKuJDgxiZ3qMhl64KRMBHYM1I3VdGaD2BV5FNPV2/S2596bppxHbv2ZydQ==}
engines: {node: '>= 10.13'}
peerDependencies:
@@ -7373,13 +7373,47 @@ packages:
react-refresh: 0.14.2
schema-utils: 4.2.0
source-map: 0.7.4
- webpack: 5.88.1(esbuild@0.21.5)
+ webpack: 5.94.0(esbuild@0.21.5)
dev: true
/@popperjs/core@2.11.8:
resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==}
dev: false
+ /@puppeteer/browsers@2.2.2:
+ resolution: {integrity: sha512-hZ/JhxPIceWaGSEzUZp83/8M49CoxlkuThfTR7t4AoCu5+ZvJ3vktLm60Otww2TXeROB5igiZ8D9oPQh6ckBVg==}
+ engines: {node: '>=18'}
+ hasBin: true
+ dependencies:
+ debug: 4.3.4
+ extract-zip: 2.0.1
+ progress: 2.0.3
+ proxy-agent: 6.4.0
+ semver: 7.6.0
+ tar-fs: 3.0.5
+ unbzip2-stream: 1.4.3
+ yargs: 17.7.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@puppeteer/browsers@2.3.1:
+ resolution: {integrity: sha512-uK7o3hHkK+naEobMSJ+2ySYyXtQkBxIH8Gn4MK9ciePjNV+Pf+PgY/W7iPzn2MTjl3stcYB5AlcTmPYw7AXDwA==}
+ engines: {node: '>=18'}
+ hasBin: true
+ dependencies:
+ debug: 4.3.6
+ extract-zip: 2.0.1
+ progress: 2.0.3
+ proxy-agent: 6.4.0
+ semver: 7.6.3
+ tar-fs: 3.0.6
+ unbzip2-stream: 1.4.3
+ yargs: 17.7.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/@radix-ui/number@1.1.0:
resolution: {integrity: sha512-V3gRzhVNU1ldS5XhAPTom1fOIo4ccrjjJgmE+LI2h/WaFpHmx0MQApT+KZHnx8abG6Avtfcz4WoEciMnpFT3HQ==}
dev: false
@@ -8588,29 +8622,27 @@ packages:
- supports-color
dev: true
- /@size-limit/file@8.2.6(size-limit@8.2.6):
- resolution: {integrity: sha512-B7ayjxiJsbtXdIIWazJkB5gezi5WBMecdHTFPMDhI3NwEML1RVvUjAkrb1mPAAkIpt2LVHPnhdCUHjqDdjugwg==}
- engines: {node: ^14.0.0 || ^16.0.0 || >=18.0.0}
+ /@size-limit/file@11.1.4(size-limit@11.1.4):
+ resolution: {integrity: sha512-QxnGj9cxhCEuqMAV01gqonXIKcc+caZqFHZpV51oL2ZJNGSPP9Q/yyf+7HbVe00faOFd1dZZwMwzZmX7HQ9LbA==}
+ engines: {node: ^18.0.0 || >=20.0.0}
peerDependencies:
- size-limit: 8.2.6
+ size-limit: 11.1.4
dependencies:
- semver: 7.5.3
- size-limit: 8.2.6
+ size-limit: 11.1.4
dev: true
- /@size-limit/preset-big-lib@8.2.6(size-limit@8.2.6):
- resolution: {integrity: sha512-63a+yos0QNMVCfx1OWnxBrdQVTlBVGzW5fDXwpWq/hKfP3B89XXHYGeL2Z2f8IXSVeGkAHXnDcTZyIPRaXffVg==}
+ /@size-limit/preset-big-lib@11.1.4(size-limit@11.1.4):
+ resolution: {integrity: sha512-bejHzQXW+RkWNmCRsny/MmmjshQsU0/vVKSYnZKiu8J2zWIpxZ2pFT79ud+pCQoXeH11rI/YObItcaPf+URAng==}
peerDependencies:
- size-limit: 8.2.6
+ size-limit: 11.1.4
dependencies:
- '@size-limit/file': 8.2.6(size-limit@8.2.6)
- '@size-limit/time': 8.2.6(size-limit@8.2.6)
- '@size-limit/webpack': 8.2.6(size-limit@8.2.6)
- size-limit: 8.2.6
+ '@size-limit/file': 11.1.4(size-limit@11.1.4)
+ '@size-limit/time': 11.1.4(size-limit@11.1.4)
+ '@size-limit/webpack': 11.1.4(size-limit@11.1.4)
+ size-limit: 11.1.4
transitivePeerDependencies:
- '@swc/core'
- bufferutil
- - encoding
- esbuild
- supports-color
- uglify-js
@@ -8618,31 +8650,29 @@ packages:
- webpack-cli
dev: true
- /@size-limit/time@8.2.6(size-limit@8.2.6):
- resolution: {integrity: sha512-fUEPvz7Uq6+oUQxSYbNlJt3tTgQBl1VY21USi/B7ebdnVKLnUx1JyPI9v7imN6XEkB2VpJtnYgjFeLgNrirzMA==}
- engines: {node: ^14.0.0 || ^16.0.0 || >=18.0.0}
+ /@size-limit/time@11.1.4(size-limit@11.1.4):
+ resolution: {integrity: sha512-TxEeDZrNWQ1uwFjQT0d4NHUG7MGGrjnKSn9CwuF+Wb4AeZWy1nb93HjPCfe8LbQedV7xRY6dV/oSiARYvReuYg==}
+ engines: {node: ^18.0.0 || >=20.0.0}
peerDependencies:
- size-limit: 8.2.6
+ size-limit: 11.1.4
dependencies:
- estimo: 2.3.6
- react: 17.0.2
- size-limit: 8.2.6
+ estimo: 3.0.3
+ size-limit: 11.1.4
transitivePeerDependencies:
- bufferutil
- - encoding
- supports-color
- utf-8-validate
dev: true
- /@size-limit/webpack@8.2.6(size-limit@8.2.6):
- resolution: {integrity: sha512-y2sB66m5sJxIjZ8SEAzpWbiw3/+bnQHDHfk9cSbV5ChKklq02AlYg8BS5KxGWmMpdyUo4TzpjSCP9oEudY+hxQ==}
- engines: {node: ^14.0.0 || ^16.0.0 || >=18.0.0}
+ /@size-limit/webpack@11.1.4(size-limit@11.1.4):
+ resolution: {integrity: sha512-ikkvhPID8smxuBpO0VO2cgTutHcY3INPtVO4z9Qzb/ZdLV4zQ0MwtxWA9mZz92p+wLvTBKkMrewCdUYO2CIIaQ==}
+ engines: {node: ^18.0.0 || >=20.0.0}
peerDependencies:
- size-limit: 8.2.6
+ size-limit: 11.1.4
dependencies:
- nanoid: 3.3.6
- size-limit: 8.2.6
- webpack: 5.88.1
+ nanoid: 5.0.7
+ size-limit: 11.1.4
+ webpack: 5.94.0
transitivePeerDependencies:
- '@swc/core'
- esbuild
@@ -8792,7 +8822,7 @@ packages:
storybook: 8.2.9(@babel/preset-env@7.24.7)
dev: true
- /@storybook/nextjs@8.2.9(@jest/globals@29.7.0)(@types/jest@29.5.12)(esbuild@0.21.5)(jest@29.7.0)(next@14.2.4)(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.9)(typescript@5.5.3)(webpack@5.88.1):
+ /@storybook/nextjs@8.2.9(@jest/globals@29.7.0)(@types/jest@29.5.12)(esbuild@0.21.5)(jest@29.7.0)(next@14.2.4)(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.9)(typescript@5.5.3)(webpack@5.94.0):
resolution: {integrity: sha512-grWabBWTKp0ltJv+DuHtIH88oVIq2xFeTchVaA6mC9jqxmOilKe2KAQA2QNH6/5CXrGo+MuUO62UsHrYOIwsSg==}
engines: {node: '>=18.0.0'}
peerDependencies:
@@ -8821,38 +8851,38 @@ packages:
'@babel/preset-react': 7.24.7(@babel/core@7.24.8)
'@babel/preset-typescript': 7.24.7(@babel/core@7.24.8)
'@babel/runtime': 7.24.8
- '@pmmmwh/react-refresh-webpack-plugin': 0.5.15(react-refresh@0.14.2)(webpack@5.88.1)
+ '@pmmmwh/react-refresh-webpack-plugin': 0.5.15(react-refresh@0.14.2)(webpack@5.94.0)
'@storybook/builder-webpack5': 8.2.9(esbuild@0.21.5)(storybook@8.2.9)(typescript@5.5.3)
'@storybook/preset-react-webpack': 8.2.9(esbuild@0.21.5)(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.9)(typescript@5.5.3)
'@storybook/react': 8.2.9(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.9)(typescript@5.5.3)
'@storybook/test': 8.2.9(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0)(storybook@8.2.9)
'@types/node': 18.19.44
'@types/semver': 7.5.0
- babel-loader: 9.1.3(@babel/core@7.24.8)(webpack@5.88.1)
- css-loader: 6.11.0(webpack@5.88.1)
+ babel-loader: 9.1.3(@babel/core@7.24.8)(webpack@5.94.0)
+ css-loader: 6.11.0(webpack@5.94.0)
find-up: 5.0.0
fs-extra: 11.2.0
image-size: 1.0.2
loader-utils: 3.2.1
next: 14.2.4(@babel/core@7.24.8)(@playwright/test@1.44.1)(react-dom@18.3.1)(react@18.3.1)
- node-polyfill-webpack-plugin: 2.0.1(webpack@5.88.1)
+ node-polyfill-webpack-plugin: 2.0.1(webpack@5.94.0)
pnp-webpack-plugin: 1.7.0(typescript@5.5.3)
postcss: 8.4.39
- postcss-loader: 8.1.1(postcss@8.4.39)(typescript@5.5.3)(webpack@5.88.1)
+ postcss-loader: 8.1.1(postcss@8.4.39)(typescript@5.5.3)(webpack@5.94.0)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
react-refresh: 0.14.2
resolve-url-loader: 5.0.0
- sass-loader: 12.6.0(webpack@5.88.1)
+ sass-loader: 12.6.0(webpack@5.94.0)
semver: 7.6.2
storybook: 8.2.9(@babel/preset-env@7.24.7)
- style-loader: 3.3.4(webpack@5.88.1)
+ style-loader: 3.3.4(webpack@5.94.0)
styled-jsx: 5.1.1(@babel/core@7.24.8)(react@18.3.1)
ts-dedent: 2.2.0
tsconfig-paths: 4.2.0
tsconfig-paths-webpack-plugin: 4.1.0
typescript: 5.5.3
- webpack: 5.88.1(esbuild@0.21.5)
+ webpack: 5.94.0(esbuild@0.21.5)
optionalDependencies:
sharp: 0.33.4
transitivePeerDependencies:
@@ -9167,6 +9197,10 @@ packages:
engines: {node: '>= 10'}
dev: true
+ /@tootallnate/quickjs-emscripten@0.23.0:
+ resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==}
+ dev: true
+
/@tufjs/canonical-json@2.0.0:
resolution: {integrity: sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==}
engines: {node: ^16.14.0 || >=18.0.0}
@@ -10188,6 +10222,13 @@ packages:
'@webassemblyjs/helper-wasm-bytecode': 1.11.6
dev: true
+ /@webassemblyjs/ast@1.12.1:
+ resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==}
+ dependencies:
+ '@webassemblyjs/helper-numbers': 1.11.6
+ '@webassemblyjs/helper-wasm-bytecode': 1.11.6
+ dev: true
+
/@webassemblyjs/ast@1.9.0:
resolution: {integrity: sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==}
dependencies:
@@ -10216,6 +10257,10 @@ packages:
resolution: {integrity: sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==}
dev: true
+ /@webassemblyjs/helper-buffer@1.12.1:
+ resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==}
+ dev: true
+
/@webassemblyjs/helper-buffer@1.9.0:
resolution: {integrity: sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==}
dev: false
@@ -10261,6 +10306,15 @@ packages:
'@webassemblyjs/wasm-gen': 1.11.6
dev: true
+ /@webassemblyjs/helper-wasm-section@1.12.1:
+ resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==}
+ dependencies:
+ '@webassemblyjs/ast': 1.12.1
+ '@webassemblyjs/helper-buffer': 1.12.1
+ '@webassemblyjs/helper-wasm-bytecode': 1.11.6
+ '@webassemblyjs/wasm-gen': 1.12.1
+ dev: true
+
/@webassemblyjs/helper-wasm-section@1.9.0:
resolution: {integrity: sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==}
dependencies:
@@ -10315,6 +10369,19 @@ packages:
'@webassemblyjs/wast-printer': 1.11.6
dev: true
+ /@webassemblyjs/wasm-edit@1.12.1:
+ resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==}
+ dependencies:
+ '@webassemblyjs/ast': 1.12.1
+ '@webassemblyjs/helper-buffer': 1.12.1
+ '@webassemblyjs/helper-wasm-bytecode': 1.11.6
+ '@webassemblyjs/helper-wasm-section': 1.12.1
+ '@webassemblyjs/wasm-gen': 1.12.1
+ '@webassemblyjs/wasm-opt': 1.12.1
+ '@webassemblyjs/wasm-parser': 1.12.1
+ '@webassemblyjs/wast-printer': 1.12.1
+ dev: true
+
/@webassemblyjs/wasm-edit@1.9.0:
resolution: {integrity: sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==}
dependencies:
@@ -10338,6 +10405,16 @@ packages:
'@webassemblyjs/utf8': 1.11.6
dev: true
+ /@webassemblyjs/wasm-gen@1.12.1:
+ resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==}
+ dependencies:
+ '@webassemblyjs/ast': 1.12.1
+ '@webassemblyjs/helper-wasm-bytecode': 1.11.6
+ '@webassemblyjs/ieee754': 1.11.6
+ '@webassemblyjs/leb128': 1.11.6
+ '@webassemblyjs/utf8': 1.11.6
+ dev: true
+
/@webassemblyjs/wasm-gen@1.9.0:
resolution: {integrity: sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==}
dependencies:
@@ -10357,6 +10434,15 @@ packages:
'@webassemblyjs/wasm-parser': 1.11.6
dev: true
+ /@webassemblyjs/wasm-opt@1.12.1:
+ resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==}
+ dependencies:
+ '@webassemblyjs/ast': 1.12.1
+ '@webassemblyjs/helper-buffer': 1.12.1
+ '@webassemblyjs/wasm-gen': 1.12.1
+ '@webassemblyjs/wasm-parser': 1.12.1
+ dev: true
+
/@webassemblyjs/wasm-opt@1.9.0:
resolution: {integrity: sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==}
dependencies:
@@ -10377,6 +10463,17 @@ packages:
'@webassemblyjs/utf8': 1.11.6
dev: true
+ /@webassemblyjs/wasm-parser@1.12.1:
+ resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==}
+ dependencies:
+ '@webassemblyjs/ast': 1.12.1
+ '@webassemblyjs/helper-api-error': 1.11.6
+ '@webassemblyjs/helper-wasm-bytecode': 1.11.6
+ '@webassemblyjs/ieee754': 1.11.6
+ '@webassemblyjs/leb128': 1.11.6
+ '@webassemblyjs/utf8': 1.11.6
+ dev: true
+
/@webassemblyjs/wasm-parser@1.9.0:
resolution: {integrity: sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==}
dependencies:
@@ -10406,6 +10503,13 @@ packages:
'@xtuc/long': 4.2.2
dev: true
+ /@webassemblyjs/wast-printer@1.12.1:
+ resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==}
+ dependencies:
+ '@webassemblyjs/ast': 1.12.1
+ '@xtuc/long': 4.2.2
+ dev: true
+
/@webassemblyjs/wast-printer@1.9.0:
resolution: {integrity: sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==}
dependencies:
@@ -10500,6 +10604,14 @@ packages:
acorn: 8.12.0
dev: true
+ /acorn-import-attributes@1.9.5(acorn@8.12.0):
+ resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==}
+ peerDependencies:
+ acorn: ^8
+ dependencies:
+ acorn: 8.12.0
+ dev: true
+
/acorn-jsx@5.3.2(acorn@7.4.1):
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies:
@@ -11057,6 +11169,13 @@ packages:
resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==}
dev: true
+ /ast-types@0.13.4:
+ resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==}
+ engines: {node: '>=4'}
+ dependencies:
+ tslib: 2.6.3
+ dev: true
+
/ast-types@0.14.2:
resolution: {integrity: sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==}
engines: {node: '>=4'}
@@ -11165,6 +11284,10 @@ packages:
dequal: 2.0.3
dev: true
+ /b4a@1.6.6:
+ resolution: {integrity: sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==}
+ dev: true
+
/babel-core@7.0.0-bridge.0(@babel/core@7.24.7):
resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==}
peerDependencies:
@@ -11215,7 +11338,7 @@ packages:
webpack: 4.43.0
dev: false
- /babel-loader@9.1.3(@babel/core@7.24.8)(webpack@5.88.1):
+ /babel-loader@9.1.3(@babel/core@7.24.8)(webpack@5.94.0):
resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==}
engines: {node: '>= 14.15.0'}
peerDependencies:
@@ -11225,7 +11348,7 @@ packages:
'@babel/core': 7.24.8
find-cache-dir: 4.0.0
schema-utils: 4.2.0
- webpack: 5.88.1(esbuild@0.21.5)
+ webpack: 5.94.0(esbuild@0.21.5)
dev: true
/babel-plugin-istanbul@6.1.1:
@@ -11462,6 +11585,44 @@ packages:
/balanced-match@1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+ /bare-events@2.4.2:
+ resolution: {integrity: sha512-qMKFd2qG/36aA4GwvKq8MxnPgCQAmBWmSyLWsJcbn8v03wvIPQ/hG1Ms8bPzndZxMDoHpxez5VOS+gC9Yi24/Q==}
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /bare-fs@2.3.1:
+ resolution: {integrity: sha512-W/Hfxc/6VehXlsgFtbB5B4xFcsCl+pAh30cYhoFyXErf6oGrwjh8SwiPAdHgpmWonKuYpZgGywN0SXt7dgsADA==}
+ requiresBuild: true
+ dependencies:
+ bare-events: 2.4.2
+ bare-path: 2.1.3
+ bare-stream: 2.1.3
+ dev: true
+ optional: true
+
+ /bare-os@2.4.0:
+ resolution: {integrity: sha512-v8DTT08AS/G0F9xrhyLtepoo9EJBJ85FRSMbu1pQUlAf6A8T0tEEQGMVObWeqpjhSPXsE0VGlluFBJu2fdoTNg==}
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /bare-path@2.1.3:
+ resolution: {integrity: sha512-lh/eITfU8hrj9Ru5quUp0Io1kJWIk1bTjzo7JH1P5dWmQ2EL4hFUlfI8FonAhSlgIfhn63p84CDY/x+PisgcXA==}
+ requiresBuild: true
+ dependencies:
+ bare-os: 2.4.0
+ dev: true
+ optional: true
+
+ /bare-stream@2.1.3:
+ resolution: {integrity: sha512-tiDAH9H/kP+tvNO5sczyn9ZAA7utrSMobyDchsnyyXBuUe2FSQWbxhtuHB8jwpHYYevVo2UJpcmvvjrbHboUUQ==}
+ requiresBuild: true
+ dependencies:
+ streamx: 2.19.0
+ dev: true
+ optional: true
+
/base64-js@1.5.1:
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
@@ -11484,6 +11645,11 @@ packages:
dependencies:
safe-buffer: 5.1.2
+ /basic-ftp@5.0.5:
+ resolution: {integrity: sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==}
+ engines: {node: '>=10.0.0'}
+ dev: true
+
/batch@0.6.1:
resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==}
dev: false
@@ -12225,6 +12391,17 @@ packages:
resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==}
engines: {node: '>=6.0'}
+ /chromium-bidi@0.5.17(devtools-protocol@0.0.1262051):
+ resolution: {integrity: sha512-BqOuIWUgTPj8ayuBFJUYCCuwIcwjBsb3/614P7tt1bEPJ4i1M0kCdIl0Wi9xhtswBXnfO2bTpTMkHD71H8rJMg==}
+ peerDependencies:
+ devtools-protocol: '*'
+ dependencies:
+ devtools-protocol: 0.0.1262051
+ mitt: 3.0.1
+ urlpattern-polyfill: 10.0.0
+ zod: 3.22.4
+ dev: true
+
/ci-info@2.0.0:
resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==}
dev: false
@@ -12505,6 +12682,11 @@ packages:
engines: {node: '>=14'}
dev: true
+ /commander@12.1.0:
+ resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==}
+ engines: {node: '>=18'}
+ dev: true
+
/commander@2.13.0:
resolution: {integrity: sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==}
dev: false
@@ -12537,6 +12719,7 @@ packages:
/commander@9.5.0:
resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==}
engines: {node: ^12.20.0 || >=14}
+ dev: false
/common-ancestor-path@1.0.1:
resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==}
@@ -12918,6 +13101,7 @@ packages:
node-fetch: 2.6.7
transitivePeerDependencies:
- encoding
+ dev: false
/cross-spawn@5.1.0:
resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==}
@@ -13045,6 +13229,29 @@ packages:
webpack: 5.88.1(esbuild@0.21.5)
dev: true
+ /css-loader@6.11.0(webpack@5.94.0):
+ resolution: {integrity: sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==}
+ engines: {node: '>= 12.13.0'}
+ peerDependencies:
+ '@rspack/core': 0.x || 1.x
+ webpack: ^5.0.0
+ peerDependenciesMeta:
+ '@rspack/core':
+ optional: true
+ webpack:
+ optional: true
+ dependencies:
+ icss-utils: 5.1.0(postcss@8.4.39)
+ postcss: 8.4.39
+ postcss-modules-extract-imports: 3.1.0(postcss@8.4.39)
+ postcss-modules-local-by-default: 4.0.5(postcss@8.4.39)
+ postcss-modules-scope: 3.2.0(postcss@8.4.39)
+ postcss-modules-values: 4.0.0(postcss@8.4.39)
+ postcss-value-parser: 4.2.0
+ semver: 7.6.2
+ webpack: 5.94.0(esbuild@0.21.5)
+ dev: true
+
/css-select-base-adapter@0.1.1:
resolution: {integrity: sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==}
dev: false
@@ -13517,6 +13724,11 @@ packages:
engines: {node: '>= 12'}
dev: true
+ /data-uri-to-buffer@6.0.2:
+ resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==}
+ engines: {node: '>= 14'}
+ dev: true
+
/data-urls@3.0.2:
resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==}
engines: {node: '>=12'}
@@ -13607,6 +13819,17 @@ packages:
ms: 2.1.2
supports-color: 6.1.0
+ /debug@4.3.6:
+ resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.1.2
+
/decamelize@1.2.0:
resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
engines: {node: '>=0.10.0'}
@@ -13779,6 +14002,15 @@ packages:
resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
dev: true
+ /degenerator@5.0.1:
+ resolution: {integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==}
+ engines: {node: '>= 14'}
+ dependencies:
+ ast-types: 0.13.4
+ escodegen: 2.1.0
+ esprima: 4.0.1
+ dev: true
+
/del@4.1.1:
resolution: {integrity: sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==}
engines: {node: '>=6'}
@@ -13887,8 +14119,8 @@ packages:
dependencies:
dequal: 2.0.3
- /devtools-protocol@0.0.981744:
- resolution: {integrity: sha512-0cuGS8+jhR67Fy7qG3i3Pc7Aw494sb9yG9QgpG97SFVWwolgYjlhJg7n+UaHxOQT30d1TYu/EYe9k01ivLErIg==}
+ /devtools-protocol@0.0.1262051:
+ resolution: {integrity: sha512-YJe4CT5SA8on3Spa+UDtNhEqtuV6Epwz3OZ4HQVLhlRccpZ9/PAYk0/cy/oKxFKRrZPBUPyxympQci4yWNWZ9g==}
dev: true
/didyoumean@1.2.2:
@@ -14160,6 +14392,14 @@ packages:
tapable: 2.2.1
dev: true
+ /enhanced-resolve@5.17.1:
+ resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==}
+ engines: {node: '>=10.13.0'}
+ dependencies:
+ graceful-fs: 4.2.11
+ tapable: 2.2.1
+ dev: true
+
/entities@2.2.0:
resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==}
@@ -15023,19 +15263,18 @@ packages:
dependencies:
estraverse: 5.3.0
- /estimo@2.3.6:
- resolution: {integrity: sha512-aPd3VTQAL1TyDyhFfn6fqBTJ9WvbRZVN4Z29Buk6+P6xsI0DuF5Mh3dGv6kYCUxWnZkB4Jt3aYglUxOtuwtxoA==}
- engines: {node: '>=12'}
+ /estimo@3.0.3:
+ resolution: {integrity: sha512-qSibrDHo82yvmgeOW7onGgeOzS/nnqa8r2exQ8LyTSH8rAma10VBJE+hPSdukV1nQrqFvEz7BVe5puUK2LZJXg==}
+ engines: {node: '>=18'}
hasBin: true
dependencies:
'@sitespeed.io/tracium': 0.3.3
- commander: 9.5.0
- find-chrome-bin: 0.1.0
- nanoid: 3.3.7
- puppeteer-core: 13.7.0
+ commander: 12.1.0
+ find-chrome-bin: 2.0.2
+ nanoid: 5.0.7
+ puppeteer-core: 22.6.5
transitivePeerDependencies:
- bufferutil
- - encoding
- supports-color
- utf-8-validate
dev: true
@@ -15572,7 +15811,7 @@ packages:
engines: {node: '>= 10.17.0'}
hasBin: true
dependencies:
- debug: 4.3.5(supports-color@6.1.0)
+ debug: 4.3.6
get-stream: 5.2.0
yauzl: 2.10.0
optionalDependencies:
@@ -15588,6 +15827,10 @@ packages:
resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==}
dev: true
+ /fast-fifo@1.3.2:
+ resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==}
+ dev: true
+
/fast-glob@3.3.2:
resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
engines: {node: '>=8.6.0'}
@@ -15834,9 +16077,13 @@ packages:
pkg-dir: 7.0.0
dev: true
- /find-chrome-bin@0.1.0:
- resolution: {integrity: sha512-XoFZwaEn1R3pE6zNG8kH64l2e093hgB9+78eEKPmJK0o1EXEou+25cEWdtu2qq4DBQPDSe90VJAWVI2Sz9pX6Q==}
- engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+ /find-chrome-bin@2.0.2:
+ resolution: {integrity: sha512-KlggCilbbvgETk/WEq9NG894U8yu4erIW0SjMm1sMPm2xihCHeNoybpzGoxEzHRthwF3XrKOgHYtfqgJzpCH2w==}
+ engines: {node: '>=18.0.0'}
+ dependencies:
+ '@puppeteer/browsers': 2.3.1
+ transitivePeerDependencies:
+ - supports-color
dev: true
/find-up@3.0.0:
@@ -16324,6 +16571,18 @@ packages:
resolve-pkg-maps: 1.0.0
dev: true
+ /get-uri@6.0.3:
+ resolution: {integrity: sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==}
+ engines: {node: '>= 14'}
+ dependencies:
+ basic-ftp: 5.0.5
+ data-uri-to-buffer: 6.0.2
+ debug: 4.3.6
+ fs-extra: 11.2.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/get-value@2.0.6:
resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==}
engines: {node: '>=0.10.0'}
@@ -21057,6 +21316,10 @@ packages:
through2: 2.0.5
dev: false
+ /mitt@3.0.1:
+ resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==}
+ dev: true
+
/mixin-deep@1.3.2:
resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==}
engines: {node: '>=0.10.0'}
@@ -21171,17 +21434,17 @@ packages:
dev: false
optional: true
- /nanoid@3.3.6:
- resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==}
- engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
- hasBin: true
- dev: true
-
/nanoid@3.3.7:
resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
+ /nanoid@5.0.7:
+ resolution: {integrity: sha512-oLxFY2gd2IqnjcYyOXD8XGCftpGtZP2AbHbOkthDkvRywH5ayNtPVy9YlOPcHckXzbLTCHpkb7FB+yuxKV13pQ==}
+ engines: {node: ^18 || >=20}
+ hasBin: true
+ dev: true
+
/nanomatch@1.2.13(supports-color@6.1.0):
resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==}
engines: {node: '>=0.10.0'}
@@ -21204,7 +21467,7 @@ packages:
/nanospinner@1.1.0:
resolution: {integrity: sha512-yFvNYMig4AthKYfHFl1sLj7B2nkHL4lzdig4osvl9/LdGbXwrdFRoqBS98gsEsOakr0yH+r5NZ/1Y9gdVB8trA==}
dependencies:
- picocolors: 1.0.0
+ picocolors: 1.0.1
dev: true
/natural-compare-lite@1.4.0:
@@ -21233,6 +21496,11 @@ packages:
resolution: {integrity: sha512-SrQrok4CATudVzBS7coSz26QRSmlK9TzzoFbeKfcPBUFPjcQM9Rqvr/DlJkOrwI/0KcgvMub1n1g5Jt9EgRn4A==}
dev: false
+ /netmask@2.0.2:
+ resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==}
+ engines: {node: '>= 0.4.0'}
+ dev: true
+
/new-github-release-url@2.0.0:
resolution: {integrity: sha512-NHDDGYudnvRutt/VhKFlX26IotXe1w0cmkDm6JGquh5bz/bDTw0LufSmH/GxTjEdpHEO+bVKFTwdrcGa/9XlKQ==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@@ -21526,6 +21794,7 @@ packages:
optional: true
dependencies:
whatwg-url: 5.0.0
+ dev: false
/node-fetch@2.6.9:
resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==}
@@ -21614,7 +21883,7 @@ packages:
vm-browserify: 1.1.2
dev: false
- /node-polyfill-webpack-plugin@2.0.1(webpack@5.88.1):
+ /node-polyfill-webpack-plugin@2.0.1(webpack@5.94.0):
resolution: {integrity: sha512-ZUMiCnZkP1LF0Th2caY6J/eKKoA0TefpoVa68m/LQU1I/mE8rGt4fNYGgNuCcK+aG8P8P43nbeJ2RqJMOL/Y1A==}
engines: {node: '>=12'}
peerDependencies:
@@ -21645,7 +21914,7 @@ packages:
url: 0.11.0
util: 0.12.5
vm-browserify: 1.1.2
- webpack: 5.88.1(esbuild@0.21.5)
+ webpack: 5.94.0(esbuild@0.21.5)
dev: true
/node-releases@1.1.77:
@@ -21762,7 +22031,7 @@ packages:
dependencies:
hosted-git-info: 6.1.1
proc-log: 3.0.0
- semver: 7.6.2
+ semver: 7.6.3
validate-npm-package-name: 5.0.1
dev: true
@@ -22326,6 +22595,30 @@ packages:
resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
engines: {node: '>=6'}
+ /pac-proxy-agent@7.0.2:
+ resolution: {integrity: sha512-BFi3vZnO9X5Qt6NRz7ZOaPja3ic0PhlsmCRYLOpN11+mWBCR6XJDqW5RF3j8jm4WGGQZtBA+bTfxYzeKW73eHg==}
+ engines: {node: '>= 14'}
+ dependencies:
+ '@tootallnate/quickjs-emscripten': 0.23.0
+ agent-base: 7.1.1
+ debug: 4.3.6
+ get-uri: 6.0.3
+ http-proxy-agent: 7.0.2
+ https-proxy-agent: 7.0.5
+ pac-resolver: 7.0.1
+ socks-proxy-agent: 8.0.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /pac-resolver@7.0.1:
+ resolution: {integrity: sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==}
+ engines: {node: '>= 14'}
+ dependencies:
+ degenerator: 5.0.1
+ netmask: 2.0.2
+ dev: true
+
/package-json-from-dist@1.0.0:
resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==}
@@ -22632,10 +22925,6 @@ packages:
resolution: {integrity: sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==}
dev: false
- /picocolors@1.0.0:
- resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
- dev: true
-
/picocolors@1.0.1:
resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==}
@@ -22889,7 +23178,7 @@ packages:
postcss: 8.4.39
yaml: 2.4.5
- /postcss-loader@8.1.1(postcss@8.4.39)(typescript@5.5.3)(webpack@5.88.1):
+ /postcss-loader@8.1.1(postcss@8.4.39)(typescript@5.5.3)(webpack@5.94.0):
resolution: {integrity: sha512-0IeqyAsG6tYiDRCYKQJLAmgQr47DX6N7sFSWvQxt6AcupX8DIdmykuk/o/tx0Lze3ErGHJEp5OSRxrelC6+NdQ==}
engines: {node: '>= 18.12.0'}
peerDependencies:
@@ -22906,7 +23195,7 @@ packages:
jiti: 1.21.6
postcss: 8.4.39
semver: 7.6.2
- webpack: 5.88.1(esbuild@0.21.5)
+ webpack: 5.94.0(esbuild@0.21.5)
transitivePeerDependencies:
- typescript
dev: true
@@ -23517,6 +23806,22 @@ packages:
forwarded: 0.2.0
ipaddr.js: 1.9.1
+ /proxy-agent@6.4.0:
+ resolution: {integrity: sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==}
+ engines: {node: '>= 14'}
+ dependencies:
+ agent-base: 7.1.1
+ debug: 4.3.6
+ http-proxy-agent: 7.0.2
+ https-proxy-agent: 7.0.5
+ lru-cache: 7.18.3
+ pac-proxy-agent: 7.0.2
+ proxy-from-env: 1.1.0
+ socks-proxy-agent: 8.0.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/proxy-from-env@1.1.0:
resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
dev: true
@@ -23588,25 +23893,17 @@ packages:
engines: {node: '>=6'}
dev: true
- /puppeteer-core@13.7.0:
- resolution: {integrity: sha512-rXja4vcnAzFAP1OVLq/5dWNfwBGuzcOARJ6qGV7oAZhnLmVRU8G5MsdeQEAOy332ZhkIOnn9jp15R89LKHyp2Q==}
- engines: {node: '>=10.18.1'}
+ /puppeteer-core@22.6.5:
+ resolution: {integrity: sha512-s0/5XkAWe0/dWISiljdrybjwDCHhgN31Nu/wznOZPKeikgcJtZtbvPKBz0t802XWqfSQnQDt3L6xiAE5JLlfuw==}
+ engines: {node: '>=18'}
dependencies:
- cross-fetch: 3.1.5
+ '@puppeteer/browsers': 2.2.2
+ chromium-bidi: 0.5.17(devtools-protocol@0.0.1262051)
debug: 4.3.4
- devtools-protocol: 0.0.981744
- extract-zip: 2.0.1
- https-proxy-agent: 5.0.1
- pkg-dir: 4.2.0
- progress: 2.0.3
- proxy-from-env: 1.1.0
- rimraf: 3.0.2
- tar-fs: 2.1.1
- unbzip2-stream: 1.4.3
- ws: 8.5.0
+ devtools-protocol: 0.0.1262051
+ ws: 8.16.0
transitivePeerDependencies:
- bufferutil
- - encoding
- supports-color
- utf-8-validate
dev: true
@@ -23646,6 +23943,10 @@ packages:
/queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+ /queue-tick@1.0.1:
+ resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==}
+ dev: true
+
/queue@6.0.2:
resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==}
dependencies:
@@ -24004,14 +24305,6 @@ packages:
tslib: 2.6.3
dev: false
- /react@17.0.2:
- resolution: {integrity: sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==}
- engines: {node: '>=0.10.0'}
- dependencies:
- loose-envify: 1.4.0
- object-assign: 4.1.1
- dev: true
-
/react@18.1.0:
resolution: {integrity: sha512-4oL8ivCz5ZEPyclFQXaNksK3adutVS8l2xzZU0cqEFrE9Sb7fC0EFK5uEk74wIreL1DERyjvsU915j1pcT2uEQ==}
engines: {node: '>=0.10.0'}
@@ -24815,7 +25108,7 @@ packages:
/safer-buffer@2.1.2:
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
- /sass-loader@12.6.0(webpack@5.88.1):
+ /sass-loader@12.6.0(webpack@5.94.0):
resolution: {integrity: sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==}
engines: {node: '>= 12.13.0'}
peerDependencies:
@@ -24836,7 +25129,7 @@ packages:
dependencies:
klona: 2.0.6
neo-async: 2.6.2
- webpack: 5.88.1(esbuild@0.21.5)
+ webpack: 5.94.0(esbuild@0.21.5)
dev: true
/sax@1.2.4:
@@ -24957,8 +25250,8 @@ packages:
lru-cache: 6.0.0
dev: false
- /semver@7.5.3:
- resolution: {integrity: sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==}
+ /semver@7.6.0:
+ resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==}
engines: {node: '>=10'}
hasBin: true
dependencies:
@@ -24970,6 +25263,12 @@ packages:
engines: {node: '>=10'}
hasBin: true
+ /semver@7.6.3:
+ resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dev: true
+
/send@0.18.0(supports-color@6.1.0):
resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==}
engines: {node: '>= 0.8.0'}
@@ -25229,17 +25528,18 @@ packages:
/sisteransi@1.0.5:
resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
- /size-limit@8.2.6:
- resolution: {integrity: sha512-zpznim/tX/NegjoQuRKgWTF4XiB0cn2qt90uJzxYNTFAqexk4b94DOAkBD3TwhC6c3kw2r0KcnA5upziVMZqDg==}
- engines: {node: ^14.0.0 || ^16.0.0 || >=18.0.0}
+ /size-limit@11.1.4:
+ resolution: {integrity: sha512-V2JAI/Z7h8sEuxU3V+Ig3XKA5FcYbI4CZ7sh6s7wvuy+TUwDZYqw7sAqrHhQ4cgcNfPKIAHAaH8VaqOdbcwJDA==}
+ engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
dependencies:
bytes-iec: 3.1.1
- chokidar: 3.5.3
- globby: 11.1.0
- lilconfig: 2.1.0
+ chokidar: 3.6.0
+ globby: 14.0.2
+ jiti: 1.21.6
+ lilconfig: 3.1.2
nanospinner: 1.1.0
- picocolors: 1.0.0
+ picocolors: 1.0.1
dev: true
/skin-tone@2.0.0:
@@ -25339,7 +25639,7 @@ packages:
engines: {node: '>= 14'}
dependencies:
agent-base: 7.1.1
- debug: 4.3.5(supports-color@6.1.0)
+ debug: 4.3.6
socks: 2.8.3
transitivePeerDependencies:
- supports-color
@@ -25659,6 +25959,16 @@ packages:
resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
engines: {node: '>=10.0.0'}
+ /streamx@2.19.0:
+ resolution: {integrity: sha512-5z6CNR4gtkPbwlxyEqoDGDmWIzoNJqCBt4Eac1ICP9YaIT08ct712cFj0u1rx4F8luAuL+3Qc+RFIdI4OX00kg==}
+ dependencies:
+ fast-fifo: 1.3.2
+ queue-tick: 1.0.1
+ text-decoder: 1.1.1
+ optionalDependencies:
+ bare-events: 2.4.2
+ dev: true
+
/string-hash@1.1.3:
resolution: {integrity: sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==}
dev: true
@@ -25909,6 +26219,15 @@ packages:
webpack: 5.88.1(esbuild@0.21.5)
dev: true
+ /style-loader@3.3.4(webpack@5.94.0):
+ resolution: {integrity: sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==}
+ engines: {node: '>= 12.13.0'}
+ peerDependencies:
+ webpack: ^5.0.0
+ dependencies:
+ webpack: 5.94.0(esbuild@0.21.5)
+ dev: true
+
/style-to-object@0.4.4:
resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==}
dependencies:
@@ -26129,6 +26448,26 @@ packages:
tar-stream: 2.2.0
dev: true
+ /tar-fs@3.0.5:
+ resolution: {integrity: sha512-JOgGAmZyMgbqpLwct7ZV8VzkEB6pxXFBVErLtb+XCOqzc6w1xiWKI9GVd6bwk68EX7eJ4DWmfXVmq8K2ziZTGg==}
+ dependencies:
+ pump: 3.0.0
+ tar-stream: 3.1.7
+ optionalDependencies:
+ bare-fs: 2.3.1
+ bare-path: 2.1.3
+ dev: true
+
+ /tar-fs@3.0.6:
+ resolution: {integrity: sha512-iokBDQQkUyeXhgPYaZxmczGPhnhXZ0CmrqI+MOb/WFGS9DW5wnfrLgtjUJBvz50vQ3qfRwJ62QVoCFu8mPVu5w==}
+ dependencies:
+ pump: 3.0.0
+ tar-stream: 3.1.7
+ optionalDependencies:
+ bare-fs: 2.3.1
+ bare-path: 2.1.3
+ dev: true
+
/tar-stream@2.2.0:
resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==}
engines: {node: '>=6'}
@@ -26140,6 +26479,14 @@ packages:
readable-stream: 3.6.2
dev: true
+ /tar-stream@3.1.7:
+ resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==}
+ dependencies:
+ b4a: 1.6.6
+ fast-fifo: 1.3.2
+ streamx: 2.19.0
+ dev: true
+
/tar@6.1.14:
resolution: {integrity: sha512-piERznXu0U7/pW7cdSn7hjqySIVTYT6F76icmFk7ptU7dDYlXTm5r9A6K04R2vU3olYgoKeo1Cg3eeu5nhftAw==}
engines: {node: '>=10'}
@@ -26269,8 +26616,8 @@ packages:
- bluebird
dev: false
- /terser-webpack-plugin@5.3.9(esbuild@0.21.5)(webpack@5.88.1):
- resolution: {integrity: sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==}
+ /terser-webpack-plugin@5.3.10(esbuild@0.21.5)(webpack@5.94.0):
+ resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==}
engines: {node: '>= 10.13.0'}
peerDependencies:
'@swc/core': '*'
@@ -26290,11 +26637,35 @@ packages:
jest-worker: 27.5.1
schema-utils: 3.3.0
serialize-javascript: 6.0.1
- terser: 5.18.2
- webpack: 5.88.1(esbuild@0.21.5)
+ terser: 5.31.6
+ webpack: 5.94.0(esbuild@0.21.5)
dev: true
- /terser-webpack-plugin@5.3.9(webpack@5.88.1):
+ /terser-webpack-plugin@5.3.10(webpack@5.94.0):
+ resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==}
+ engines: {node: '>= 10.13.0'}
+ peerDependencies:
+ '@swc/core': '*'
+ esbuild: '*'
+ uglify-js: '*'
+ webpack: ^5.1.0
+ peerDependenciesMeta:
+ '@swc/core':
+ optional: true
+ esbuild:
+ optional: true
+ uglify-js:
+ optional: true
+ dependencies:
+ '@jridgewell/trace-mapping': 0.3.25
+ jest-worker: 27.5.1
+ schema-utils: 3.3.0
+ serialize-javascript: 6.0.1
+ terser: 5.31.6
+ webpack: 5.94.0
+ dev: true
+
+ /terser-webpack-plugin@5.3.9(esbuild@0.21.5)(webpack@5.88.1):
resolution: {integrity: sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==}
engines: {node: '>= 10.13.0'}
peerDependencies:
@@ -26311,11 +26682,12 @@ packages:
optional: true
dependencies:
'@jridgewell/trace-mapping': 0.3.25
+ esbuild: 0.21.5
jest-worker: 27.5.1
schema-utils: 3.3.0
serialize-javascript: 6.0.1
terser: 5.18.2
- webpack: 5.88.1
+ webpack: 5.88.1(esbuild@0.21.5)
dev: true
/terser@4.8.1:
@@ -26340,6 +26712,17 @@ packages:
source-map-support: 0.5.21
dev: true
+ /terser@5.31.6:
+ resolution: {integrity: sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dependencies:
+ '@jridgewell/source-map': 0.3.5
+ acorn: 8.12.0
+ commander: 2.20.3
+ source-map-support: 0.5.21
+ dev: true
+
/test-exclude@6.0.0:
resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==}
engines: {node: '>=8'}
@@ -26349,6 +26732,12 @@ packages:
minimatch: 3.1.2
dev: true
+ /text-decoder@1.1.1:
+ resolution: {integrity: sha512-8zll7REEv4GDD3x4/0pW+ppIxSNs7H1J10IKFZsuOMscumCdM2a+toDGLPA3T+1+fLBql4zbt5z83GEQGGV5VA==}
+ dependencies:
+ b4a: 1.6.6
+ dev: true
+
/text-extensions@2.4.0:
resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==}
engines: {node: '>=8'}
@@ -26511,6 +26900,7 @@ packages:
/tr46@0.0.3:
resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
+ dev: false
/tr46@3.0.0:
resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==}
@@ -27277,6 +27667,10 @@ packages:
punycode: 1.3.2
querystring: 0.2.0
+ /urlpattern-polyfill@10.0.0:
+ resolution: {integrity: sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg==}
+ dev: true
+
/use-callback-ref@1.3.2(@types/react@18.3.3)(react@18.3.1):
resolution: {integrity: sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==}
engines: {node: '>=10'}
@@ -27764,6 +28158,14 @@ packages:
graceful-fs: 4.2.11
dev: true
+ /watchpack@2.4.2:
+ resolution: {integrity: sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==}
+ engines: {node: '>=10.13.0'}
+ dependencies:
+ glob-to-regexp: 0.4.1
+ graceful-fs: 4.2.11
+ dev: true
+
/wbuf@1.7.3:
resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==}
dependencies:
@@ -27796,6 +28198,7 @@ packages:
/webidl-conversions@3.0.1:
resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
+ dev: false
/webidl-conversions@7.0.0:
resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==}
@@ -27968,7 +28371,7 @@ packages:
- supports-color
dev: false
- /webpack@5.88.1:
+ /webpack@5.88.1(esbuild@0.21.5):
resolution: {integrity: sha512-FROX3TxQnC/ox4N+3xQoWZzvGXSuscxR32rbzjpXgEzWudJFEJBpdlkkob2ylrv5yzzufD1zph1OoFsLtm6stQ==}
engines: {node: '>=10.13.0'}
hasBin: true
@@ -27999,7 +28402,7 @@ packages:
neo-async: 2.6.2
schema-utils: 3.3.0
tapable: 2.2.1
- terser-webpack-plugin: 5.3.9(webpack@5.88.1)
+ terser-webpack-plugin: 5.3.9(esbuild@0.21.5)(webpack@5.88.1)
watchpack: 2.4.0
webpack-sources: 3.2.3
transitivePeerDependencies:
@@ -28008,8 +28411,8 @@ packages:
- uglify-js
dev: true
- /webpack@5.88.1(esbuild@0.21.5):
- resolution: {integrity: sha512-FROX3TxQnC/ox4N+3xQoWZzvGXSuscxR32rbzjpXgEzWudJFEJBpdlkkob2ylrv5yzzufD1zph1OoFsLtm6stQ==}
+ /webpack@5.94.0:
+ resolution: {integrity: sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==}
engines: {node: '>=10.13.0'}
hasBin: true
peerDependencies:
@@ -28018,16 +28421,15 @@ packages:
webpack-cli:
optional: true
dependencies:
- '@types/eslint-scope': 3.7.4
'@types/estree': 1.0.5
- '@webassemblyjs/ast': 1.11.6
- '@webassemblyjs/wasm-edit': 1.11.6
- '@webassemblyjs/wasm-parser': 1.11.6
+ '@webassemblyjs/ast': 1.12.1
+ '@webassemblyjs/wasm-edit': 1.12.1
+ '@webassemblyjs/wasm-parser': 1.12.1
acorn: 8.12.0
- acorn-import-assertions: 1.9.0(acorn@8.12.0)
+ acorn-import-attributes: 1.9.5(acorn@8.12.0)
browserslist: 4.23.2
chrome-trace-event: 1.0.3
- enhanced-resolve: 5.17.0
+ enhanced-resolve: 5.17.1
es-module-lexer: 1.5.3
eslint-scope: 5.1.1
events: 3.3.0
@@ -28039,8 +28441,47 @@ packages:
neo-async: 2.6.2
schema-utils: 3.3.0
tapable: 2.2.1
- terser-webpack-plugin: 5.3.9(esbuild@0.21.5)(webpack@5.88.1)
- watchpack: 2.4.0
+ terser-webpack-plugin: 5.3.10(webpack@5.94.0)
+ watchpack: 2.4.2
+ webpack-sources: 3.2.3
+ transitivePeerDependencies:
+ - '@swc/core'
+ - esbuild
+ - uglify-js
+ dev: true
+
+ /webpack@5.94.0(esbuild@0.21.5):
+ resolution: {integrity: sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==}
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+ peerDependencies:
+ webpack-cli: '*'
+ peerDependenciesMeta:
+ webpack-cli:
+ optional: true
+ dependencies:
+ '@types/estree': 1.0.5
+ '@webassemblyjs/ast': 1.12.1
+ '@webassemblyjs/wasm-edit': 1.12.1
+ '@webassemblyjs/wasm-parser': 1.12.1
+ acorn: 8.12.0
+ acorn-import-attributes: 1.9.5(acorn@8.12.0)
+ browserslist: 4.23.2
+ chrome-trace-event: 1.0.3
+ enhanced-resolve: 5.17.1
+ es-module-lexer: 1.5.3
+ eslint-scope: 5.1.1
+ events: 3.3.0
+ glob-to-regexp: 0.4.1
+ graceful-fs: 4.2.11
+ json-parse-even-better-errors: 2.3.1
+ loader-runner: 4.3.0
+ mime-types: 2.1.35
+ neo-async: 2.6.2
+ schema-utils: 3.3.0
+ tapable: 2.2.1
+ terser-webpack-plugin: 5.3.10(esbuild@0.21.5)(webpack@5.94.0)
+ watchpack: 2.4.2
webpack-sources: 3.2.3
transitivePeerDependencies:
- '@swc/core'
@@ -28098,6 +28539,7 @@ packages:
dependencies:
tr46: 0.0.3
webidl-conversions: 3.0.1
+ dev: false
/which-boxed-primitive@1.0.2:
resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
@@ -28337,8 +28779,8 @@ packages:
utf-8-validate:
optional: true
- /ws@8.17.1:
- resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==}
+ /ws@8.16.0:
+ resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==}
engines: {node: '>=10.0.0'}
peerDependencies:
bufferutil: ^4.0.1
@@ -28350,12 +28792,12 @@ packages:
optional: true
dev: true
- /ws@8.5.0:
- resolution: {integrity: sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==}
+ /ws@8.17.1:
+ resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==}
engines: {node: '>=10.0.0'}
peerDependencies:
bufferutil: ^4.0.1
- utf-8-validate: ^5.0.2
+ utf-8-validate: '>=5.0.2'
peerDependenciesMeta:
bufferutil:
optional: true
@@ -28524,6 +28966,10 @@ packages:
engines: {node: '>=18'}
dev: true
+ /zod@3.22.4:
+ resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==}
+ dev: true
+
/zod@3.23.8:
resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==}
dev: false