diff --git a/.github/labeler.yml b/.github/labeler.yml
index 651291e184c..2056bcab74d 100644
--- a/.github/labeler.yml
+++ b/.github/labeler.yml
@@ -8,6 +8,12 @@ playground:
packages:
- changed-files:
- any-glob-to-any-file: "packages/**/*"
+sdk:
+ - changed-files:
+ - any-glob-to-any-file: "packages/thirdweb/**/*"
portal:
- changed-files:
- any-glob-to-any-file: "apps/portal/**/*"
+"Ecosystem Portal":
+ - changed-files:
+ - any-glob-to-any-file: "apps/wallet-ui/**/*"
diff --git a/apps/wallet-ui/.env.example b/apps/wallet-ui/.env.example
index d5c7ab44066..809fbc9ce1d 100644
--- a/apps/wallet-ui/.env.example
+++ b/apps/wallet-ui/.env.example
@@ -1,5 +1,7 @@
# Root domain for the app
-NEXT_PUBLIC_ROOT_DOMAIN=ecosystem.localhost:3000
+NEXT_PUBLIC_ROOT_DOMAIN=localhost:3000
+# If set to production, multi-tenant subdomains will be used
+NEXT_PUBLIC_ENVIRONMENT=development
# Thirdweb client ID
NEXT_PUBLIC_THIRDWEB_CLIENT_ID=
# Thirdweb API key
diff --git a/apps/wallet-ui/.eslintrc.js b/apps/wallet-ui/.eslintrc.js
new file mode 100644
index 00000000000..f0a1be98074
--- /dev/null
+++ b/apps/wallet-ui/.eslintrc.js
@@ -0,0 +1,71 @@
+module.exports = {
+ extends: [
+ "eslint:recommended",
+ "plugin:@typescript-eslint/recommended",
+ "plugin:@next/next/recommended",
+ ],
+ rules: {
+ "react-compiler/react-compiler": "error",
+ "no-restricted-syntax": [
+ "error",
+ {
+ selector: "CallExpression[callee.name='useEffect']",
+ message:
+ 'Are you *sure* you need to use "useEffect" here? If you loading any async function prefer using "useQuery".',
+ },
+ {
+ selector: "CallExpression[callee.name='createContext']",
+ message:
+ 'Are you *sure* you need to use a "Context"? In almost all cases you should prefer passing props directly.',
+ },
+ ],
+ "no-restricted-imports": [
+ "error",
+ {
+ paths: [
+ {
+ name: "next/navigation",
+ importNames: ["useRouter"],
+ message:
+ 'Use `import { useRouter } from "@/lib/useRouter";` instead',
+ },
+ ],
+ },
+ ],
+ },
+ parser: "@typescript-eslint/parser",
+ plugins: ["@typescript-eslint", "react-compiler"],
+ parserOptions: {
+ ecmaVersion: 2019,
+ ecmaFeatures: {
+ impliedStrict: true,
+ jsx: true,
+ },
+ warnOnUnsupportedTypeScriptVersion: true,
+ },
+ settings: {
+ react: {
+ createClass: "createReactClass",
+ pragma: "React",
+ version: "detect",
+ },
+ },
+ overrides: [
+ // enable rule specifically for TypeScript files
+ {
+ files: ["*.ts", "*.tsx"],
+ rules: {
+ "@typescript-eslint/explicit-module-boundary-types": ["off"],
+ },
+ },
+ // THIS NEEDS TO GO LAST!
+ {
+ files: ["*.ts", "*.js", "*.tsx", "*.jsx"],
+ extends: ["biome"],
+ },
+ ],
+ env: {
+ browser: true,
+ node: true,
+ },
+};
diff --git a/apps/wallet-ui/README.md b/apps/wallet-ui/README.md
index 0a5be79580f..ecd8ae6f9da 100644
--- a/apps/wallet-ui/README.md
+++ b/apps/wallet-ui/README.md
@@ -1 +1 @@
-# thirdweb Wallet UI
+# thirdweb Ecosystem Portal
diff --git a/apps/wallet-ui/biome.json b/apps/wallet-ui/biome.json
new file mode 100644
index 00000000000..b287b3aca79
--- /dev/null
+++ b/apps/wallet-ui/biome.json
@@ -0,0 +1,16 @@
+{
+ "$schema": "https://biomejs.dev/schemas/1.9.2/schema.json",
+ "extends": ["../../biome.json"],
+ "overrides": [
+ {
+ "include": ["src/css/swagger-ui.css"],
+ "linter": {
+ "rules": {
+ "suspicious": {
+ "noImportantInKeyframe": "off"
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/apps/wallet-ui/knip.json b/apps/wallet-ui/knip.json
new file mode 100644
index 00000000000..34399e5e665
--- /dev/null
+++ b/apps/wallet-ui/knip.json
@@ -0,0 +1,8 @@
+{
+ "$schema": "https://unpkg.com/knip@latest/schema.json",
+ "next": true,
+ "ignore": ["src/components/ui/**"],
+ "ignoreBinaries": ["biome"],
+ "ignoreDependencies": ["thirdweb"],
+ "project": ["src/**"]
+}
diff --git a/apps/wallet-ui/package.json b/apps/wallet-ui/package.json
index c3e139a4bbf..dabb6276b11 100644
--- a/apps/wallet-ui/package.json
+++ b/apps/wallet-ui/package.json
@@ -6,8 +6,8 @@
"dev": "next dev --turbopack",
"build": "next build",
"start": "next start",
- "lint": "biome check ./src",
- "fix": "biome check ./src --fix"
+ "lint": "biome check ./src && knip && eslint ./src",
+ "fix": "biome check ./src --fix && knip --fix --allow-remove-files && eslint ./src --fix"
},
"dependencies": {
"@hookform/resolvers": "^3.9.1",
@@ -16,7 +16,6 @@
"@radix-ui/react-label": "^2.1.0",
"@radix-ui/react-popover": "^1.1.2",
"@radix-ui/react-slot": "^1.1.0",
- "@radix-ui/react-toast": "^1.2.2",
"@tanstack/react-query": "5.60.2",
"class-variance-authority": "^0.7.0",
"clsx": "^2.1.1",
@@ -27,6 +26,7 @@
"react": "19.0.0-rc-69d4b800-20241021",
"react-dom": "19.0.0-rc-69d4b800-20241021",
"react-hook-form": "7.52.0",
+ "server-only": "^0.0.1",
"sonner": "^1.7.0",
"tailwind-merge": "^2.5.4",
"tailwindcss-animate": "^1.0.7",
@@ -35,12 +35,18 @@
"zod": "3.23.8"
},
"devDependencies": {
+ "@next/eslint-plugin-next": "15.0.3",
"@types/node": "20.14.9",
"@types/react": "npm:types-react@19.0.0-rc.1",
"@types/react-dom": "npm:types-react-dom@19.0.0-rc.1",
+ "@typescript-eslint/eslint-plugin": "7.14.1",
+ "@typescript-eslint/parser": "7.14.1",
"eslint": "8.57.0",
- "eslint-config-next": "15.0.3",
+ "eslint-config-biome": "1.9.3",
+ "eslint-plugin-react-compiler": "19.0.0-beta-a7bf2bd-20241110",
+ "knip": "5.37.0",
"postcss": "8.4.49",
+ "postcss-load-config": "^6.0.1",
"tailwindcss": "3.4.15",
"typescript": "5.6.3"
}
diff --git a/apps/wallet-ui/postcss.config.mjs b/apps/wallet-ui/postcss.config.mjs
index 1a69fd2a450..cf6b86a905a 100644
--- a/apps/wallet-ui/postcss.config.mjs
+++ b/apps/wallet-ui/postcss.config.mjs
@@ -5,4 +5,4 @@ const config = {
},
};
-export default config;
+export default config;
\ No newline at end of file
diff --git a/apps/wallet-ui/src/app/[ecosystem]/(authed)/layout.tsx b/apps/wallet-ui/src/app/[ecosystem]/(authed)/layout.tsx
index ff3f5ae029d..8a2f53189b8 100644
--- a/apps/wallet-ui/src/app/[ecosystem]/(authed)/layout.tsx
+++ b/apps/wallet-ui/src/app/[ecosystem]/(authed)/layout.tsx
@@ -1,4 +1,5 @@
import ConnectButton from "@/components/ConnectButton";
+import { Image } from "@/components/ui/image";
import { authedOnly } from "@/lib/auth";
import { getEcosystemInfo } from "@/lib/ecosystems";
import { resolveScheme } from "thirdweb/storage";
@@ -12,14 +13,14 @@ export default async function Layout(props: {
const { children } = props;
- await authedOnly();
+ await authedOnly(params.ecosystem);
const ecosystem = await getEcosystemInfo(params.ecosystem);
return (
-

;
searchParams: Promise<{ chainId?: string; uri?: string }>;
}) {
- const searchParams = await props.searchParams;
+ const [searchParams, params] = await Promise.all([
+ props.searchParams,
+ props.params,
+ ]);
const { chainId, uri } = searchParams;
-
- const params = await props.params;
-
const { address } = params;
return (
diff --git a/apps/wallet-ui/src/app/[ecosystem]/login/layout.tsx b/apps/wallet-ui/src/app/[ecosystem]/login/layout.tsx
index c28be22248f..91aeef71333 100644
--- a/apps/wallet-ui/src/app/[ecosystem]/login/layout.tsx
+++ b/apps/wallet-ui/src/app/[ecosystem]/login/layout.tsx
@@ -1,12 +1,15 @@
-import { redirect } from "next/navigation";
-import { getCurrentUser } from "../../../lib/auth";
+import { getCurrentUser } from "@/lib/auth";
+import { redirect } from "@/lib/redirect";
export default async function Layout({
children,
-}: { children: React.ReactNode }) {
+ params,
+}: { children: React.ReactNode; params: Promise<{ ecosystem: string }> }) {
+ const { ecosystem } = await params;
+
const userAddress = await getCurrentUser();
if (userAddress) {
- redirect(`/wallet/${userAddress}`);
+ redirect(`/wallet/${userAddress}`, ecosystem);
}
return (
diff --git a/apps/wallet-ui/src/app/[ecosystem]/page.tsx b/apps/wallet-ui/src/app/[ecosystem]/page.tsx
index 4ca2814303d..8cf3cc56e81 100644
--- a/apps/wallet-ui/src/app/[ecosystem]/page.tsx
+++ b/apps/wallet-ui/src/app/[ecosystem]/page.tsx
@@ -1,10 +1,13 @@
import { getCurrentUser } from "@/lib/auth";
-import { redirect } from "next/navigation";
+import { redirect } from "@/lib/redirect";
-export default async function Page() {
+export default async function Page({
+ params,
+}: { params: Promise<{ ecosystem: string }> }) {
+ const { ecosystem } = await params;
const user = await getCurrentUser();
if (user) {
- redirect("/wallet/${user}");
+ redirect(`/wallet/${user}`, ecosystem);
}
- redirect("/login");
+ redirect("/login", ecosystem);
}
diff --git a/apps/wallet-ui/src/app/[ecosystem]/wc/page.tsx b/apps/wallet-ui/src/app/[ecosystem]/wc/page.tsx
index b83388f18c5..a279f0ba92d 100644
--- a/apps/wallet-ui/src/app/[ecosystem]/wc/page.tsx
+++ b/apps/wallet-ui/src/app/[ecosystem]/wc/page.tsx
@@ -1,19 +1,25 @@
// This page is to accept a Wallet Connect request
import { getCurrentUser } from "@/lib/auth";
-import { redirect } from "next/navigation";
+import { redirect } from "@/lib/redirect";
export default async function Page(props: {
+ params: Promise<{ ecosystem: string }>;
searchParams: Promise<{ uri: string }>;
}) {
- const searchParams = await props.searchParams;
-
+ const [params, searchParams] = await Promise.all([
+ props.params,
+ props.searchParams,
+ ]);
const { uri } = searchParams;
const currentUser = await getCurrentUser();
if (!currentUser) {
- redirect(`/login?uri=${encodeURIComponent(uri)}`);
+ redirect(`/login?uri=${encodeURIComponent(uri)}`, params.ecosystem);
}
- redirect(`/wallet/${currentUser}?uri=${encodeURIComponent(uri)}`);
+ redirect(
+ `/wallet/${currentUser}?uri=${encodeURIComponent(uri)}`,
+ params.ecosystem,
+ );
}
diff --git a/apps/wallet-ui/src/app/layout.tsx b/apps/wallet-ui/src/app/layout.tsx
index a1305cfea4e..3b0f489cf66 100644
--- a/apps/wallet-ui/src/app/layout.tsx
+++ b/apps/wallet-ui/src/app/layout.tsx
@@ -1,7 +1,7 @@
import Providers from "@/components/Providers";
+import { cn } from "@/lib/utils";
import { Inter } from "next/font/google";
import "./globals.css";
-import { cn } from "../lib/utils";
const inter = Inter({ subsets: ["latin"] });
diff --git a/apps/wallet-ui/src/app/not-found.tsx b/apps/wallet-ui/src/app/not-found.tsx
index 7ef09f00cc4..7e2f2654e1d 100644
--- a/apps/wallet-ui/src/app/not-found.tsx
+++ b/apps/wallet-ui/src/app/not-found.tsx
@@ -1,3 +1,5 @@
+/* eslint-disable @next/next/no-img-element */
+
export default function NotFound() {
return (
diff --git a/apps/wallet-ui/src/components/ChainCombobox.tsx b/apps/wallet-ui/src/components/ChainCombobox.tsx
index 013214f932c..95e29042e95 100644
--- a/apps/wallet-ui/src/components/ChainCombobox.tsx
+++ b/apps/wallet-ui/src/components/ChainCombobox.tsx
@@ -14,9 +14,10 @@ import {
PopoverContent,
PopoverTrigger,
} from "@/components/ui/popover";
+import { useRouter } from "@/hooks/useRouter";
import { cn } from "@/lib/utils";
import { ChevronsUpDown } from "lucide-react";
-import { usePathname, useRouter, useSearchParams } from "next/navigation";
+import { useParams, usePathname, useSearchParams } from "next/navigation";
import React from "react";
import type { ChainMetadata } from "thirdweb/chains";
import { ChainIcon } from "./ChainIcon";
@@ -24,6 +25,7 @@ import { ChainIcon } from "./ChainIcon";
export function ChainCombobox({ chains }: { chains: ChainMetadata[] }) {
const router = useRouter();
const pathname = usePathname();
+ const params = useParams();
const searchParams = useSearchParams();
const [open, setOpen] = React.useState(false);
const [value, setValue] = React.useState(searchParams.get("chainId") ?? "0");
@@ -43,7 +45,7 @@ export function ChainCombobox({ chains }: { chains: ChainMetadata[] }) {
const search = current.toString();
const query = search ? `?${search}` : "";
- router.push(`${pathname}${query}`);
+ router.push(`${pathname}${query}`, params.ecosystem as string);
};
return (
diff --git a/apps/wallet-ui/src/components/ChainIcon.tsx b/apps/wallet-ui/src/components/ChainIcon.tsx
index b86aaa43b98..6ba308ec1aa 100644
--- a/apps/wallet-ui/src/components/ChainIcon.tsx
+++ b/apps/wallet-ui/src/components/ChainIcon.tsx
@@ -1,7 +1,8 @@
"use client";
+import { Image } from "@/components/ui/image";
+import { client } from "@/lib/client";
import { useQuery } from "@tanstack/react-query";
import { resolveScheme } from "thirdweb/storage";
-import { client } from "../lib/client";
const fallbackChainIcon =
"data:image/svg+xml;charset=UTF-8,%3csvg width='15' height='14' viewBox='0 0 15 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M7 8.04238e-07C5.1435 8.04238e-07 3.36301 0.737501 2.05025 2.05025C0.7375 3.36301 0 5.1435 0 7C0 7.225 -1.52737e-07 7.445 0.0349998 7.665C0.16385 9.0151 0.68213 10.2988 1.52686 11.3598C2.37158 12.4209 3.50637 13.2137 4.79326 13.642C6.0801 14.0702 7.4637 14.1153 8.7758 13.7719C10.0879 13.4285 11.2719 12.7113 12.184 11.7075C13.0961 10.7038 13.6969 9.4567 13.9135 8.1178C14.1301 6.7789 13.9531 5.406 13.4039 4.16587C12.8548 2.92574 11.9573 1.87184 10.8204 1.13228C9.6835 0.392721 8.3563 -0.000649196 7 8.04238e-07ZM7 1C8.581 1.00137 10.0975 1.62668 11.22 2.74V3.24C9.2438 2.55991 7.0956 2.56872 5.125 3.265C4.96758 3.1116 4.76997 3.00586 4.555 2.96H4.43C4.37 2.75 4.315 2.54 4.27 2.325C4.225 2.11 4.2 1.92 4.175 1.715C5.043 1.24658 6.0137 1.00091 7 1ZM5.5 3.935C7.3158 3.32693 9.2838 3.34984 11.085 4C10.8414 5.2703 10.3094 6.4677 9.53 7.5C9.312 7.4077 9.0707 7.3855 8.8395 7.4366C8.6083 7.4877 8.3988 7.6094 8.24 7.785C8.065 7.685 7.89 7.585 7.74 7.47C6.7307 6.7966 5.8877 5.9023 5.275 4.855C5.374 4.73221 5.4461 4.58996 5.4866 4.43749C5.5271 4.28502 5.5351 4.12575 5.51 3.97L5.5 3.935ZM3.5 2.135C3.5 2.24 3.53 2.35 3.55 2.455C3.595 2.675 3.655 2.89 3.715 3.105C3.52353 3.21838 3.36943 3.38531 3.2717 3.58522C3.17397 3.78513 3.13688 4.00927 3.165 4.23C2.37575 4.7454 1.67078 5.3795 1.075 6.11C1.19455 5.3189 1.47112 4.55966 1.88843 3.87701C2.30575 3.19437 2.85539 2.60208 3.505 2.135H3.5ZM3.5 9.99C3.30481 10.0555 3.13037 10.1714 2.9943 10.3259C2.85822 10.4804 2.76533 10.6681 2.725 10.87H2.405C1.59754 9.9069 1.1146 8.7136 1.025 7.46L1.08 7.365C1.70611 6.3942 2.52463 5.562 3.485 4.92C3.62899 5.0704 3.81094 5.179 4.01162 5.2345C4.2123 5.2899 4.42423 5.2901 4.625 5.235C5.2938 6.3652 6.208 7.3306 7.3 8.06C7.505 8.195 7.715 8.32 7.925 8.44C7.9082 8.6312 7.9391 8.8237 8.015 9C7.1 9.7266 6.0445 10.256 4.915 10.555C4.78401 10.3103 4.57028 10.1201 4.31199 10.0184C4.05369 9.9167 3.76766 9.9102 3.505 10L3.5 9.99ZM7 12.99C5.9831 12.9903 4.98307 12.7304 4.095 12.235L4.235 12.205C4.43397 12.1397 4.61176 12.0222 4.74984 11.8648C4.88792 11.7074 4.98122 11.5158 5.02 11.31C6.2985 10.984 7.4921 10.3872 8.52 9.56C8.7642 9.7027 9.0525 9.75 9.3295 9.6927C9.6064 9.6355 9.8524 9.4778 10.02 9.25C10.7254 9.4334 11.4511 9.5275 12.18 9.53H12.445C11.9626 10.5673 11.1938 11.4451 10.2291 12.0599C9.2643 12.6747 8.144 13.0009 7 13V12.99ZM10.255 8.54C10.2545 8.3304 10.1975 8.1249 10.09 7.945C10.9221 6.8581 11.5012 5.5991 11.785 4.26C12.035 4.37667 12.2817 4.50667 12.525 4.65C13.0749 5.9495 13.1493 7.4012 12.735 8.75C11.9049 8.8142 11.0698 8.7484 10.26 8.555L10.255 8.54Z' fill='%23646D7A'/%3e%3c/svg%3e";
@@ -32,7 +33,7 @@ export function ChainIcon(props: {
});
return (
-
{(data.image_url || data.collection.image_url) && (
-
-

{
+ alt: string; // Making alt required for accessibility
+}
+
+export const Image = ({ alt, ...props }: ImageProps) => {
+ // biome-ignore lint/a11y/useAltText: alt is required
+ return (
+
![{alt}]()
+ );
+};
diff --git a/apps/wallet-ui/src/hooks/useRouter.ts b/apps/wallet-ui/src/hooks/useRouter.ts
new file mode 100644
index 00000000000..11247271ec7
--- /dev/null
+++ b/apps/wallet-ui/src/hooks/useRouter.ts
@@ -0,0 +1,18 @@
+/* eslint-disable no-restricted-imports */
+
+import { isMultiTenant } from "@/lib/utils";
+import { useRouter as useNextRouter } from "next/navigation";
+
+export function useRouter() {
+ const router = useNextRouter();
+
+ return {
+ ...router,
+ push: (path: string, ecosystemId: string) => {
+ if (isMultiTenant && ecosystemId) {
+ return router.push(`/${ecosystemId}${path}`);
+ }
+ return router.push(path);
+ },
+ };
+}
diff --git a/apps/wallet-ui/src/lib/assets/erc20.ts b/apps/wallet-ui/src/lib/assets/erc20.ts
deleted file mode 100644
index afb3d200660..00000000000
--- a/apps/wallet-ui/src/lib/assets/erc20.ts
+++ /dev/null
@@ -1,73 +0,0 @@
-import "server-only";
-import type { Erc20Token } from "@/types/Erc20Token";
-import { chainIdToName, nameToChainId } from "@/util/simplehash";
-import type { Address } from "thirdweb";
-
-export type GetErc20TokensParams = {
- owner: Address;
- chainIds: number[];
- limit?: number;
- cursor?: string;
-};
-
-export async function getErc20Tokens({
- owner,
- chainIds,
- limit = 50,
- cursor,
-}: GetErc20TokensParams): Promise<{
- nextCursor?: string;
- tokens: Erc20Token[];
-}> {
- const chainlist = chainIds
- .map((id) => {
- try {
- return `${chainIdToName(id)},`;
- } catch {
- // Ignore unsupported chains when fetching assets
- }
- })
- .join("")
- .slice(0, -1); // remove trailing comma
-
- const queryParams = new URLSearchParams({
- wallet_addresses: owner,
- limit: limit.toString(),
- chains: chainlist,
- });
-
- if (cursor) {
- queryParams.append("cursor", cursor);
- }
-
- const options = {
- method: "GET",
- headers: {
- accept: "application/json",
- "X-API-KEY": process.env.SIMPLEHASH_API_KEY as string,
- },
- };
-
- const response = await fetch(
- `https://api.simplehash.com/api/v0/fungibles/balances?${decodeURIComponent(queryParams.toString())}`,
- options,
- );
-
- if (!response.ok) {
- response.body?.cancel();
- throw new Error("Failed to fetch ERC20tokens");
- }
-
- const data = await response.json();
-
- return {
- nextCursor: data.next_cursor,
- // biome-ignore lint/suspicious/noExplicitAny: false
- tokens: data.fungibles.map((token: any) => ({
- name: token.name,
- symbol: token.symbol,
- decimals: token.decimals,
- chainId: nameToChainId(token.chain),
- })),
- };
-}
diff --git a/apps/wallet-ui/src/lib/assets/erc721.ts b/apps/wallet-ui/src/lib/assets/erc721.ts
index 75fca188ddc..529a08d2122 100644
--- a/apps/wallet-ui/src/lib/assets/erc721.ts
+++ b/apps/wallet-ui/src/lib/assets/erc721.ts
@@ -3,7 +3,7 @@ import type { Erc721Token } from "@/types/Erc721Token";
import { chainIdToName, nameToChainId } from "@/util/simplehash";
import type { Address } from "thirdweb";
-export type GetErc721TokensParams = {
+type GetErc721TokensParams = {
owner: Address;
chainIds: number[];
limit?: number;
diff --git a/apps/wallet-ui/src/lib/auth.ts b/apps/wallet-ui/src/lib/auth.ts
index 7b1bdd933a6..c0909408d09 100644
--- a/apps/wallet-ui/src/lib/auth.ts
+++ b/apps/wallet-ui/src/lib/auth.ts
@@ -1,8 +1,8 @@
"use server";
import "server-only";
+import { redirect } from "@/lib/redirect";
import { secp256k1 } from "@noble/curves/secp256k1";
import { cookies } from "next/headers";
-import { redirect } from "next/navigation";
import { toHex } from "thirdweb";
import {
type GenerateLoginPayloadParams,
@@ -41,7 +41,6 @@ export async function login(payload: VerifyLoginPayloadParams) {
secure: process.env.NODE_ENV !== "development",
sameSite: "strict",
maxAge: 3600,
- domain: process.env.NEXT_PUBLIC_ROOT_DOMAIN,
path: "/",
});
return true;
@@ -49,15 +48,16 @@ export async function login(payload: VerifyLoginPayloadParams) {
return false;
}
-export async function authedOnly() {
- const loggedIn = await getCurrentUser();
+export async function authedOnly(ecosystemId: string) {
+ const loggedIn = await isLoggedIn();
if (loggedIn) {
return;
}
- redirect("/login");
+
+ redirect("/login", ecosystemId);
}
-export async function isLoggedIn(): Promise
{
+async function isLoggedIn(): Promise {
const user = await getCurrentUser();
return !!user;
}
diff --git a/apps/wallet-ui/src/lib/redirect.ts b/apps/wallet-ui/src/lib/redirect.ts
new file mode 100644
index 00000000000..841702b8343
--- /dev/null
+++ b/apps/wallet-ui/src/lib/redirect.ts
@@ -0,0 +1,13 @@
+import { redirect as nextRedirect } from "next/navigation";
+import { isMultiTenant } from "./utils";
+
+/**
+ * Wraps Next's redirect to add the ecosystem ID if we're in development mode.
+ * In dev, we don't use subdomains. We can't move this to middleware because the edge runtime does not support the JWT verification.
+ */
+export function redirect(path: string, ecosystemId: string) {
+ if (isMultiTenant) {
+ return nextRedirect(`/${ecosystemId}${path}`);
+ }
+ return nextRedirect(path);
+}
diff --git a/apps/wallet-ui/src/lib/utils.ts b/apps/wallet-ui/src/lib/utils.ts
index 365058cebd7..ef955e3cf05 100644
--- a/apps/wallet-ui/src/lib/utils.ts
+++ b/apps/wallet-ui/src/lib/utils.ts
@@ -4,3 +4,6 @@ import { twMerge } from "tailwind-merge";
export function cn(...inputs: ClassValue[]) {
return twMerge(clsx(inputs));
}
+
+export const isMultiTenant =
+ process.env.NEXT_PUBLIC_ENVIRONMENT !== "production";
diff --git a/apps/wallet-ui/src/middleware.ts b/apps/wallet-ui/src/middleware.ts
index 04e74265ff8..1ec5a53b90d 100644
--- a/apps/wallet-ui/src/middleware.ts
+++ b/apps/wallet-ui/src/middleware.ts
@@ -1,4 +1,5 @@
import { type NextRequest, NextResponse } from "next/server";
+import { isMultiTenant } from "./lib/utils";
export const config = {
matcher: [
@@ -12,7 +13,6 @@ export const config = {
"/((?!api/|_next/|_static/|_vercel|[\\w-]+\\.\\w+).*)",
],
};
-
const ROOT_DOMAIN = process.env.NEXT_PUBLIC_ROOT_DOMAIN;
export default async function middleware(req: NextRequest) {
// Get the request hostname (e.g. demo.thirdweb.com)
@@ -24,6 +24,11 @@ export default async function middleware(req: NextRequest) {
searchParams.length > 0 ? `?${searchParams}` : ""
}`;
+ // If running development environment, do not rewrite
+ if (isMultiTenant) {
+ return NextResponse.next();
+ }
+
// keep root application at `/`
if (hostname === ROOT_DOMAIN || hostname === null) {
return NextResponse.next();
@@ -31,6 +36,7 @@ export default async function middleware(req: NextRequest) {
// rewrite everything else to `/[ecosystem]/... dynamic route
const ecosystem = hostname.split(".")[0];
+ const rewriteUrl = new URL(`/${ecosystem}${path}`, req.url);
- return NextResponse.rewrite(new URL(`/${ecosystem}${path}`, req.url));
+ return NextResponse.rewrite(rewriteUrl);
}
diff --git a/apps/wallet-ui/src/types/Erc20Token.ts b/apps/wallet-ui/src/types/Erc20Token.ts
deleted file mode 100644
index 0aca1a52364..00000000000
--- a/apps/wallet-ui/src/types/Erc20Token.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-import type { Address } from "thirdweb";
-
-export type Erc20Token = {
- address: Address;
- name: string;
- symbol: string;
- decimals: number;
- chainId: number;
-};
diff --git a/apps/wallet-ui/src/util/simplehash.ts b/apps/wallet-ui/src/util/simplehash.ts
index 706e005a918..b4f9c9315f2 100644
--- a/apps/wallet-ui/src/util/simplehash.ts
+++ b/apps/wallet-ui/src/util/simplehash.ts
@@ -49,15 +49,6 @@ export function chainIdToName(chainId: number) {
throw new Error(`Unknown chain id: ${chainId}`);
}
-export function chainIdToLabel(chainId: number) {
- const chain = chainIdNameMap.find((chain) => chain.id === chainId);
- if (chain) {
- return chain.label;
- }
-
- throw new Error(`Unknown chain id: ${chainId}`);
-}
-
export function nameToChainId(name: string) {
const chain = chainIdNameMap.find((chain) => chain.name === name);
if (chain) {
diff --git a/packages/thirdweb/src/react/core/hooks/wallets/useCallsStatus.ts b/packages/thirdweb/src/react/core/hooks/wallets/useCallsStatus.ts
index a0acea37274..1e8f5833fc5 100644
--- a/packages/thirdweb/src/react/core/hooks/wallets/useCallsStatus.ts
+++ b/packages/thirdweb/src/react/core/hooks/wallets/useCallsStatus.ts
@@ -7,7 +7,7 @@ import { useActiveWallet } from "./useActiveWallet.js";
/**
* A hook to get a call bundle's current status according to [EIP-5792](https://eips.ethereum.org/EIPS/eip-5792).
*
- * @note This function is dependent on the wallet's support for EIP-5792 and could throw an error if it's not supported.
+ * This function is dependent on the wallet's support for EIP-5792 and could throw an error if it's not supported.
*
* @returns a React Query object.
* @beta
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index e6e61d8ec21..2caee02cc4e 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -137,7 +137,7 @@ importers:
version: 1.1.4(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021)(types-react-dom@19.0.0-rc.1)(types-react@19.0.0-rc.1)
'@sentry/nextjs':
specifier: 8.38.0
- version: 8.38.0(@opentelemetry/core@1.27.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.54.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.27.0(@opentelemetry/api@1.9.0))(next@15.0.3(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.48.2)(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0))
+ version: 8.38.0(@opentelemetry/core@1.27.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.54.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.27.0(@opentelemetry/api@1.9.0))(next@15.0.3(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.48.2)(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021)(webpack@5.96.1(@swc/core@1.9.2)(esbuild@0.24.0))
'@shazow/whatsabi':
specifier: ^0.16.0
version: 0.16.0(@noble/hashes@1.5.0)(bufferutil@4.0.8)(utf-8-validate@5.0.10)
@@ -158,7 +158,7 @@ importers:
version: link:../../packages/service-utils
'@vercel/functions':
specifier: ^1.4.2
- version: 1.5.0(@aws-sdk/credential-provider-web-identity@3.693.0(@aws-sdk/client-sts@3.693.0))
+ version: 1.5.0(@aws-sdk/credential-provider-web-identity@3.693.0)
'@vercel/og':
specifier: ^0.6.2
version: 0.6.3
@@ -290,7 +290,7 @@ importers:
version: 2.5.4
tailwindcss-animate:
specifier: ^1.0.7
- version: 1.0.7(tailwindcss@3.4.15(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/node@20.14.9)(typescript@5.6.3)))
+ version: 1.0.7(tailwindcss@3.4.15(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.6.3)))
thirdweb:
specifier: workspace:*
version: link:../../packages/thirdweb
@@ -339,7 +339,7 @@ importers:
version: 8.4.4(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021)(storybook@8.4.4(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))
'@storybook/nextjs':
specifier: 8.4.4
- version: 8.4.4(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(next@15.0.3(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.48.2)(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021))(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021)(storybook@8.4.4(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))(type-fest@4.27.0)(typescript@5.6.3)(webpack-hot-middleware@2.26.1)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0))
+ version: 8.4.4(@swc/core@1.9.2)(esbuild@0.24.0)(next@15.0.3(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.48.2)(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021))(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021)(storybook@8.4.4(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))(type-fest@4.27.0)(typescript@5.6.3)(webpack-hot-middleware@2.26.1)(webpack@5.96.1(@swc/core@1.9.2)(esbuild@0.24.0))
'@storybook/react':
specifier: 8.4.4
version: 8.4.4(@storybook/test@8.4.4(storybook@8.4.4(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10)))(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021)(storybook@8.4.4(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))(typescript@5.6.3)
@@ -387,7 +387,7 @@ importers:
version: 10.4.20(postcss@8.4.49)
checkly:
specifier: ^4.8.1
- version: 4.9.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/node@20.14.9)(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)
+ version: 4.9.1(@swc/core@1.9.2)(@types/node@20.14.9)(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)
eslint:
specifier: 8.57.0
version: 8.57.0
@@ -414,7 +414,7 @@ importers:
version: 8.4.4(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10)
tailwindcss:
specifier: 3.4.15
- version: 3.4.15(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/node@20.14.9)(typescript@5.6.3))
+ version: 3.4.15(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.6.3))
typescript:
specifier: 5.6.3
version: 5.6.3
@@ -532,10 +532,10 @@ importers:
version: 8.4.49
tailwindcss:
specifier: 3.4.15
- version: 3.4.15(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/node@20.14.9)(typescript@5.6.3))
+ version: 3.4.15(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.6.3))
tailwindcss-animate:
specifier: ^1.0.7
- version: 1.0.7(tailwindcss@3.4.15(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/node@20.14.9)(typescript@5.6.3)))
+ version: 1.0.7(tailwindcss@3.4.15(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.6.3)))
typescript:
specifier: 5.6.3
version: 5.6.3
@@ -547,13 +547,13 @@ importers:
version: 1.0.5(react@19.0.0-rc-69d4b800-20241021)
'@mdx-js/loader':
specifier: ^2.3.0
- version: 2.3.0(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15)))
+ version: 2.3.0(webpack@5.96.1)
'@mdx-js/react':
specifier: ^2.3.0
version: 2.3.0(react@19.0.0-rc-69d4b800-20241021)
'@next/mdx':
specifier: 15.0.3
- version: 15.0.3(@mdx-js/loader@2.3.0(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))))(@mdx-js/react@2.3.0(react@19.0.0-rc-69d4b800-20241021))
+ version: 15.0.3(@mdx-js/loader@2.3.0(webpack@5.96.1))(@mdx-js/react@2.3.0(react@19.0.0-rc-69d4b800-20241021))
'@radix-ui/react-dialog':
specifier: 1.1.2
version: 1.1.2(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021)(types-react-dom@19.0.0-rc.1)(types-react@19.0.0-rc.1)
@@ -634,7 +634,7 @@ importers:
version: 2.5.4
tailwindcss-animate:
specifier: ^1.0.7
- version: 1.0.7(tailwindcss@3.4.15(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/node@20.14.9)(typescript@5.6.3)))
+ version: 1.0.7(tailwindcss@3.4.15(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.6.3)))
thirdweb:
specifier: workspace:*
version: link:../../packages/thirdweb
@@ -692,7 +692,7 @@ importers:
version: 1.2.4
eslint-plugin-tailwindcss:
specifier: ^3.17.5
- version: 3.17.5(tailwindcss@3.4.15(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/node@20.14.9)(typescript@5.6.3)))
+ version: 3.17.5(tailwindcss@3.4.15(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.6.3)))
next-sitemap:
specifier: ^4.2.3
version: 4.2.3(next@15.0.3(@opentelemetry/api@1.9.0)(@playwright/test@1.48.2)(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021))
@@ -701,7 +701,7 @@ importers:
version: 8.4.49
tailwindcss:
specifier: 3.4.15
- version: 3.4.15(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/node@20.14.9)(typescript@5.6.3))
+ version: 3.4.15(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.6.3))
tsx:
specifier: 4.19.2
version: 4.19.2
@@ -729,9 +729,6 @@ importers:
'@radix-ui/react-slot':
specifier: ^1.1.0
version: 1.1.0(react@19.0.0-rc-69d4b800-20241021)(types-react@19.0.0-rc.1)
- '@radix-ui/react-toast':
- specifier: ^1.2.2
- version: 1.2.2(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021)(types-react-dom@19.0.0-rc.1)(types-react@19.0.0-rc.1)
'@tanstack/react-query':
specifier: 5.60.2
version: 5.60.2(react@19.0.0-rc-69d4b800-20241021)
@@ -762,6 +759,9 @@ importers:
react-hook-form:
specifier: 7.52.0
version: 7.52.0(react@19.0.0-rc-69d4b800-20241021)
+ server-only:
+ specifier: ^0.0.1
+ version: 0.0.1
sonner:
specifier: ^1.7.0
version: 1.7.0(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021)
@@ -770,7 +770,7 @@ importers:
version: 2.5.4
tailwindcss-animate:
specifier: ^1.0.7
- version: 1.0.7(tailwindcss@3.4.15(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/node@20.14.9)(typescript@5.6.3)))
+ version: 1.0.7(tailwindcss@3.4.15(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.6.3)))
thirdweb:
specifier: workspace:*
version: link:../../packages/thirdweb
@@ -781,6 +781,9 @@ importers:
specifier: 3.23.8
version: 3.23.8
devDependencies:
+ '@next/eslint-plugin-next':
+ specifier: 15.0.3
+ version: 15.0.3
'@types/node':
specifier: 20.14.9
version: 20.14.9
@@ -790,18 +793,33 @@ importers:
'@types/react-dom':
specifier: npm:types-react-dom@19.0.0-rc.1
version: types-react-dom@19.0.0-rc.1
+ '@typescript-eslint/eslint-plugin':
+ specifier: 7.14.1
+ version: 7.14.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.6.3))(eslint@8.57.0)(typescript@5.6.3)
+ '@typescript-eslint/parser':
+ specifier: 7.14.1
+ version: 7.14.1(eslint@8.57.0)(typescript@5.6.3)
eslint:
specifier: 8.57.0
version: 8.57.0
- eslint-config-next:
- specifier: 15.0.3
- version: 15.0.3(eslint@8.57.0)(typescript@5.6.3)
+ eslint-config-biome:
+ specifier: 1.9.3
+ version: 1.9.3
+ eslint-plugin-react-compiler:
+ specifier: 19.0.0-beta-a7bf2bd-20241110
+ version: 19.0.0-beta-a7bf2bd-20241110(eslint@8.57.0)
+ knip:
+ specifier: 5.37.0
+ version: 5.37.0(@types/node@20.14.9)(typescript@5.6.3)
postcss:
specifier: 8.4.49
version: 8.4.49
+ postcss-load-config:
+ specifier: ^6.0.1
+ version: 6.0.1(jiti@2.4.0)(postcss@8.4.49)(tsx@4.19.2)(yaml@2.6.0)
tailwindcss:
specifier: 3.4.15
- version: 3.4.15(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/node@20.14.9)(typescript@5.6.3))
+ version: 3.4.15(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.6.3))
typescript:
specifier: 5.6.3
version: 5.6.3
@@ -4357,19 +4375,6 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-toast@1.2.2':
- resolution: {integrity: sha512-Z6pqSzmAP/bFJoqMAston4eSNa+ud44NSZTiZUmUen+IOZ5nBY8kzuU5WDBVyFXPtcW6yUalOHsxM/BP6Sv8ww==}
- peerDependencies:
- '@types/react': npm:types-react@19.0.0-rc.1
- '@types/react-dom': npm:types-react-dom@19.0.0-rc.1
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
'@radix-ui/react-tooltip@1.1.4':
resolution: {integrity: sha512-QpObUH/ZlpaO4YgHSaYzrLO2VuO+ZBFFgGzjMUPwtiYnAzzNNDPJeEGRrT7qNOrWm/Jr08M1vlp+vTHtnSQ0Uw==}
peerDependencies:
@@ -5504,9 +5509,6 @@ packages:
'@swc/helpers@0.5.13':
resolution: {integrity: sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==}
- '@swc/helpers@0.5.15':
- resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==}
-
'@swc/types@0.1.15':
resolution: {integrity: sha512-XKaZ+dzDIQ9Ot9o89oJQ/aluI17+VvUnIpYJTcZtvv1iYX6MzHh3Ik2CSR7MdPKpPwfZXHBeCingb2b4PoDVdw==}
@@ -11383,6 +11385,24 @@ packages:
ts-node:
optional: true
+ postcss-load-config@6.0.1:
+ resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==}
+ engines: {node: '>= 18'}
+ peerDependencies:
+ jiti: '>=1.21.0'
+ postcss: '>=8.0.9'
+ tsx: ^4.8.1
+ yaml: ^2.4.2
+ peerDependenciesMeta:
+ jiti:
+ optional: true
+ postcss:
+ optional: true
+ tsx:
+ optional: true
+ yaml:
+ optional: true
+
postcss-loader@8.1.1:
resolution: {integrity: sha512-0IeqyAsG6tYiDRCYKQJLAmgQr47DX6N7sFSWvQxt6AcupX8DIdmykuk/o/tx0Lze3ErGHJEp5OSRxrelC6+NdQ==}
engines: {node: '>= 18.12.0'}
@@ -17197,11 +17217,11 @@ snapshots:
react: 19.0.0-rc-69d4b800-20241021
react-dom: 19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021)
- '@mdx-js/loader@2.3.0(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15)))':
+ '@mdx-js/loader@2.3.0(webpack@5.96.1)':
dependencies:
'@mdx-js/mdx': 2.3.0
source-map: 0.7.4
- webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))
+ webpack: 5.96.1
transitivePeerDependencies:
- supports-color
@@ -17341,11 +17361,11 @@ snapshots:
dependencies:
fast-glob: 3.3.1
- '@next/mdx@15.0.3(@mdx-js/loader@2.3.0(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))))(@mdx-js/react@2.3.0(react@19.0.0-rc-69d4b800-20241021))':
+ '@next/mdx@15.0.3(@mdx-js/loader@2.3.0(webpack@5.96.1))(@mdx-js/react@2.3.0(react@19.0.0-rc-69d4b800-20241021))':
dependencies:
source-map: 0.7.4
optionalDependencies:
- '@mdx-js/loader': 2.3.0(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15)))
+ '@mdx-js/loader': 2.3.0(webpack@5.96.1)
'@mdx-js/react': 2.3.0(react@19.0.0-rc-69d4b800-20241021)
'@next/swc-darwin-arm64@15.0.3':
@@ -17495,7 +17515,7 @@ snapshots:
widest-line: 3.1.0
wrap-ansi: 7.0.0
- '@oclif/core@2.8.11(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/node@20.14.9)(typescript@5.6.3)':
+ '@oclif/core@2.8.11(@swc/core@1.9.2)(@types/node@20.14.9)(typescript@5.6.3)':
dependencies:
'@types/cli-progress': 3.11.5
ansi-escapes: 4.3.2
@@ -17521,7 +17541,7 @@ snapshots:
strip-ansi: 6.0.1
supports-color: 8.1.1
supports-hyperlinks: 2.3.0
- ts-node: 10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/node@20.14.9)(typescript@5.6.3)
+ ts-node: 10.9.2(@swc/core@1.9.2)(@types/node@20.14.9)(typescript@5.6.3)
tslib: 2.8.1
widest-line: 3.1.0
wordwrap: 1.0.0
@@ -17558,10 +17578,10 @@ snapshots:
dependencies:
'@oclif/core': 1.26.2
- '@oclif/plugin-not-found@2.3.23(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/node@20.14.9)(typescript@5.6.3)':
+ '@oclif/plugin-not-found@2.3.23(@swc/core@1.9.2)(@types/node@20.14.9)(typescript@5.6.3)':
dependencies:
'@oclif/color': 1.0.13
- '@oclif/core': 2.8.11(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/node@20.14.9)(typescript@5.6.3)
+ '@oclif/core': 2.8.11(@swc/core@1.9.2)(@types/node@20.14.9)(typescript@5.6.3)
fast-levenshtein: 3.0.0
lodash: 4.17.21
transitivePeerDependencies:
@@ -17586,9 +17606,9 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@oclif/plugin-warn-if-update-available@2.0.24(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/node@20.14.9)(typescript@5.6.3)':
+ '@oclif/plugin-warn-if-update-available@2.0.24(@swc/core@1.9.2)(@types/node@20.14.9)(typescript@5.6.3)':
dependencies:
- '@oclif/core': 2.8.11(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/node@20.14.9)(typescript@5.6.3)
+ '@oclif/core': 2.8.11(@swc/core@1.9.2)(@types/node@20.14.9)(typescript@5.6.3)
chalk: 4.1.2
debug: 4.3.7(supports-color@8.1.1)
fs-extra: 9.1.0
@@ -17977,7 +17997,7 @@ snapshots:
dependencies:
playwright: 1.48.2
- '@pmmmwh/react-refresh-webpack-plugin@0.5.15(react-refresh@0.14.2)(type-fest@4.27.0)(webpack-hot-middleware@2.26.1)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0))':
+ '@pmmmwh/react-refresh-webpack-plugin@0.5.15(react-refresh@0.14.2)(type-fest@4.27.0)(webpack-hot-middleware@2.26.1)(webpack@5.96.1(@swc/core@1.9.2)(esbuild@0.24.0))':
dependencies:
ansi-html: 0.0.9
core-js-pure: 3.39.0
@@ -17987,7 +18007,7 @@ snapshots:
react-refresh: 0.14.2
schema-utils: 4.2.0
source-map: 0.7.4
- webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)
+ webpack: 5.96.1(@swc/core@1.9.2)(esbuild@0.24.0)
optionalDependencies:
type-fest: 4.27.0
webpack-hot-middleware: 2.26.1
@@ -18504,26 +18524,6 @@ snapshots:
'@types/react': types-react@19.0.0-rc.1
'@types/react-dom': types-react-dom@19.0.0-rc.1
- '@radix-ui/react-toast@1.2.2(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021)(types-react-dom@19.0.0-rc.1)(types-react@19.0.0-rc.1)':
- dependencies:
- '@radix-ui/primitive': 1.1.0
- '@radix-ui/react-collection': 1.1.0(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021)(types-react-dom@19.0.0-rc.1)(types-react@19.0.0-rc.1)
- '@radix-ui/react-compose-refs': 1.1.0(react@19.0.0-rc-69d4b800-20241021)(types-react@19.0.0-rc.1)
- '@radix-ui/react-context': 1.1.1(react@19.0.0-rc-69d4b800-20241021)(types-react@19.0.0-rc.1)
- '@radix-ui/react-dismissable-layer': 1.1.1(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021)(types-react-dom@19.0.0-rc.1)(types-react@19.0.0-rc.1)
- '@radix-ui/react-portal': 1.1.2(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021)(types-react-dom@19.0.0-rc.1)(types-react@19.0.0-rc.1)
- '@radix-ui/react-presence': 1.1.1(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021)(types-react-dom@19.0.0-rc.1)(types-react@19.0.0-rc.1)
- '@radix-ui/react-primitive': 2.0.0(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021)(types-react-dom@19.0.0-rc.1)(types-react@19.0.0-rc.1)
- '@radix-ui/react-use-callback-ref': 1.1.0(react@19.0.0-rc-69d4b800-20241021)(types-react@19.0.0-rc.1)
- '@radix-ui/react-use-controllable-state': 1.1.0(react@19.0.0-rc-69d4b800-20241021)(types-react@19.0.0-rc.1)
- '@radix-ui/react-use-layout-effect': 1.1.0(react@19.0.0-rc-69d4b800-20241021)(types-react@19.0.0-rc.1)
- '@radix-ui/react-visually-hidden': 1.1.0(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021)(types-react-dom@19.0.0-rc.1)(types-react@19.0.0-rc.1)
- react: 19.0.0-rc-69d4b800-20241021
- react-dom: 19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021)
- optionalDependencies:
- '@types/react': types-react@19.0.0-rc.1
- '@types/react-dom': types-react-dom@19.0.0-rc.1
-
'@radix-ui/react-tooltip@1.1.4(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021)(types-react-dom@19.0.0-rc.1)(types-react@19.0.0-rc.1)':
dependencies:
'@radix-ui/primitive': 1.1.0
@@ -19005,7 +19005,7 @@ snapshots:
'@sentry/types': 8.38.0
'@sentry/utils': 8.38.0
- '@sentry/nextjs@8.38.0(@opentelemetry/core@1.27.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.54.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.27.0(@opentelemetry/api@1.9.0))(next@15.0.3(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.48.2)(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0))':
+ '@sentry/nextjs@8.38.0(@opentelemetry/core@1.27.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.54.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.27.0(@opentelemetry/api@1.9.0))(next@15.0.3(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.48.2)(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021)(webpack@5.96.1(@swc/core@1.9.2)(esbuild@0.24.0))':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/instrumentation-http': 0.53.0(@opentelemetry/api@1.9.0)
@@ -19019,7 +19019,7 @@ snapshots:
'@sentry/types': 8.38.0
'@sentry/utils': 8.38.0
'@sentry/vercel-edge': 8.38.0
- '@sentry/webpack-plugin': 2.22.6(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0))
+ '@sentry/webpack-plugin': 2.22.6(webpack@5.96.1(@swc/core@1.9.2)(esbuild@0.24.0))
chalk: 3.0.0
next: 15.0.3(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.48.2)(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021)
resolve: 1.22.8
@@ -19109,12 +19109,12 @@ snapshots:
'@sentry/types': 8.38.0
'@sentry/utils': 8.38.0
- '@sentry/webpack-plugin@2.22.6(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0))':
+ '@sentry/webpack-plugin@2.22.6(webpack@5.96.1(@swc/core@1.9.2)(esbuild@0.24.0))':
dependencies:
'@sentry/bundler-plugin-core': 2.22.6
unplugin: 1.0.1
uuid: 9.0.1
- webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)
+ webpack: 5.96.1(@swc/core@1.9.2)(esbuild@0.24.0)
transitivePeerDependencies:
- encoding
- supports-color
@@ -19736,7 +19736,7 @@ snapshots:
ts-dedent: 2.2.0
vite: 5.4.11(@types/node@22.9.0)(lightningcss@1.28.1)(terser@5.36.0)
- '@storybook/builder-webpack5@8.4.4(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(storybook@8.4.4(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))(typescript@5.6.3)':
+ '@storybook/builder-webpack5@8.4.4(@swc/core@1.9.2)(esbuild@0.24.0)(storybook@8.4.4(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))(typescript@5.6.3)':
dependencies:
'@storybook/core-webpack': 8.4.4(storybook@8.4.4(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))
'@types/node': 22.9.0
@@ -19745,23 +19745,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.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0))
+ css-loader: 6.11.0(webpack@5.96.1(@swc/core@1.9.2)(esbuild@0.24.0))
es-module-lexer: 1.5.4
- fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0))
- html-webpack-plugin: 5.6.3(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0))
+ fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.9.2)(esbuild@0.24.0))
+ html-webpack-plugin: 5.6.3(webpack@5.96.1(@swc/core@1.9.2)(esbuild@0.24.0))
magic-string: 0.30.12
path-browserify: 1.0.1
process: 0.11.10
semver: 7.6.3
storybook: 8.4.4(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10)
- style-loader: 3.3.4(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0))
- terser-webpack-plugin: 5.3.10(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0))
+ style-loader: 3.3.4(webpack@5.96.1(@swc/core@1.9.2)(esbuild@0.24.0))
+ terser-webpack-plugin: 5.3.10(@swc/core@1.9.2)(esbuild@0.24.0)(webpack@5.96.1(@swc/core@1.9.2)(esbuild@0.24.0))
ts-dedent: 2.2.0
url: 0.11.4
util: 0.12.5
util-deprecate: 1.0.2
- webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)
- webpack-dev-middleware: 6.1.3(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0))
+ webpack: 5.96.1(@swc/core@1.9.2)(esbuild@0.24.0)
+ webpack-dev-middleware: 6.1.3(webpack@5.96.1(@swc/core@1.9.2)(esbuild@0.24.0))
webpack-hot-middleware: 2.26.1
webpack-virtual-modules: 0.6.2
optionalDependencies:
@@ -19838,7 +19838,7 @@ snapshots:
dependencies:
storybook: 8.4.4(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10)
- '@storybook/nextjs@8.4.4(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(next@15.0.3(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.48.2)(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021))(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021)(storybook@8.4.4(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))(type-fest@4.27.0)(typescript@5.6.3)(webpack-hot-middleware@2.26.1)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0))':
+ '@storybook/nextjs@8.4.4(@swc/core@1.9.2)(esbuild@0.24.0)(next@15.0.3(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.48.2)(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021))(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021)(storybook@8.4.4(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))(type-fest@4.27.0)(typescript@5.6.3)(webpack-hot-middleware@2.26.1)(webpack@5.96.1(@swc/core@1.9.2)(esbuild@0.24.0))':
dependencies:
'@babel/core': 7.26.0
'@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.26.0)
@@ -19853,31 +19853,31 @@ snapshots:
'@babel/preset-react': 7.25.9(@babel/core@7.26.0)
'@babel/preset-typescript': 7.26.0(@babel/core@7.26.0)
'@babel/runtime': 7.26.0
- '@pmmmwh/react-refresh-webpack-plugin': 0.5.15(react-refresh@0.14.2)(type-fest@4.27.0)(webpack-hot-middleware@2.26.1)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0))
- '@storybook/builder-webpack5': 8.4.4(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(storybook@8.4.4(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))(typescript@5.6.3)
- '@storybook/preset-react-webpack': 8.4.4(@storybook/test@8.4.4(storybook@8.4.4(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10)))(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021)(storybook@8.4.4(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))(typescript@5.6.3)
+ '@pmmmwh/react-refresh-webpack-plugin': 0.5.15(react-refresh@0.14.2)(type-fest@4.27.0)(webpack-hot-middleware@2.26.1)(webpack@5.96.1(@swc/core@1.9.2)(esbuild@0.24.0))
+ '@storybook/builder-webpack5': 8.4.4(@swc/core@1.9.2)(esbuild@0.24.0)(storybook@8.4.4(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))(typescript@5.6.3)
+ '@storybook/preset-react-webpack': 8.4.4(@storybook/test@8.4.4(storybook@8.4.4(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10)))(@swc/core@1.9.2)(esbuild@0.24.0)(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021)(storybook@8.4.4(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))(typescript@5.6.3)
'@storybook/react': 8.4.4(@storybook/test@8.4.4(storybook@8.4.4(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10)))(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021)(storybook@8.4.4(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))(typescript@5.6.3)
'@storybook/test': 8.4.4(storybook@8.4.4(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))
'@types/node': 22.9.0
'@types/semver': 7.5.8
- babel-loader: 9.2.1(@babel/core@7.26.0)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0))
- css-loader: 6.11.0(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0))
+ babel-loader: 9.2.1(@babel/core@7.26.0)(webpack@5.96.1(@swc/core@1.9.2)(esbuild@0.24.0))
+ css-loader: 6.11.0(webpack@5.96.1(@swc/core@1.9.2)(esbuild@0.24.0))
find-up: 5.0.0
image-size: 1.1.1
loader-utils: 3.3.1
next: 15.0.3(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.48.2)(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021)
- node-polyfill-webpack-plugin: 2.0.1(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0))
+ node-polyfill-webpack-plugin: 2.0.1(webpack@5.96.1(@swc/core@1.9.2)(esbuild@0.24.0))
pnp-webpack-plugin: 1.7.0(typescript@5.6.3)
postcss: 8.4.49
- postcss-loader: 8.1.1(postcss@8.4.49)(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0))
+ postcss-loader: 8.1.1(postcss@8.4.49)(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.9.2)(esbuild@0.24.0))
react: 19.0.0-rc-69d4b800-20241021
react-dom: 19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021)
react-refresh: 0.14.2
resolve-url-loader: 5.0.0
- sass-loader: 13.3.3(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0))
+ sass-loader: 13.3.3(webpack@5.96.1(@swc/core@1.9.2)(esbuild@0.24.0))
semver: 7.6.3
storybook: 8.4.4(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10)
- style-loader: 3.3.4(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0))
+ style-loader: 3.3.4(webpack@5.96.1(@swc/core@1.9.2)(esbuild@0.24.0))
styled-jsx: 5.1.6(@babel/core@7.26.0)(react@19.0.0-rc-69d4b800-20241021)
ts-dedent: 2.2.0
tsconfig-paths: 4.2.0
@@ -19885,7 +19885,7 @@ snapshots:
optionalDependencies:
sharp: 0.33.5
typescript: 5.6.3
- webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)
+ webpack: 5.96.1(@swc/core@1.9.2)(esbuild@0.24.0)
transitivePeerDependencies:
- '@rspack/core'
- '@swc/core'
@@ -19905,11 +19905,11 @@ snapshots:
- webpack-hot-middleware
- webpack-plugin-serve
- '@storybook/preset-react-webpack@8.4.4(@storybook/test@8.4.4(storybook@8.4.4(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10)))(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021)(storybook@8.4.4(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))(typescript@5.6.3)':
+ '@storybook/preset-react-webpack@8.4.4(@storybook/test@8.4.4(storybook@8.4.4(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10)))(@swc/core@1.9.2)(esbuild@0.24.0)(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021)(storybook@8.4.4(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))(typescript@5.6.3)':
dependencies:
'@storybook/core-webpack': 8.4.4(storybook@8.4.4(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))
'@storybook/react': 8.4.4(@storybook/test@8.4.4(storybook@8.4.4(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10)))(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021)(storybook@8.4.4(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))(typescript@5.6.3)
- '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0))
+ '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.9.2)(esbuild@0.24.0))
'@types/node': 22.9.0
'@types/semver': 7.5.8
find-up: 5.0.0
@@ -19921,7 +19921,7 @@ snapshots:
semver: 7.6.3
storybook: 8.4.4(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10)
tsconfig-paths: 4.2.0
- webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)
+ webpack: 5.96.1(@swc/core@1.9.2)(esbuild@0.24.0)
optionalDependencies:
typescript: 5.6.3
transitivePeerDependencies:
@@ -19936,7 +19936,7 @@ snapshots:
dependencies:
storybook: 8.4.4(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10)
- '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0))':
+ '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.9.2)(esbuild@0.24.0))':
dependencies:
debug: 4.3.7(supports-color@8.1.1)
endent: 2.1.0
@@ -19946,7 +19946,7 @@ snapshots:
react-docgen-typescript: 2.2.2(typescript@5.6.3)
tslib: 2.8.1
typescript: 5.6.3
- webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)
+ webpack: 5.96.1(@swc/core@1.9.2)(esbuild@0.24.0)
transitivePeerDependencies:
- supports-color
@@ -20385,7 +20385,7 @@ snapshots:
'@swc/core-win32-x64-msvc@1.9.2':
optional: true
- '@swc/core@1.9.2(@swc/helpers@0.5.15)':
+ '@swc/core@1.9.2':
dependencies:
'@swc/counter': 0.1.3
'@swc/types': 0.1.15
@@ -20400,7 +20400,6 @@ snapshots:
'@swc/core-win32-arm64-msvc': 1.9.2
'@swc/core-win32-ia32-msvc': 1.9.2
'@swc/core-win32-x64-msvc': 1.9.2
- '@swc/helpers': 0.5.15
optional: true
'@swc/counter@0.1.3': {}
@@ -20409,11 +20408,6 @@ snapshots:
dependencies:
tslib: 2.8.1
- '@swc/helpers@0.5.15':
- dependencies:
- tslib: 2.8.1
- optional: true
-
'@swc/types@0.1.15':
dependencies:
'@swc/counter': 0.1.3
@@ -20913,7 +20907,7 @@ snapshots:
'@urql/core': 5.0.8(graphql@16.9.0)
wonka: 6.3.4
- '@vercel/functions@1.5.0(@aws-sdk/credential-provider-web-identity@3.693.0(@aws-sdk/client-sts@3.693.0))':
+ '@vercel/functions@1.5.0(@aws-sdk/credential-provider-web-identity@3.693.0)':
optionalDependencies:
'@aws-sdk/credential-provider-web-identity': 3.693.0(@aws-sdk/client-sts@3.693.0)
@@ -21806,12 +21800,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
- babel-loader@9.2.1(@babel/core@7.26.0)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)):
+ babel-loader@9.2.1(@babel/core@7.26.0)(webpack@5.96.1(@swc/core@1.9.2)(esbuild@0.24.0)):
dependencies:
'@babel/core': 7.26.0
find-cache-dir: 4.0.0
schema-utils: 4.2.0
- webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)
+ webpack: 5.96.1(@swc/core@1.9.2)(esbuild@0.24.0)
babel-plugin-istanbul@6.1.1:
dependencies:
@@ -22264,13 +22258,13 @@ snapshots:
check-error@2.1.1: {}
- checkly@4.9.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/node@20.14.9)(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10):
+ checkly@4.9.1(@swc/core@1.9.2)(@types/node@20.14.9)(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10):
dependencies:
- '@oclif/core': 2.8.11(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/node@20.14.9)(typescript@5.6.3)
+ '@oclif/core': 2.8.11(@swc/core@1.9.2)(@types/node@20.14.9)(typescript@5.6.3)
'@oclif/plugin-help': 5.1.20
- '@oclif/plugin-not-found': 2.3.23(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/node@20.14.9)(typescript@5.6.3)
+ '@oclif/plugin-not-found': 2.3.23(@swc/core@1.9.2)(@types/node@20.14.9)(typescript@5.6.3)
'@oclif/plugin-plugins': 5.4.4
- '@oclif/plugin-warn-if-update-available': 2.0.24(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/node@20.14.9)(typescript@5.6.3)
+ '@oclif/plugin-warn-if-update-available': 2.0.24(@swc/core@1.9.2)(@types/node@20.14.9)(typescript@5.6.3)
'@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.3)
acorn: 8.8.1
acorn-walk: 8.2.0
@@ -22727,7 +22721,7 @@ snapshots:
css-color-keywords@1.0.0: {}
- css-loader@6.11.0(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)):
+ css-loader@6.11.0(webpack@5.96.1(@swc/core@1.9.2)(esbuild@0.24.0)):
dependencies:
icss-utils: 5.1.0(postcss@8.4.49)
postcss: 8.4.49
@@ -22738,7 +22732,7 @@ snapshots:
postcss-value-parser: 4.2.0
semver: 7.6.3
optionalDependencies:
- webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)
+ webpack: 5.96.1(@swc/core@1.9.2)(esbuild@0.24.0)
css-select@4.3.0:
dependencies:
@@ -23434,8 +23428,8 @@ snapshots:
'@typescript-eslint/parser': 7.14.1(eslint@8.57.0)(typescript@5.6.3)
eslint: 8.57.0
eslint-import-resolver-node: 0.3.9
- eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.0)
- eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0)
+ eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.6.3))(eslint@8.57.0))(eslint@8.57.0)
+ eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.6.3))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0)
eslint-plugin-jsx-a11y: 6.10.2(eslint@8.57.0)
eslint-plugin-react: 7.37.2(eslint@8.57.0)
eslint-plugin-react-hooks: 5.0.0(eslint@8.57.0)
@@ -23454,19 +23448,19 @@ snapshots:
transitivePeerDependencies:
- supports-color
- eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.0):
+ eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.6.3))(eslint@8.57.0))(eslint@8.57.0):
dependencies:
'@nolyfill/is-core-module': 1.0.39
debug: 4.3.7(supports-color@8.1.1)
enhanced-resolve: 5.17.1
eslint: 8.57.0
- eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(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.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.6.3))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0)
fast-glob: 3.3.2
get-tsconfig: 4.8.1
is-bun-module: 1.2.1
is-glob: 4.0.3
optionalDependencies:
- eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0)
+ eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.6.3))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0)
transitivePeerDependencies:
- '@typescript-eslint/parser'
- eslint-import-resolver-node
@@ -23494,18 +23488,18 @@ snapshots:
- bluebird
- supports-color
- eslint-module-utils@2.12.0(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(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.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.6.3))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0):
dependencies:
debug: 3.2.7
optionalDependencies:
'@typescript-eslint/parser': 7.14.1(eslint@8.57.0)(typescript@5.6.3)
eslint: 8.57.0
eslint-import-resolver-node: 0.3.9
- eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.0)
+ eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.6.3))(eslint@8.57.0))(eslint@8.57.0)
transitivePeerDependencies:
- supports-color
- eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0):
+ eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.6.3))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0):
dependencies:
'@rtsao/scc': 1.1.0
array-includes: 3.1.8
@@ -23516,7 +23510,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.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(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.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.6.3))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0)
hasown: 2.0.2
is-core-module: 2.15.1
is-glob: 4.0.3
@@ -23626,11 +23620,11 @@ snapshots:
eslint-plugin-svg-jsx@1.2.4: {}
- eslint-plugin-tailwindcss@3.17.5(tailwindcss@3.4.15(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/node@20.14.9)(typescript@5.6.3))):
+ eslint-plugin-tailwindcss@3.17.5(tailwindcss@3.4.15(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.6.3))):
dependencies:
fast-glob: 3.3.2
postcss: 8.4.49
- tailwindcss: 3.4.15(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/node@20.14.9)(typescript@5.6.3))
+ tailwindcss: 3.4.15(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.6.3))
eslint-scope@5.1.1:
dependencies:
@@ -24304,7 +24298,7 @@ snapshots:
cross-spawn: 7.0.5
signal-exit: 4.1.0
- fork-ts-checker-webpack-plugin@8.0.0(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)):
+ fork-ts-checker-webpack-plugin@8.0.0(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.9.2)(esbuild@0.24.0)):
dependencies:
'@babel/code-frame': 7.26.2
chalk: 4.1.2
@@ -24319,7 +24313,7 @@ snapshots:
semver: 7.6.3
tapable: 2.2.1
typescript: 5.6.3
- webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)
+ webpack: 5.96.1(@swc/core@1.9.2)(esbuild@0.24.0)
form-data-encoder@2.1.4: {}
@@ -24803,7 +24797,7 @@ snapshots:
html-void-elements@3.0.0: {}
- html-webpack-plugin@5.6.3(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)):
+ html-webpack-plugin@5.6.3(webpack@5.96.1(@swc/core@1.9.2)(esbuild@0.24.0)):
dependencies:
'@types/html-minifier-terser': 6.1.0
html-minifier-terser: 6.1.0
@@ -24811,7 +24805,7 @@ snapshots:
pretty-error: 4.0.0
tapable: 2.2.1
optionalDependencies:
- webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)
+ webpack: 5.96.1(@swc/core@1.9.2)(esbuild@0.24.0)
htmlparser2@3.10.1:
dependencies:
@@ -27365,7 +27359,7 @@ snapshots:
node-int64@0.4.0: {}
- node-polyfill-webpack-plugin@2.0.1(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)):
+ node-polyfill-webpack-plugin@2.0.1(webpack@5.96.1(@swc/core@1.9.2)(esbuild@0.24.0)):
dependencies:
assert: 2.1.0
browserify-zlib: 0.2.0
@@ -27392,7 +27386,7 @@ snapshots:
url: 0.11.4
util: 0.12.5
vm-browserify: 1.1.2
- webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)
+ webpack: 5.96.1(@swc/core@1.9.2)(esbuild@0.24.0)
node-releases@2.0.18: {}
@@ -28001,22 +27995,31 @@ snapshots:
camelcase-css: 2.0.1
postcss: 8.4.49
- postcss-load-config@4.0.2(postcss@8.4.49)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/node@20.14.9)(typescript@5.6.3)):
+ postcss-load-config@4.0.2(postcss@8.4.49)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.6.3)):
dependencies:
lilconfig: 3.1.2
yaml: 2.6.0
optionalDependencies:
postcss: 8.4.49
- ts-node: 10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/node@20.14.9)(typescript@5.6.3)
+ ts-node: 10.9.2(@swc/core@1.9.2)(@types/node@20.14.9)(typescript@5.6.3)
- postcss-loader@8.1.1(postcss@8.4.49)(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)):
+ postcss-load-config@6.0.1(jiti@2.4.0)(postcss@8.4.49)(tsx@4.19.2)(yaml@2.6.0):
+ dependencies:
+ lilconfig: 3.1.2
+ optionalDependencies:
+ jiti: 2.4.0
+ postcss: 8.4.49
+ tsx: 4.19.2
+ yaml: 2.6.0
+
+ postcss-loader@8.1.1(postcss@8.4.49)(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.9.2)(esbuild@0.24.0)):
dependencies:
cosmiconfig: 9.0.0(typescript@5.6.3)
jiti: 1.21.6
postcss: 8.4.49
semver: 7.6.3
optionalDependencies:
- webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)
+ webpack: 5.96.1(@swc/core@1.9.2)(esbuild@0.24.0)
transitivePeerDependencies:
- typescript
@@ -29187,10 +29190,10 @@ snapshots:
safer-buffer@2.1.2: {}
- sass-loader@13.3.3(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)):
+ sass-loader@13.3.3(webpack@5.96.1(@swc/core@1.9.2)(esbuild@0.24.0)):
dependencies:
neo-async: 2.6.2
- webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)
+ webpack: 5.96.1(@swc/core@1.9.2)(esbuild@0.24.0)
satori@0.10.9:
dependencies:
@@ -29718,9 +29721,9 @@ snapshots:
structured-headers@0.4.1: {}
- style-loader@3.3.4(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)):
+ style-loader@3.3.4(webpack@5.96.1(@swc/core@1.9.2)(esbuild@0.24.0)):
dependencies:
- webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)
+ webpack: 5.96.1(@swc/core@1.9.2)(esbuild@0.24.0)
style-to-object@0.4.4:
dependencies:
@@ -29863,11 +29866,11 @@ snapshots:
tailwind-merge@2.5.4: {}
- tailwindcss-animate@1.0.7(tailwindcss@3.4.15(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/node@20.14.9)(typescript@5.6.3))):
+ tailwindcss-animate@1.0.7(tailwindcss@3.4.15(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.6.3))):
dependencies:
- tailwindcss: 3.4.15(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/node@20.14.9)(typescript@5.6.3))
+ tailwindcss: 3.4.15(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.6.3))
- tailwindcss@3.4.15(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/node@20.14.9)(typescript@5.6.3)):
+ tailwindcss@3.4.15(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.6.3)):
dependencies:
'@alloc/quick-lru': 5.2.0
arg: 5.0.2
@@ -29886,7 +29889,7 @@ snapshots:
postcss: 8.4.49
postcss-import: 15.1.0(postcss@8.4.49)
postcss-js: 4.0.1(postcss@8.4.49)
- postcss-load-config: 4.0.2(postcss@8.4.49)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/node@20.14.9)(typescript@5.6.3))
+ postcss-load-config: 4.0.2(postcss@8.4.49)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.6.3))
postcss-nested: 6.2.0(postcss@8.4.49)
postcss-selector-parser: 6.1.2
resolve: 1.22.8
@@ -29965,29 +29968,18 @@ snapshots:
ansi-escapes: 4.3.2
supports-hyperlinks: 2.3.0
- terser-webpack-plugin@5.3.10(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)):
+ terser-webpack-plugin@5.3.10(@swc/core@1.9.2)(esbuild@0.24.0)(webpack@5.96.1(@swc/core@1.9.2)(esbuild@0.24.0)):
dependencies:
'@jridgewell/trace-mapping': 0.3.25
jest-worker: 27.5.1
schema-utils: 3.3.0
serialize-javascript: 6.0.2
terser: 5.36.0
- webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)
+ webpack: 5.96.1(@swc/core@1.9.2)(esbuild@0.24.0)
optionalDependencies:
- '@swc/core': 1.9.2(@swc/helpers@0.5.15)
+ '@swc/core': 1.9.2
esbuild: 0.24.0
- terser-webpack-plugin@5.3.10(@swc/core@1.9.2(@swc/helpers@0.5.15))(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))):
- dependencies:
- '@jridgewell/trace-mapping': 0.3.25
- jest-worker: 27.5.1
- schema-utils: 3.3.0
- serialize-javascript: 6.0.2
- terser: 5.36.0
- webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))
- optionalDependencies:
- '@swc/core': 1.9.2(@swc/helpers@0.5.15)
-
terser-webpack-plugin@5.3.10(webpack@5.96.1):
dependencies:
'@jridgewell/trace-mapping': 0.3.25
@@ -30127,7 +30119,7 @@ snapshots:
ts-mixer@6.0.4: {}
- ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/node@20.14.9)(typescript@5.6.3):
+ ts-node@10.9.2(@swc/core@1.9.2)(@types/node@20.14.9)(typescript@5.6.3):
dependencies:
'@cspotcode/source-map-support': 0.8.1
'@tsconfig/node10': 1.0.11
@@ -30145,7 +30137,7 @@ snapshots:
v8-compile-cache-lib: 3.0.1
yn: 3.1.1
optionalDependencies:
- '@swc/core': 1.9.2(@swc/helpers@0.5.15)
+ '@swc/core': 1.9.2
ts-pnp@1.2.0(typescript@5.6.3):
optionalDependencies:
@@ -30953,7 +30945,7 @@ snapshots:
- bufferutil
- utf-8-validate
- webpack-dev-middleware@6.1.3(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)):
+ webpack-dev-middleware@6.1.3(webpack@5.96.1(@swc/core@1.9.2)(esbuild@0.24.0)):
dependencies:
colorette: 2.0.20
memfs: 3.5.3
@@ -30961,7 +30953,7 @@ snapshots:
range-parser: 1.2.1
schema-utils: 4.2.0
optionalDependencies:
- webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)
+ webpack: 5.96.1(@swc/core@1.9.2)(esbuild@0.24.0)
webpack-hot-middleware@2.26.1:
dependencies:
@@ -31005,37 +30997,7 @@ snapshots:
- esbuild
- uglify-js
- webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15)):
- 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.2
- chrome-trace-event: 1.0.4
- enhanced-resolve: 5.17.1
- es-module-lexer: 1.5.4
- 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(@swc/core@1.9.2(@swc/helpers@0.5.15))(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15)))
- watchpack: 2.4.2
- webpack-sources: 3.2.3
- transitivePeerDependencies:
- - '@swc/core'
- - esbuild
- - uglify-js
-
- webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0):
+ webpack@5.96.1(@swc/core@1.9.2)(esbuild@0.24.0):
dependencies:
'@types/eslint-scope': 3.7.7
'@types/estree': 1.0.6
@@ -31057,7 +31019,7 @@ snapshots:
neo-async: 2.6.2
schema-utils: 3.3.0
tapable: 2.2.1
- terser-webpack-plugin: 5.3.10(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0))
+ terser-webpack-plugin: 5.3.10(@swc/core@1.9.2)(esbuild@0.24.0)(webpack@5.96.1(@swc/core@1.9.2)(esbuild@0.24.0))
watchpack: 2.4.2
webpack-sources: 3.2.3
transitivePeerDependencies: