diff --git a/.changeset/metal-icons-end.md b/.changeset/metal-icons-end.md new file mode 100644 index 00000000000..05c36d84f35 --- /dev/null +++ b/.changeset/metal-icons-end.md @@ -0,0 +1,5 @@ +--- +"thirdweb": patch +--- + +Fix: Ecosystem smart wallets now properly trigger switch chain on their admin wallets diff --git a/packages/thirdweb/src/wallets/eip5792/get-capabilities.ts b/packages/thirdweb/src/wallets/eip5792/get-capabilities.ts index 289da202a18..88d660257e0 100644 --- a/packages/thirdweb/src/wallets/eip5792/get-capabilities.ts +++ b/packages/thirdweb/src/wallets/eip5792/get-capabilities.ts @@ -4,7 +4,6 @@ import { isCoinbaseSDKWallet } from "../coinbase/coinbase-web.js"; import { isInAppWallet } from "../in-app/core/wallet/index.js"; import { getInjectedProvider } from "../injected/index.js"; import type { Wallet } from "../interfaces/wallet.js"; -import { isSmartWallet } from "../smart/index.js"; import { isWalletConnect } from "../wallet-connect/controller.js"; import type { WalletId } from "../wallet-types.js"; import type { WalletCapabilities, WalletCapabilitiesRecord } from "./types.js"; @@ -47,7 +46,7 @@ export async function getCapabilities({ }; } - if (isSmartWallet(wallet)) { + if (wallet.id === "smart") { const { smartWalletGetCapabilities } = await import( "../smart/lib/smart-wallet-capabilities.js" ); diff --git a/packages/thirdweb/src/wallets/manager/connection-manager.test.ts b/packages/thirdweb/src/wallets/manager/connection-manager.test.ts index ea57ad3c953..1deee83bb76 100644 --- a/packages/thirdweb/src/wallets/manager/connection-manager.test.ts +++ b/packages/thirdweb/src/wallets/manager/connection-manager.test.ts @@ -1,10 +1,13 @@ import { beforeEach, describe, expect, it, vi } from "vitest"; import { TEST_CLIENT } from "../../../test/src/test-clients.js"; import { TEST_ACCOUNT_A } from "../../../test/src/test-wallets.js"; +import { baseSepolia } from "../../chains/chain-definitions/base-sepolia.js"; import { sepolia } from "../../chains/chain-definitions/sepolia.js"; import type { ThirdwebClient } from "../../client/client.js"; import type { AsyncStorage } from "../../utils/storage/AsyncStorage.js"; +import { inAppWallet } from "../in-app/web/in-app.js"; import type { Account, Wallet } from "../interfaces/wallet.js"; +import { smartWallet } from "../smart/smart-wallet.js"; import type { SmartWalletOptions } from "../smart/types.js"; import { createConnectionManager, @@ -157,6 +160,46 @@ describe.runIf(process.env.TW_SECRET_KEY)("Connection Manager", () => { expect(wallet.switchChain).toHaveBeenCalledWith(newChain); }); + it("should switch admin wallet for smart wallet if available", async () => { + const manager = createConnectionManager(storage); + const adminAccount = TEST_ACCOUNT_A; + const adminWallet = inAppWallet(); + adminWallet.getAccount = () => adminAccount; + + const _wallet = smartWallet({ + chain: baseSepolia, + sponsorGas: true, + }); + await _wallet.connect({ + client, + personalAccount: adminAccount, + }); + + await manager.handleConnection(adminWallet, { client }); + await manager.handleConnection(_wallet, { client }); + + const newChain = { + id: 2, + name: "New Chain", + rpc: "https://rpc.example.com", + }; + + // Mock storage and wallet setup + storage.getItem = vi.fn().mockResolvedValue("inApp"); + adminWallet.id = "inApp"; + _wallet.switchChain = vi.fn(); + adminWallet.switchChain = vi.fn(); + + // Add wallets to connected wallets store + manager.addConnectedWallet(adminWallet); + manager.addConnectedWallet(_wallet); + + await manager.switchActiveWalletChain(newChain); + + expect(_wallet.switchChain).toHaveBeenCalledWith(newChain); + expect(adminWallet.switchChain).toHaveBeenCalledWith(newChain); + }); + it("should define chains", async () => { const manager = createConnectionManager(storage); await manager.handleConnection(wallet, { client }); diff --git a/packages/thirdweb/src/wallets/manager/index.ts b/packages/thirdweb/src/wallets/manager/index.ts index 473fec32632..5c5b403e4d6 100644 --- a/packages/thirdweb/src/wallets/manager/index.ts +++ b/packages/thirdweb/src/wallets/manager/index.ts @@ -9,6 +9,7 @@ import { stringify } from "../../utils/json.js"; import type { AsyncStorage } from "../../utils/storage/AsyncStorage.js"; import { deleteConnectParamsFromStorage } from "../../utils/storage/walletStorage.js"; import type { Account, Wallet } from "../interfaces/wallet.js"; +import { isSmartWallet } from "../smart/index.js"; import { smartWallet } from "../smart/smart-wallet.js"; import type { SmartWalletOptions } from "../smart/types.js"; import type { WalletId } from "../wallet-types.js"; @@ -257,7 +258,7 @@ export function createConnectionManager(storage: AsyncStorage) { throw new Error("Wallet does not support switching chains"); } - if (wallet.id === "smart") { + if (isSmartWallet(wallet)) { // also switch personal wallet const personalWalletId = await getStoredActiveWalletId(storage); if (personalWalletId) { @@ -266,10 +267,14 @@ export function createConnectionManager(storage: AsyncStorage) { .find((w) => w.id === personalWalletId); if (personalWallet) { await personalWallet.switchChain(chain); + await wallet.switchChain(chain); + // reset the active wallet as switch chain recreates a new smart account + handleSetActiveWallet(wallet); + return; } } + // If we couldn't find the personal wallet, just switch the smart wallet await wallet.switchChain(chain); - // reset the active wallet as switch chain recreates a new smart account handleSetActiveWallet(wallet); } else { await wallet.switchChain(chain); diff --git a/packages/thirdweb/src/wallets/smart/get-smart-wallet-config.test.ts b/packages/thirdweb/src/wallets/smart/get-smart-wallet-config.test.ts new file mode 100644 index 00000000000..a30674c95c3 --- /dev/null +++ b/packages/thirdweb/src/wallets/smart/get-smart-wallet-config.test.ts @@ -0,0 +1,67 @@ +import { describe, expect, it } from "vitest"; +import { optimism } from "../../chains/chain-definitions/optimism.js"; +import type { Wallet } from "../interfaces/wallet.js"; +import { getSmartWallet } from "./get-smart-wallet-config.js"; +import type { SmartWalletOptions } from "./types.js"; + +describe("getSmartWallet", () => { + const mockSmartWalletConfig: SmartWalletOptions = { + chain: optimism, + sponsorGas: false, + }; + + it("should return config for smart wallet ID", () => { + const wallet = { + id: "smart", + getConfig: () => mockSmartWalletConfig, + } as Wallet<"smart">; + + expect(getSmartWallet(wallet)).toBe(mockSmartWalletConfig); + }); + + it("should return smartAccount config for wallet with smartAccount", () => { + const wallet = { + id: "inApp", + getConfig: () => ({ + smartAccount: mockSmartWalletConfig, + }), + } as Wallet; + + expect(getSmartWallet(wallet)).toBe(mockSmartWalletConfig); + }); + + it("should throw error for non-smart wallet", () => { + const wallet = { + id: "inApp", + getConfig: () => ({}), + } as Wallet; + + expect(() => getSmartWallet(wallet)).toThrow( + "Wallet is not a smart wallet", + ); + }); + + it("should throw error when getConfig returns null", () => { + const wallet = { + id: "inApp", + getConfig: () => null, + // biome-ignore lint/suspicious/noExplicitAny: Testing invalid config + } as any as Wallet; + + expect(() => getSmartWallet(wallet)).toThrow( + "Wallet is not a smart wallet", + ); + }); + + it("should throw error when smartAccount is null", () => { + const wallet = { + id: "inApp", + getConfig: () => ({ smartAccount: null }), + // biome-ignore lint/suspicious/noExplicitAny: Testing invalid config + } as any as Wallet; + + expect(() => getSmartWallet(wallet)).toThrow( + "Wallet is not a smart wallet", + ); + }); +}); diff --git a/packages/thirdweb/src/wallets/smart/get-smart-wallet-config.ts b/packages/thirdweb/src/wallets/smart/get-smart-wallet-config.ts new file mode 100644 index 00000000000..9711fdbabb7 --- /dev/null +++ b/packages/thirdweb/src/wallets/smart/get-smart-wallet-config.ts @@ -0,0 +1,24 @@ +import type { Wallet } from "../interfaces/wallet.js"; +import type { SmartWalletOptions } from "./types.js"; + +/** + * Gets the smart wallet configuration for a given wallet. + * + * @param {Wallet} wallet - The wallet to check. + * @returns {SmartWalletOptions} The smart wallet configuration. + * + * @throws {Error} If the wallet is not a smart wallet. + * @internal + */ +export function getSmartWallet(wallet: Wallet): SmartWalletOptions { + if (wallet.id === "smart") { + return (wallet as Wallet<"smart">).getConfig(); + } + + const config = wallet.getConfig(); + if (!!config && "smartAccount" in config && !!config?.smartAccount) { + return config.smartAccount; + } + + throw new Error("Wallet is not a smart wallet"); +} diff --git a/packages/thirdweb/src/wallets/smart/index.ts b/packages/thirdweb/src/wallets/smart/index.ts index 8ae4f68dc73..f37737c9071 100644 --- a/packages/thirdweb/src/wallets/smart/index.ts +++ b/packages/thirdweb/src/wallets/smart/index.ts @@ -20,12 +20,7 @@ import type { Hex } from "../../utils/encoding/hex.js"; import { resolvePromisedValue } from "../../utils/promise/resolve-promised-value.js"; import { parseTypedData } from "../../utils/signatures/helpers/parse-typed-data.js"; import { type SignableMessage, maxUint96 } from "../../utils/types.js"; -import type { - Account, - SendTransactionOption, - Wallet, -} from "../interfaces/wallet.js"; -import type { WalletId } from "../wallet-types.js"; +import type { Account, SendTransactionOption } from "../interfaces/wallet.js"; import { broadcastZkTransaction, bundleUserOp, @@ -58,17 +53,7 @@ import type { UserOperationV06, UserOperationV07, } from "./types.js"; -/** - * Checks if the provided wallet is a smart wallet. - * - * @param wallet - The wallet to check. - * @returns True if the wallet is a smart wallet, false otherwise. - */ -export function isSmartWallet( - wallet: Wallet, -): wallet is Wallet<"smart"> { - return wallet.id === "smart"; -} +export { isSmartWallet } from "./is-smart-wallet.js"; /** * For in-app wallets, the smart wallet creation is implicit so we track these to be able to retrieve the personal account for a smart account on the wallet API. diff --git a/packages/thirdweb/src/wallets/smart/is-smart-wallet.test.ts b/packages/thirdweb/src/wallets/smart/is-smart-wallet.test.ts new file mode 100644 index 00000000000..85e6e97f1f5 --- /dev/null +++ b/packages/thirdweb/src/wallets/smart/is-smart-wallet.test.ts @@ -0,0 +1,58 @@ +import { describe, expect, it } from "vitest"; +import type { Wallet } from "../interfaces/wallet.js"; +import { isSmartWallet } from "./is-smart-wallet.js"; + +describe("isSmartWallet", () => { + it("should return true for smart wallet ID", () => { + const wallet = { + id: "smart", + } as Wallet; + expect(isSmartWallet(wallet)).toBe(true); + }); + + it("should return true for wallet with smartAccount config", () => { + const wallet = { + id: "inApp", + getConfig: () => ({ + smartAccount: { + chain: { id: 1, name: "test", rpc: "test" }, + }, + }), + } as Wallet; + expect(isSmartWallet(wallet)).toBe(true); + }); + + it("should return false for non-smart wallet", () => { + const wallet = { + id: "inApp", + getConfig: () => ({}), + } as Wallet; + expect(isSmartWallet(wallet)).toBe(false); + }); + + it("should return false when getConfig returns null", () => { + const wallet = { + id: "inApp", + getConfig: () => null, + // biome-ignore lint/suspicious/noExplicitAny: Testing invalid config + } as any as Wallet; + expect(isSmartWallet(wallet)).toBe(false); + }); + + it("should return false when getConfig returns undefined", () => { + const wallet = { + id: "inApp", + getConfig: () => undefined, + } as Wallet; + expect(isSmartWallet(wallet)).toBe(false); + }); + + it("should return false when smartAccount is null", () => { + const wallet = { + id: "inApp", + // biome-ignore lint/suspicious/noExplicitAny: Testing invalid config + getConfig: () => ({ smartAccount: null }) as any, + } as Wallet; + expect(isSmartWallet(wallet)).toBe(false); + }); +}); diff --git a/packages/thirdweb/src/wallets/smart/is-smart-wallet.ts b/packages/thirdweb/src/wallets/smart/is-smart-wallet.ts new file mode 100644 index 00000000000..abc97bb0210 --- /dev/null +++ b/packages/thirdweb/src/wallets/smart/is-smart-wallet.ts @@ -0,0 +1,21 @@ +import type { Wallet } from "../interfaces/wallet.js"; + +/** + * Checks if the given wallet is a smart wallet. + * + * @param {Wallet} wallet - The wallet to check. + * @returns {boolean} True if the wallet is a smart wallet, false otherwise. + * @internal + */ +export function isSmartWallet(wallet: Wallet): boolean { + if (wallet.id === "smart") { + return true; + } + + const config = wallet.getConfig(); + if (!!config && "smartAccount" in config && !!config.smartAccount) { + return true; + } + + return false; +} diff --git a/packages/thirdweb/src/wallets/smart/lib/smart-wallet-capabilities.ts b/packages/thirdweb/src/wallets/smart/lib/smart-wallet-capabilities.ts index 2b712b2cc32..6bc01dbc5da 100644 --- a/packages/thirdweb/src/wallets/smart/lib/smart-wallet-capabilities.ts +++ b/packages/thirdweb/src/wallets/smart/lib/smart-wallet-capabilities.ts @@ -4,7 +4,7 @@ import type { Wallet } from "../../interfaces/wallet.js"; * @internal */ export function smartWalletGetCapabilities(args: { - wallet: Wallet<"smart">; + wallet: Wallet; }) { const { wallet } = args; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d2aef405bb1..13470744dee 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -135,7 +135,7 @@ importers: version: 1.1.7(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@sentry/nextjs': specifier: 8.52.0 - version: 8.52.0(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@15.1.6(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.50.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))) + version: 8.52.0(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@15.1.6(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.50.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2)) '@shazow/whatsabi': specifier: ^0.19.0 version: 0.19.0(@noble/hashes@1.7.1)(typescript@5.7.3)(zod@3.24.1) @@ -331,7 +331,7 @@ importers: version: 8.5.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.5.2(bufferutil@4.0.9)(prettier@3.4.2)(utf-8-validate@5.0.10)) '@storybook/nextjs': specifier: 8.5.2 - version: 8.5.2(@swc/core@1.10.11(@swc/helpers@0.5.15))(next@15.1.6(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.50.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.5.2(bufferutil@4.0.9)(prettier@3.4.2)(utf-8-validate@5.0.10))(type-fest@4.33.0)(typescript@5.7.3)(webpack-hot-middleware@2.26.1)(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))) + version: 8.5.2(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2)(next@15.1.6(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.50.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.5.2(bufferutil@4.0.9)(prettier@3.4.2)(utf-8-validate@5.0.10))(type-fest@4.33.0)(typescript@5.7.3)(webpack-hot-middleware@2.26.1)(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2)) '@storybook/react': specifier: 8.5.2 version: 8.5.2(@storybook/test@8.5.2(storybook@8.5.2(bufferutil@4.0.9)(prettier@3.4.2)(utf-8-validate@5.0.10)))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.5.2(bufferutil@4.0.9)(prettier@3.4.2)(utf-8-validate@5.0.10))(typescript@5.7.3) @@ -1055,7 +1055,7 @@ importers: version: 3.2.4(react@19.0.0)(storybook@8.5.2(bufferutil@4.0.9)(prettier@3.3.3)(utf-8-validate@5.0.10)) '@codspeed/vitest-plugin': specifier: 4.0.0 - version: 4.0.0(vite@6.0.11(@types/node@22.12.0)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))(vitest@3.0.4(@types/debug@4.1.12)(@types/node@22.12.0)(@vitest/ui@3.0.4)(happy-dom@16.7.3)(jiti@2.4.2)(lightningcss@1.29.1)(msw@2.7.0(@types/node@22.12.0)(typescript@5.7.3))(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) + version: 4.0.0(vite@6.0.11(@types/node@22.12.0)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))(vitest@3.0.4) '@coinbase/wallet-mobile-sdk': specifier: 1.1.2 version: 1.1.2(expo@52.0.28(@babel/core@7.26.7)(@babel/preset-env@7.26.7(@babel/core@7.26.7))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.10.0)(react-native@0.76.6(@babel/core@7.26.7)(@babel/preset-env@7.26.7(@babel/core@7.26.7))(@types/react@19.0.8)(bufferutil@4.0.9)(encoding@0.1.13)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react-native@0.76.6(@babel/core@7.26.7)(@babel/preset-env@7.26.7(@babel/core@7.26.7))(@types/react@19.0.8)(bufferutil@4.0.9)(encoding@0.1.13)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) @@ -1067,7 +1067,7 @@ importers: version: 2.1.0(react-native@0.76.6(@babel/core@7.26.7)(@babel/preset-env@7.26.7(@babel/core@7.26.7))(@types/react@19.0.8)(bufferutil@4.0.9)(encoding@0.1.13)(react@19.0.0)(utf-8-validate@5.0.10)) '@size-limit/preset-big-lib': specifier: 11.1.6 - version: 11.1.6(bufferutil@4.0.9)(esbuild@0.24.2)(size-limit@11.1.6)(utf-8-validate@5.0.10) + version: 11.1.6(bufferutil@4.0.9)(size-limit@11.1.6)(utf-8-validate@5.0.10) '@storybook/addon-essentials': specifier: 8.5.2 version: 8.5.2(@types/react@19.0.8)(storybook@8.5.2(bufferutil@4.0.9)(prettier@3.3.3)(utf-8-validate@5.0.10)) @@ -1112,7 +1112,7 @@ importers: version: 4.3.4(vite@6.0.11(@types/node@22.12.0)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) '@vitest/coverage-v8': specifier: 3.0.4 - version: 3.0.4(vitest@3.0.4(@types/debug@4.1.12)(@types/node@22.12.0)(@vitest/ui@3.0.4)(happy-dom@16.7.3)(jiti@2.4.2)(lightningcss@1.29.1)(msw@2.7.0(@types/node@22.12.0)(typescript@5.7.3))(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) + version: 3.0.4(vitest@3.0.4) '@vitest/ui': specifier: 3.0.4 version: 3.0.4(vitest@3.0.4) @@ -17259,7 +17259,7 @@ snapshots: transitivePeerDependencies: - debug - '@codspeed/vitest-plugin@4.0.0(vite@6.0.11(@types/node@22.12.0)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))(vitest@3.0.4(@types/debug@4.1.12)(@types/node@22.12.0)(@vitest/ui@3.0.4)(happy-dom@16.7.3)(jiti@2.4.2)(lightningcss@1.29.1)(msw@2.7.0(@types/node@22.12.0)(typescript@5.7.3))(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))': + '@codspeed/vitest-plugin@4.0.0(vite@6.0.11(@types/node@22.12.0)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))(vitest@3.0.4)': dependencies: '@codspeed/core': 4.0.0 vite: 6.0.11(@types/node@22.12.0)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) @@ -19628,7 +19628,7 @@ snapshots: dependencies: playwright: 1.50.0 - '@pmmmwh/react-refresh-webpack-plugin@0.5.15(react-refresh@0.14.2)(type-fest@4.33.0)(webpack-hot-middleware@2.26.1)(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15)))': + '@pmmmwh/react-refresh-webpack-plugin@0.5.15(react-refresh@0.14.2)(type-fest@4.33.0)(webpack-hot-middleware@2.26.1)(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2))': dependencies: ansi-html: 0.0.9 core-js-pure: 3.40.0 @@ -19638,7 +19638,7 @@ snapshots: react-refresh: 0.14.2 schema-utils: 4.3.0 source-map: 0.7.4 - webpack: 5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15)) + webpack: 5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2) optionalDependencies: type-fest: 4.33.0 webpack-hot-middleware: 2.26.1 @@ -20778,7 +20778,7 @@ snapshots: '@sentry/core@8.52.0': {} - '@sentry/nextjs@8.52.0(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@15.1.6(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.50.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15)))': + '@sentry/nextjs@8.52.0(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@15.1.6(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.50.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2))': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/semantic-conventions': 1.28.0 @@ -20789,7 +20789,7 @@ snapshots: '@sentry/opentelemetry': 8.52.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.28.0) '@sentry/react': 8.52.0(react@19.0.0) '@sentry/vercel-edge': 8.52.0 - '@sentry/webpack-plugin': 2.22.7(encoding@0.1.13)(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))) + '@sentry/webpack-plugin': 2.22.7(encoding@0.1.13)(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2)) chalk: 3.0.0 next: 15.1.6(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.50.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) resolve: 1.22.8 @@ -20865,12 +20865,12 @@ snapshots: '@opentelemetry/api': 1.9.0 '@sentry/core': 8.52.0 - '@sentry/webpack-plugin@2.22.7(encoding@0.1.13)(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15)))': + '@sentry/webpack-plugin@2.22.7(encoding@0.1.13)(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2))': dependencies: '@sentry/bundler-plugin-core': 2.22.7(encoding@0.1.13) unplugin: 1.0.1 uuid: 9.0.1 - webpack: 5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15)) + webpack: 5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2) transitivePeerDependencies: - encoding - supports-color @@ -20961,11 +20961,11 @@ snapshots: dependencies: size-limit: 11.1.6 - '@size-limit/preset-big-lib@11.1.6(bufferutil@4.0.9)(esbuild@0.24.2)(size-limit@11.1.6)(utf-8-validate@5.0.10)': + '@size-limit/preset-big-lib@11.1.6(bufferutil@4.0.9)(size-limit@11.1.6)(utf-8-validate@5.0.10)': dependencies: '@size-limit/file': 11.1.6(size-limit@11.1.6) '@size-limit/time': 11.1.6(bufferutil@4.0.9)(size-limit@11.1.6)(utf-8-validate@5.0.10) - '@size-limit/webpack': 11.1.6(esbuild@0.24.2)(size-limit@11.1.6) + '@size-limit/webpack': 11.1.6(size-limit@11.1.6) size-limit: 11.1.6 transitivePeerDependencies: - '@swc/core' @@ -20985,11 +20985,11 @@ snapshots: - supports-color - utf-8-validate - '@size-limit/webpack@11.1.6(esbuild@0.24.2)(size-limit@11.1.6)': + '@size-limit/webpack@11.1.6(size-limit@11.1.6)': dependencies: nanoid: 5.0.9 size-limit: 11.1.6 - webpack: 5.97.1(esbuild@0.24.2) + webpack: 5.97.1 transitivePeerDependencies: - '@swc/core' - esbuild @@ -21958,7 +21958,7 @@ snapshots: ts-dedent: 2.2.0 vite: 6.0.11(@types/node@22.12.0)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) - '@storybook/builder-webpack5@8.5.2(@swc/core@1.10.11(@swc/helpers@0.5.15))(storybook@8.5.2(bufferutil@4.0.9)(prettier@3.4.2)(utf-8-validate@5.0.10))(typescript@5.7.3)': + '@storybook/builder-webpack5@8.5.2(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2)(storybook@8.5.2(bufferutil@4.0.9)(prettier@3.4.2)(utf-8-validate@5.0.10))(typescript@5.7.3)': dependencies: '@storybook/core-webpack': 8.5.2(storybook@8.5.2(bufferutil@4.0.9)(prettier@3.4.2)(utf-8-validate@5.0.10)) '@types/semver': 7.5.8 @@ -21966,23 +21966,23 @@ snapshots: case-sensitive-paths-webpack-plugin: 2.4.0 cjs-module-lexer: 1.4.1 constants-browserify: 1.0.0 - css-loader: 6.11.0(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))) + css-loader: 6.11.0(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2)) es-module-lexer: 1.6.0 - fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.7.3)(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))) - html-webpack-plugin: 5.6.3(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))) + fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.7.3)(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2)) + html-webpack-plugin: 5.6.3(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2)) magic-string: 0.30.17 path-browserify: 1.0.1 process: 0.11.10 semver: 7.7.0 storybook: 8.5.2(bufferutil@4.0.9)(prettier@3.4.2)(utf-8-validate@5.0.10) - style-loader: 3.3.4(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))) - terser-webpack-plugin: 5.3.11(@swc/core@1.10.11(@swc/helpers@0.5.15))(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))) + style-loader: 3.3.4(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2)) + terser-webpack-plugin: 5.3.11(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2)) ts-dedent: 2.2.0 url: 0.11.4 util: 0.12.5 util-deprecate: 1.0.2 - webpack: 5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15)) - webpack-dev-middleware: 6.1.3(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))) + webpack: 5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2) + webpack-dev-middleware: 6.1.3(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2)) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.6.2 optionalDependencies: @@ -22097,7 +22097,7 @@ snapshots: dependencies: storybook: 8.5.2(bufferutil@4.0.9)(prettier@3.4.2)(utf-8-validate@5.0.10) - '@storybook/nextjs@8.5.2(@swc/core@1.10.11(@swc/helpers@0.5.15))(next@15.1.6(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.50.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.5.2(bufferutil@4.0.9)(prettier@3.4.2)(utf-8-validate@5.0.10))(type-fest@4.33.0)(typescript@5.7.3)(webpack-hot-middleware@2.26.1)(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15)))': + '@storybook/nextjs@8.5.2(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2)(next@15.1.6(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.50.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.5.2(bufferutil@4.0.9)(prettier@3.4.2)(utf-8-validate@5.0.10))(type-fest@4.33.0)(typescript@5.7.3)(webpack-hot-middleware@2.26.1)(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2))': dependencies: '@babel/core': 7.26.7 '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.26.7) @@ -22112,30 +22112,30 @@ snapshots: '@babel/preset-react': 7.26.3(@babel/core@7.26.7) '@babel/preset-typescript': 7.26.0(@babel/core@7.26.7) '@babel/runtime': 7.26.7 - '@pmmmwh/react-refresh-webpack-plugin': 0.5.15(react-refresh@0.14.2)(type-fest@4.33.0)(webpack-hot-middleware@2.26.1)(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))) - '@storybook/builder-webpack5': 8.5.2(@swc/core@1.10.11(@swc/helpers@0.5.15))(storybook@8.5.2(bufferutil@4.0.9)(prettier@3.4.2)(utf-8-validate@5.0.10))(typescript@5.7.3) - '@storybook/preset-react-webpack': 8.5.2(@storybook/test@8.5.2(storybook@8.5.2(bufferutil@4.0.9)(prettier@3.4.2)(utf-8-validate@5.0.10)))(@swc/core@1.10.11(@swc/helpers@0.5.15))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.5.2(bufferutil@4.0.9)(prettier@3.4.2)(utf-8-validate@5.0.10))(typescript@5.7.3) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.15(react-refresh@0.14.2)(type-fest@4.33.0)(webpack-hot-middleware@2.26.1)(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2)) + '@storybook/builder-webpack5': 8.5.2(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2)(storybook@8.5.2(bufferutil@4.0.9)(prettier@3.4.2)(utf-8-validate@5.0.10))(typescript@5.7.3) + '@storybook/preset-react-webpack': 8.5.2(@storybook/test@8.5.2(storybook@8.5.2(bufferutil@4.0.9)(prettier@3.4.2)(utf-8-validate@5.0.10)))(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.5.2(bufferutil@4.0.9)(prettier@3.4.2)(utf-8-validate@5.0.10))(typescript@5.7.3) '@storybook/react': 8.5.2(@storybook/test@8.5.2(storybook@8.5.2(bufferutil@4.0.9)(prettier@3.4.2)(utf-8-validate@5.0.10)))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.5.2(bufferutil@4.0.9)(prettier@3.4.2)(utf-8-validate@5.0.10))(typescript@5.7.3) '@storybook/test': 8.5.2(storybook@8.5.2(bufferutil@4.0.9)(prettier@3.4.2)(utf-8-validate@5.0.10)) '@types/semver': 7.5.8 - babel-loader: 9.2.1(@babel/core@7.26.7)(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))) - css-loader: 6.11.0(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))) + babel-loader: 9.2.1(@babel/core@7.26.7)(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2)) + css-loader: 6.11.0(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2)) find-up: 5.0.0 image-size: 1.2.0 loader-utils: 3.3.1 next: 15.1.6(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.50.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - node-polyfill-webpack-plugin: 2.0.1(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))) + node-polyfill-webpack-plugin: 2.0.1(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2)) pnp-webpack-plugin: 1.7.0(typescript@5.7.3) postcss: 8.5.1 - postcss-loader: 8.1.1(postcss@8.5.1)(typescript@5.7.3)(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))) + postcss-loader: 8.1.1(postcss@8.5.1)(typescript@5.7.3)(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2)) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) react-refresh: 0.14.2 resolve-url-loader: 5.0.0 - sass-loader: 14.2.1(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))) + sass-loader: 14.2.1(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2)) semver: 7.7.0 storybook: 8.5.2(bufferutil@4.0.9)(prettier@3.4.2)(utf-8-validate@5.0.10) - style-loader: 3.3.4(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))) + style-loader: 3.3.4(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2)) styled-jsx: 5.1.6(@babel/core@7.26.7)(react@19.0.0) ts-dedent: 2.2.0 tsconfig-paths: 4.2.0 @@ -22143,7 +22143,7 @@ snapshots: optionalDependencies: sharp: 0.33.5 typescript: 5.7.3 - webpack: 5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15)) + webpack: 5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2) transitivePeerDependencies: - '@rspack/core' - '@swc/core' @@ -22162,11 +22162,11 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - '@storybook/preset-react-webpack@8.5.2(@storybook/test@8.5.2(storybook@8.5.2(bufferutil@4.0.9)(prettier@3.4.2)(utf-8-validate@5.0.10)))(@swc/core@1.10.11(@swc/helpers@0.5.15))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.5.2(bufferutil@4.0.9)(prettier@3.4.2)(utf-8-validate@5.0.10))(typescript@5.7.3)': + '@storybook/preset-react-webpack@8.5.2(@storybook/test@8.5.2(storybook@8.5.2(bufferutil@4.0.9)(prettier@3.4.2)(utf-8-validate@5.0.10)))(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.5.2(bufferutil@4.0.9)(prettier@3.4.2)(utf-8-validate@5.0.10))(typescript@5.7.3)': dependencies: '@storybook/core-webpack': 8.5.2(storybook@8.5.2(bufferutil@4.0.9)(prettier@3.4.2)(utf-8-validate@5.0.10)) '@storybook/react': 8.5.2(@storybook/test@8.5.2(storybook@8.5.2(bufferutil@4.0.9)(prettier@3.4.2)(utf-8-validate@5.0.10)))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.5.2(bufferutil@4.0.9)(prettier@3.4.2)(utf-8-validate@5.0.10))(typescript@5.7.3) - '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.7.3)(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))) + '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.7.3)(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2)) '@types/semver': 7.5.8 find-up: 5.0.0 magic-string: 0.30.17 @@ -22177,7 +22177,7 @@ snapshots: semver: 7.7.0 storybook: 8.5.2(bufferutil@4.0.9)(prettier@3.4.2)(utf-8-validate@5.0.10) tsconfig-paths: 4.2.0 - webpack: 5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15)) + webpack: 5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2) optionalDependencies: typescript: 5.7.3 transitivePeerDependencies: @@ -22196,7 +22196,7 @@ snapshots: dependencies: storybook: 8.5.2(bufferutil@4.0.9)(prettier@3.4.2)(utf-8-validate@5.0.10) - '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.7.3)(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15)))': + '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.7.3)(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2))': dependencies: debug: 4.4.0(supports-color@8.1.1) endent: 2.1.0 @@ -22206,7 +22206,7 @@ snapshots: react-docgen-typescript: 2.2.2(typescript@5.7.3) tslib: 2.8.1 typescript: 5.7.3 - webpack: 5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15)) + webpack: 5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2) transitivePeerDependencies: - supports-color @@ -23381,7 +23381,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@vitest/coverage-v8@3.0.4(vitest@3.0.4(@types/debug@4.1.12)(@types/node@22.12.0)(@vitest/ui@3.0.4)(happy-dom@16.7.3)(jiti@2.4.2)(lightningcss@1.29.1)(msw@2.7.0(@types/node@22.12.0)(typescript@5.7.3))(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))': + '@vitest/coverage-v8@3.0.4(vitest@3.0.4)': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 1.0.2 @@ -24596,12 +24596,12 @@ snapshots: transitivePeerDependencies: - supports-color - babel-loader@9.2.1(@babel/core@7.26.7)(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))): + babel-loader@9.2.1(@babel/core@7.26.7)(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2)): dependencies: '@babel/core': 7.26.7 find-cache-dir: 4.0.0 schema-utils: 4.3.0 - webpack: 5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15)) + webpack: 5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2) babel-plugin-istanbul@6.1.1: dependencies: @@ -25539,7 +25539,7 @@ snapshots: css-gradient-parser@0.0.16: {} - css-loader@6.11.0(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))): + css-loader@6.11.0(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2)): dependencies: icss-utils: 5.1.0(postcss@8.5.1) postcss: 8.5.1 @@ -25550,7 +25550,7 @@ snapshots: postcss-value-parser: 4.2.0 semver: 7.7.0 optionalDependencies: - webpack: 5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15)) + webpack: 5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2) css-select@4.3.0: dependencies: @@ -26281,8 +26281,8 @@ snapshots: '@typescript-eslint/parser': 7.14.1(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) eslint: 9.19.0(jiti@2.4.2) eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.7.0(eslint-plugin-import@2.31.0)(eslint@9.19.0(jiti@2.4.2)) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.14.1(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint-import-resolver-typescript@3.7.0)(eslint@9.19.0(jiti@2.4.2)) + eslint-import-resolver-typescript: 3.7.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.14.1(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2)))(eslint@9.19.0(jiti@2.4.2)) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.14.1(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint-import-resolver-typescript@3.7.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.14.1(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2)))(eslint@9.19.0(jiti@2.4.2)))(eslint@9.19.0(jiti@2.4.2)) eslint-plugin-jsx-a11y: 6.10.2(eslint@9.19.0(jiti@2.4.2)) eslint-plugin-react: 7.37.4(eslint@9.19.0(jiti@2.4.2)) eslint-plugin-react-hooks: 5.1.0(eslint@9.19.0(jiti@2.4.2)) @@ -26301,35 +26301,35 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.7.0(eslint-plugin-import@2.31.0)(eslint@8.57.0): + eslint-import-resolver-typescript@3.7.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.14.1(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2)))(eslint@9.19.0(jiti@2.4.2)): dependencies: '@nolyfill/is-core-module': 1.0.39 debug: 4.4.0(supports-color@8.1.1) enhanced-resolve: 5.18.0 - eslint: 8.57.0 + eslint: 9.19.0(jiti@2.4.2) fast-glob: 3.3.3 get-tsconfig: 4.10.0 is-bun-module: 1.3.0 is-glob: 4.0.3 stable-hash: 0.0.4 optionalDependencies: - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.7.3))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.0) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.14.1(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint-import-resolver-typescript@3.7.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.14.1(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2)))(eslint@9.19.0(jiti@2.4.2)))(eslint@9.19.0(jiti@2.4.2)) transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.7.0(eslint-plugin-import@2.31.0)(eslint@9.19.0(jiti@2.4.2)): + eslint-import-resolver-typescript@3.7.0(eslint-plugin-import@2.31.0)(eslint@8.57.0): dependencies: '@nolyfill/is-core-module': 1.0.39 debug: 4.4.0(supports-color@8.1.1) enhanced-resolve: 5.18.0 - eslint: 9.19.0(jiti@2.4.2) + eslint: 8.57.0 fast-glob: 3.3.3 get-tsconfig: 4.10.0 is-bun-module: 1.3.0 is-glob: 4.0.3 stable-hash: 0.0.4 optionalDependencies: - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.14.1(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint-import-resolver-typescript@3.7.0)(eslint@9.19.0(jiti@2.4.2)) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.7.3))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.0) transitivePeerDependencies: - supports-color @@ -26354,7 +26354,7 @@ snapshots: - bluebird - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0(eslint-plugin-import@2.31.0)(eslint@8.57.0))(eslint@8.57.0): + eslint-module-utils@2.12.0(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.0): dependencies: debug: 3.2.7 optionalDependencies: @@ -26365,14 +26365,14 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@7.14.1(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0(eslint-plugin-import@2.31.0)(eslint@9.19.0(jiti@2.4.2)))(eslint@9.19.0(jiti@2.4.2)): + eslint-module-utils@2.12.0(@typescript-eslint/parser@7.14.1(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.14.1(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2)))(eslint@9.19.0(jiti@2.4.2)))(eslint@9.19.0(jiti@2.4.2)): dependencies: debug: 3.2.7 optionalDependencies: '@typescript-eslint/parser': 7.14.1(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) eslint: 9.19.0(jiti@2.4.2) eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.7.0(eslint-plugin-import@2.31.0)(eslint@9.19.0(jiti@2.4.2)) + eslint-import-resolver-typescript: 3.7.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.14.1(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2)))(eslint@9.19.0(jiti@2.4.2)) transitivePeerDependencies: - supports-color @@ -26387,7 +26387,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0(eslint-plugin-import@2.31.0)(eslint@8.57.0))(eslint@8.57.0) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.0) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -26405,7 +26405,7 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.14.1(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint-import-resolver-typescript@3.7.0)(eslint@9.19.0(jiti@2.4.2)): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.14.1(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint-import-resolver-typescript@3.7.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.14.1(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2)))(eslint@9.19.0(jiti@2.4.2)))(eslint@9.19.0(jiti@2.4.2)): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -26416,7 +26416,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.19.0(jiti@2.4.2) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.14.1(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0(eslint-plugin-import@2.31.0)(eslint@9.19.0(jiti@2.4.2)))(eslint@9.19.0(jiti@2.4.2)) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.14.1(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.14.1(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2)))(eslint@9.19.0(jiti@2.4.2)))(eslint@9.19.0(jiti@2.4.2)) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -27363,7 +27363,7 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 4.1.0 - fork-ts-checker-webpack-plugin@8.0.0(typescript@5.7.3)(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))): + fork-ts-checker-webpack-plugin@8.0.0(typescript@5.7.3)(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2)): dependencies: '@babel/code-frame': 7.26.2 chalk: 4.1.2 @@ -27378,7 +27378,7 @@ snapshots: semver: 7.7.0 tapable: 2.2.1 typescript: 5.7.3 - webpack: 5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15)) + webpack: 5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2) form-data-encoder@2.1.4: {} @@ -27850,7 +27850,7 @@ snapshots: html-void-elements@3.0.0: {} - html-webpack-plugin@5.6.3(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))): + html-webpack-plugin@5.6.3(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2)): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 @@ -27858,7 +27858,7 @@ snapshots: pretty-error: 4.0.0 tapable: 2.2.1 optionalDependencies: - webpack: 5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15)) + webpack: 5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2) htmlparser2@3.10.1: dependencies: @@ -30427,7 +30427,7 @@ snapshots: node-int64@0.4.0: {} - node-polyfill-webpack-plugin@2.0.1(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))): + node-polyfill-webpack-plugin@2.0.1(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2)): dependencies: assert: 2.1.0 browserify-zlib: 0.2.0 @@ -30454,7 +30454,7 @@ snapshots: url: 0.11.4 util: 0.12.5 vm-browserify: 1.1.2 - webpack: 5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15)) + webpack: 5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2) node-releases@2.0.19: {} @@ -31124,14 +31124,14 @@ snapshots: tsx: 4.19.2 yaml: 2.7.0 - postcss-loader@8.1.1(postcss@8.5.1)(typescript@5.7.3)(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))): + postcss-loader@8.1.1(postcss@8.5.1)(typescript@5.7.3)(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2)): dependencies: cosmiconfig: 9.0.0(typescript@5.7.3) jiti: 1.21.7 postcss: 8.5.1 semver: 7.7.0 optionalDependencies: - webpack: 5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15)) + webpack: 5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2) transitivePeerDependencies: - typescript @@ -32332,11 +32332,11 @@ snapshots: safer-buffer@2.1.2: {} - sass-loader@14.2.1(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))): + sass-loader@14.2.1(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2)): dependencies: neo-async: 2.6.2 optionalDependencies: - webpack: 5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15)) + webpack: 5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2) satori@0.12.1: dependencies: @@ -32937,9 +32937,9 @@ snapshots: structured-headers@0.4.1: {} - style-loader@3.3.4(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))): + style-loader@3.3.4(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2)): dependencies: - webpack: 5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15)) + webpack: 5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2) style-to-object@0.4.4: dependencies: @@ -33186,6 +33186,18 @@ snapshots: ansi-escapes: 4.3.2 supports-hyperlinks: 2.3.0 + terser-webpack-plugin@5.3.11(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2)): + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + jest-worker: 27.5.1 + schema-utils: 4.3.0 + serialize-javascript: 6.0.2 + terser: 5.37.0 + webpack: 5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2) + optionalDependencies: + '@swc/core': 1.10.11(@swc/helpers@0.5.15) + esbuild: 0.24.2 + terser-webpack-plugin@5.3.11(@swc/core@1.10.11(@swc/helpers@0.5.15))(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))): dependencies: '@jridgewell/trace-mapping': 0.3.25 @@ -33197,16 +33209,14 @@ snapshots: optionalDependencies: '@swc/core': 1.10.11(@swc/helpers@0.5.15) - terser-webpack-plugin@5.3.11(esbuild@0.24.2)(webpack@5.97.1(esbuild@0.24.2)): + terser-webpack-plugin@5.3.11(webpack@5.97.1): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 4.3.0 serialize-javascript: 6.0.2 terser: 5.37.0 - webpack: 5.97.1(esbuild@0.24.2) - optionalDependencies: - esbuild: 0.24.2 + webpack: 5.97.1 terser@5.37.0: dependencies: @@ -34238,7 +34248,7 @@ snapshots: - bufferutil - utf-8-validate - webpack-dev-middleware@6.1.3(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))): + webpack-dev-middleware@6.1.3(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2)): dependencies: colorette: 2.0.20 memfs: 3.5.3 @@ -34246,7 +34256,7 @@ snapshots: range-parser: 1.2.1 schema-utils: 4.3.0 optionalDependencies: - webpack: 5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15)) + webpack: 5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2) webpack-hot-middleware@2.26.1: dependencies: @@ -34260,6 +34270,36 @@ snapshots: webpack-virtual-modules@0.6.2: {} + webpack@5.97.1: + dependencies: + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.6 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/wasm-edit': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + acorn: 8.14.0 + browserslist: 4.24.4 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.18.0 + es-module-lexer: 1.6.0 + 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.11(webpack@5.97.1) + watchpack: 2.4.2 + webpack-sources: 3.2.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15)): dependencies: '@types/eslint-scope': 3.7.7 @@ -34290,7 +34330,7 @@ snapshots: - esbuild - uglify-js - webpack@5.97.1(esbuild@0.24.2): + webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.6 @@ -34312,7 +34352,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.11(esbuild@0.24.2)(webpack@5.97.1(esbuild@0.24.2)) + terser-webpack-plugin: 5.3.11(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack@5.97.1(@swc/core@1.10.11(@swc/helpers@0.5.15))(esbuild@0.24.2)) watchpack: 2.4.2 webpack-sources: 3.2.3 transitivePeerDependencies: