diff --git a/apps/portal/.gitignore b/apps/portal/.gitignore index 182bbb9ac4e..67fe01f7026 100644 --- a/apps/portal/.gitignore +++ b/apps/portal/.gitignore @@ -39,6 +39,8 @@ next-env.d.ts # generated files searchIndex.json +public/llms.txt +public/llms-full.txt .env public/sitemap*.xml diff --git a/apps/portal/package.json b/apps/portal/package.json index 99e70586dfe..2dbd80ddc65 100644 --- a/apps/portal/package.json +++ b/apps/portal/package.json @@ -34,9 +34,11 @@ "date-fns": "4.1.0", "flexsearch": "^0.7.43", "github-slugger": "^2.0.0", + "he": "^1.2.0", "lucide-react": "0.476.0", "next": "15.2.0", "nextjs-toploader": "^1.6.12", + "node-html-markdown": "^1.3.0", "node-html-parser": "^6.1.13", "posthog-js": "1.67.1", "prettier": "3.3.3", @@ -55,6 +57,7 @@ "devDependencies": { "@next/eslint-plugin-next": "15.2.0", "@types/flexsearch": "^0.7.6", + "@types/he": "^1.2.3", "@types/mdx": "^2.0.13", "@types/node": "22.13.5", "@types/react": "19.0.10", diff --git a/apps/portal/scripts/extractSearchData.ts b/apps/portal/scripts/extractSearchData.ts index f629c57d270..802857428b8 100644 --- a/apps/portal/scripts/extractSearchData.ts +++ b/apps/portal/scripts/extractSearchData.ts @@ -1,10 +1,13 @@ import { writeFileSync } from "node:fs"; -import { extractSearchData } from "../src/app/api/search/extraction"; +import { extractContent } from "../src/app/api/search/extraction"; async function main() { const rootDir = process.cwd(); - const websiteData = await extractSearchData(rootDir); - writeFileSync("./searchIndex.json", JSON.stringify(websiteData, null, 2)); + const { searchData, llmContent, llmFullContent } = + await extractContent(rootDir); + writeFileSync("./searchIndex.json", JSON.stringify(searchData, null, 2)); + writeFileSync("./public/llms.txt", llmContent); + writeFileSync("./public/llms-full.txt", llmFullContent); } main(); diff --git a/apps/portal/src/app/account/layout.tsx b/apps/portal/src/app/account/layout.tsx index fd609da92ac..f376e279701 100644 --- a/apps/portal/src/app/account/layout.tsx +++ b/apps/portal/src/app/account/layout.tsx @@ -3,7 +3,7 @@ import { sidebar } from "./sidebar"; export default async function Layout(props: { children: React.ReactNode }) { return ( - + {props.children} ); diff --git a/apps/portal/src/app/api/search/extraction/index.ts b/apps/portal/src/app/api/search/extraction/index.ts index 3775bea3353..7cba2dc2414 100644 --- a/apps/portal/src/app/api/search/extraction/index.ts +++ b/apps/portal/src/app/api/search/extraction/index.ts @@ -1,4 +1,6 @@ import { readFile } from "node:fs/promises"; +import he from "he"; +import { NodeHtmlMarkdown } from "node-html-markdown"; import { CommentNode as X_CommentNode, HTMLElement as X_HTMLElement, @@ -11,11 +13,35 @@ import { getFilesRecursive } from "./getFilesRecursive"; import { ignoreHeadings } from "./settings"; import { trimExtraSpace } from "./trimExtraSpace"; -export async function extractSearchData(rootDir: string): Promise { +type ExtractedContent = { + searchData: PageData[]; + llmContent: string; + llmFullContent: string; +}; + +const llmsContentHeader = `\ +# thirdweb + +> Frontend, Backend, and Onchain tools to build complete web3 apps — on every EVM chain. + +## Docs +`; + +const llmsFullContentHeader = `\ +# thirdweb + +> Frontend, Backend, and Onchain tools to build complete web3 apps — on every EVM chain. +`; + +export async function extractContent( + rootDir: string, +): Promise { const nextOutputDir = `${rootDir}/.next/server/app`; const htmlFiles = getFilesRecursive(nextOutputDir, "html"); const pages: PageData[] = []; + let llmContent = ""; + let llmFullContent = ""; const noMainFound: string[] = []; const noH1Found: string[] = []; @@ -25,8 +51,9 @@ export async function extractSearchData(rootDir: string): Promise { const htmlContent = await readFile(filePath, "utf-8"); const mainEl = parse(htmlContent, { comment: false, + // fixNestedATags: true, blockTextElements: { - pre: false, // parse text inside
 elements instead of treating it as text
+          pre: true,
         },
       }).querySelector("main");
 
@@ -38,24 +65,38 @@ export async function extractSearchData(rootDir: string): Promise {
       }
 
       const noIndex = mainEl.getAttribute("data-noindex");
-
-      if (noIndex) {
+      if (noIndex === "true") {
         return;
       }
 
       const pageTitle = mainEl.querySelector("h1")?.text;
-
       if (!pageTitle) {
         noH1Found.push(
           filePath.split(".next/server/app")[1]?.replace(".html", "") || "",
         );
       }
 
-      pages.push({
-        href: filePath.replace(nextOutputDir, "").replace(".html", ""),
-        title: pageTitle ? trimExtraSpace(pageTitle) : "",
-        sections: getPageSections(mainEl),
-      });
+      // Important: do the search index collection first - we will modify the main element in the next step
+      // Extract search data
+      const pageData = extractPageSearchData(
+        mainEl,
+        filePath,
+        nextOutputDir,
+        pageTitle,
+      );
+      if (pageData) {
+        pages.push(pageData);
+      }
+
+      // Extract LLM content
+      const { links, full } = extractPageLLMContent(
+        mainEl,
+        pageTitle,
+        filePath,
+        nextOutputDir,
+      );
+      llmContent += links ? `${links}\n` : "";
+      llmFullContent += full ? `${full}\n` : "";
     }),
   );
 
@@ -77,13 +118,138 @@ export async function extractSearchData(rootDir: string): Promise {
     console.warn("\n");
   }
 
-  return pages;
+  return {
+    searchData: pages,
+    llmContent: `${llmsContentHeader}\n${llmContent}`,
+    llmFullContent: `${llmsFullContentHeader}\n${llmFullContent}`,
+  };
+}
+
+function extractPageSearchData(
+  main: X_HTMLElement,
+  filePath: string,
+  nextOutputDir: string,
+  pageTitle: string | undefined,
+): PageData | null {
+  if (main.getAttribute("data-noindex") === "true") {
+    return null;
+  }
+
+  return {
+    href: filePath.replace(nextOutputDir, "").replace(".html", ""),
+    title: pageTitle ? trimExtraSpace(pageTitle) : "",
+    sections: getPageSectionsForSearchIndex(main),
+  };
+}
+
+function extractPageLLMContent(
+  main: X_HTMLElement,
+  pageTitle: string | undefined,
+  filePath: string,
+  nextOutputDir: string,
+): { links: string; full: string } {
+  if (
+    main.getAttribute("data-noindex") === "true" ||
+    main.getAttribute("data-no-llm") === "true"
+  ) {
+    return { links: "", full: "" };
+  }
+
+  const htmlToMarkdown = new NodeHtmlMarkdown({
+    keepDataImages: false,
+  });
+
+  let linksContent = "";
+  let fullContent = "";
+
+  const pageUrl = filePath.replace(nextOutputDir, "").replace(".html", "");
+
+  // Get first non-empty paragraph for description
+  const paragraphs = main.querySelectorAll("p");
+  let description = "";
+  for (const p of paragraphs) {
+    if (p.getAttribute("data-noindex") !== "true") {
+      description = trimExtraSpace(htmlToMarkdown.translate(p.toString()));
+      if (description) break;
+    }
+  }
+
+  linksContent += `* [${pageTitle}](${pageUrl}): ${description}`;
+
+  // Convert main content to markdown, excluding noindex elements
+  const contentElements = main.querySelectorAll("*");
+  for (const element of contentElements) {
+    if (element.getAttribute("data-noindex") === "true") {
+      element.remove();
+    }
+  }
+
+  // Shift all heading elements to 1 step down (h1 > h2, h2 > h3, etc.)
+  const headings = main.querySelectorAll("h1, h2, h3, h4, h5, h6");
+  for (const heading of headings) {
+    const headingLevel = Number.parseInt(heading.tagName.replace("H", ""));
+    const newLevel = Math.min(headingLevel + 1, 6);
+    heading.tagName = `H${newLevel}`;
+  }
+
+  // prefix all the relative links with the `https://portal.thirdweb.com`
+  const links = main.querySelectorAll("a");
+  for (const link of links) {
+    const [path, hash] = link.getAttribute("href")?.split("#") || [];
+    if (path?.startsWith("/")) {
+      link.setAttribute(
+        "href",
+        `https://portal.thirdweb.com${path}${hash ? `#${hash}` : ""}`,
+      );
+    }
+  }
+
+  // for code blocks inside pre tags -> make them direct descendants of the pre tag
+  // so they are parsed as blocks by node-html-markdown + add language class
+  const preTags = main.querySelectorAll("pre");
+  for (const preTag of preTags) {
+    const codeBlock = parse(preTag.innerHTML.toString(), {
+      comment: false,
+      blockTextElements: {
+        pre: true,
+      },
+    }).querySelector("code");
+
+    if (codeBlock) {
+      const code = codeBlock
+        .querySelectorAll("div > div > div > div")
+        .map((x) => x.textContent)
+        .join("\n")
+        .trim();
+
+      const lang = codeBlock.getAttribute("lang");
+      codeBlock.textContent = code;
+
+      const newCodePreBlock = parse(
+        `
${he.encode(code)}
`, + ); + + preTag.replaceWith(newCodePreBlock); + } + } + + // console.log(main.toString()); + + // Convert the cleaned HTML to markdown + fullContent += `${htmlToMarkdown.translate(main.toString())}`; + + return { + links: linksContent, + full: fullContent, + }; } -function getPageSections(main: X_HTMLElement): PageSectionData[] { +function getPageSectionsForSearchIndex(main: X_HTMLElement): PageSectionData[] { const sectionData: PageSectionData[] = []; - const ignoreTags = new Set(["code", "nav"].map((t) => t.toUpperCase())); + const ignoreTags = new Set( + ["code", "nav", "pre"].map((t) => t.toUpperCase()), + ); function collector(node: X_Node) { if (node instanceof X_CommentNode) { @@ -94,9 +260,7 @@ function getPageSections(main: X_HTMLElement): PageSectionData[] { return; } - const noIndexAttribute = node.getAttribute("data-noindex"); - - if (noIndexAttribute === "true") { + if (node.getAttribute("data-noindex") === "true") { return; } diff --git a/apps/portal/src/app/cli/layout.tsx b/apps/portal/src/app/cli/layout.tsx index fd609da92ac..f376e279701 100644 --- a/apps/portal/src/app/cli/layout.tsx +++ b/apps/portal/src/app/cli/layout.tsx @@ -3,7 +3,7 @@ import { sidebar } from "./sidebar"; export default async function Layout(props: { children: React.ReactNode }) { return ( - + {props.children} ); diff --git a/apps/portal/src/app/page.tsx b/apps/portal/src/app/page.tsx index 2d0711dfef2..ff5a03594c7 100644 --- a/apps/portal/src/app/page.tsx +++ b/apps/portal/src/app/page.tsx @@ -6,7 +6,7 @@ import DocsHeroLight from "./_images/docs-hero-light.png"; export default function Page() { return ( -
+
diff --git a/apps/portal/src/app/react-native/v5/layout.tsx b/apps/portal/src/app/react-native/v5/layout.tsx index e26cc34e992..9c69f07fe3a 100644 --- a/apps/portal/src/app/react-native/v5/layout.tsx +++ b/apps/portal/src/app/react-native/v5/layout.tsx @@ -15,7 +15,7 @@ export default async function Layout(props: { children: React.ReactNode }) {
} > -
{props.children}
+
{props.children}
); } diff --git a/apps/portal/src/app/react/v5/layout.tsx b/apps/portal/src/app/react/v5/layout.tsx index fc2437e0e23..a4fba31dd03 100644 --- a/apps/portal/src/app/react/v5/layout.tsx +++ b/apps/portal/src/app/react/v5/layout.tsx @@ -15,7 +15,7 @@ export default async function Layout(props: { children: React.ReactNode }) { } > -
{props.children}
+
{props.children}
); } diff --git a/apps/portal/src/app/typescript/v5/layout.tsx b/apps/portal/src/app/typescript/v5/layout.tsx index 372c77d47f7..60bd2542f12 100644 --- a/apps/portal/src/app/typescript/v5/layout.tsx +++ b/apps/portal/src/app/typescript/v5/layout.tsx @@ -15,7 +15,7 @@ export default async function Layout(props: { children: React.ReactNode }) { } > -
{props.children}
+
{props.children}
); } diff --git a/apps/portal/src/components/Document/Cards/ArticleCard.tsx b/apps/portal/src/components/Document/Cards/ArticleCard.tsx index 5d9505a581e..d100599f5a8 100644 --- a/apps/portal/src/components/Document/Cards/ArticleCard.tsx +++ b/apps/portal/src/components/Document/Cards/ArticleCard.tsx @@ -11,6 +11,7 @@ export function ArticleCard(props: { const isExternal = props.href.startsWith("http"); return ( -
-        {tokens.map((line, i) => {
-          return (
-            // biome-ignore lint/suspicious/noArrayIndexKey: index is the identity here
-            
- {line.map((token, i) => { - const { lightColor, darkColor } = getThemeColors(token); - - const style = { - "--code-light-color": lightColor, - "--code-dark-color": darkColor, - } as React.CSSProperties; - - const href = props.tokenLinks?.has(token.content) - ? props.tokenLinks.get(token.content) - : undefined; - - if (href) { - return ( - - {/* Token */} - - {token.content} - - {/* Line */} - - - ); - } - + {tokens.map((line, i) => { + return ( + // biome-ignore lint/suspicious/noArrayIndexKey: index is the identity here +
+ {line.map((token, i) => { + const { lightColor, darkColor } = getThemeColors(token); + + const style = { + "--code-light-color": lightColor, + "--code-dark-color": darkColor, + } as React.CSSProperties; + + const href = props.tokenLinks?.has(token.content) + ? props.tokenLinks.get(token.content) + : undefined; + + if (href) { return ( - // biome-ignore lint/suspicious/noArrayIndexKey: index is the identity here - - {token.content} - + + {/* Token */} + + {token.content} + + {/* Line */} + + ); - })} - {line.length === 0 && i !== tokens.length - 1 && " "} -
- ); - })} -
+ } + + return ( + // biome-ignore lint/suspicious/noArrayIndexKey: index is the identity here + + {token.content} + + ); + })} + {line.length === 0 && i !== tokens.length - 1 && " "} + + ); + })} ); } diff --git a/apps/portal/src/components/Layouts/DocLayout.tsx b/apps/portal/src/components/Layouts/DocLayout.tsx index 926b3ec8ae3..c1eda77141a 100644 --- a/apps/portal/src/components/Layouts/DocLayout.tsx +++ b/apps/portal/src/components/Layouts/DocLayout.tsx @@ -19,6 +19,7 @@ type DocLayoutProps = { showTableOfContents?: boolean; sidebarHeader?: React.ReactNode; noIndex?: boolean; + noLLM?: boolean; }; export function DocLayout(props: DocLayoutProps) { @@ -43,6 +44,7 @@ export function DocLayout(props: DocLayoutProps) {
{props.children}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a4c5af18873..e28bfba0f08 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -132,7 +132,7 @@ importers: version: 1.1.8(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@sentry/nextjs': specifier: 9.2.0 - version: 9.2.0(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@15.2.0(@babel/core@7.26.9)(@opentelemetry/api@1.9.0)(@playwright/test@1.50.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)(webpack@5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0)) + version: 9.2.0(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@15.2.0(@babel/core@7.26.9)(@opentelemetry/api@1.9.0)(@playwright/test@1.50.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)(webpack@5.98.0(@swc/core@1.11.1)(esbuild@0.25.0)) '@shazow/whatsabi': specifier: ^0.19.0 version: 0.19.0(@noble/hashes@1.7.1)(typescript@5.7.3)(zod@3.24.2) @@ -285,7 +285,7 @@ importers: version: 2.6.0 tailwindcss-animate: specifier: ^1.0.7 - version: 1.0.7(tailwindcss@3.4.17(ts-node@10.9.2(@swc/core@1.11.1(@swc/helpers@0.5.15))(@types/node@22.13.5)(typescript@5.7.3))) + version: 1.0.7(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.13.5)(typescript@5.7.3))) thirdweb: specifier: workspace:* version: link:../../packages/thirdweb @@ -334,7 +334,7 @@ importers: version: 8.6.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.6.0(bufferutil@4.0.9)(prettier@3.5.2)(utf-8-validate@5.0.10)) '@storybook/nextjs': specifier: 8.6.0 - version: 8.6.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0)(next@15.2.0(@babel/core@7.26.9)(@opentelemetry/api@1.9.0)(@playwright/test@1.50.1)(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.6.0(bufferutil@4.0.9)(prettier@3.5.2)(utf-8-validate@5.0.10))(type-fest@4.35.0)(typescript@5.7.3)(webpack-hot-middleware@2.26.1)(webpack@5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0)) + version: 8.6.0(@swc/core@1.11.1)(esbuild@0.25.0)(next@15.2.0(@babel/core@7.26.9)(@opentelemetry/api@1.9.0)(@playwright/test@1.50.1)(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.6.0(bufferutil@4.0.9)(prettier@3.5.2)(utf-8-validate@5.0.10))(type-fest@4.35.0)(typescript@5.7.3)(webpack-hot-middleware@2.26.1)(webpack@5.98.0(@swc/core@1.11.1)(esbuild@0.25.0)) '@storybook/react': specifier: 8.6.0 version: 8.6.0(@storybook/test@8.6.0(storybook@8.6.0(bufferutil@4.0.9)(prettier@3.5.2)(utf-8-validate@5.0.10)))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.6.0(bufferutil@4.0.9)(prettier@3.5.2)(utf-8-validate@5.0.10))(typescript@5.7.3) @@ -382,7 +382,7 @@ importers: version: 10.4.20(postcss@8.5.3) checkly: specifier: ^4.19.1 - version: 4.19.1(@swc/core@1.11.1(@swc/helpers@0.5.15))(@types/node@22.13.5)(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10) + version: 4.19.1(@swc/core@1.11.1)(@types/node@22.13.5)(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10) eslint: specifier: 8.57.0 version: 8.57.0 @@ -409,7 +409,7 @@ importers: version: 8.6.0(bufferutil@4.0.9)(prettier@3.5.2)(utf-8-validate@5.0.10) tailwindcss: specifier: 3.4.17 - version: 3.4.17(ts-node@10.9.2(@swc/core@1.11.1(@swc/helpers@0.5.15))(@types/node@22.13.5)(typescript@5.7.3)) + version: 3.4.17(ts-node@10.9.2(@types/node@22.13.5)(typescript@5.7.3)) typescript: specifier: 5.7.3 version: 5.7.3 @@ -472,7 +472,7 @@ importers: version: 2.6.0 tailwindcss-animate: specifier: ^1.0.7 - version: 1.0.7(tailwindcss@3.4.17(ts-node@10.9.2(@swc/core@1.11.1(@swc/helpers@0.5.15))(@types/node@22.13.5)(typescript@5.7.3))) + version: 1.0.7(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.13.5)(typescript@5.7.3))) thirdweb: specifier: workspace:* version: link:../../packages/thirdweb @@ -500,7 +500,7 @@ importers: version: 8.5.3 tailwindcss: specifier: 3.4.17 - version: 3.4.17(ts-node@10.9.2(@swc/core@1.11.1(@swc/helpers@0.5.15))(@types/node@22.13.5)(typescript@5.7.3)) + version: 3.4.17(ts-node@10.9.2(@types/node@22.13.5)(typescript@5.7.3)) typescript: specifier: 5.7.3 version: 5.7.3 @@ -648,10 +648,10 @@ importers: version: 8.5.3 tailwindcss: specifier: 3.4.17 - version: 3.4.17(ts-node@10.9.2(@swc/core@1.11.1(@swc/helpers@0.5.15))(@types/node@22.13.5)(typescript@5.7.3)) + version: 3.4.17(ts-node@10.9.2(@types/node@22.13.5)(typescript@5.7.3)) tailwindcss-animate: specifier: ^1.0.7 - version: 1.0.7(tailwindcss@3.4.17(ts-node@10.9.2(@swc/core@1.11.1(@swc/helpers@0.5.15))(@types/node@22.13.5)(typescript@5.7.3))) + version: 1.0.7(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.13.5)(typescript@5.7.3))) typescript: specifier: 5.7.3 version: 5.7.3 @@ -663,13 +663,13 @@ importers: version: 1.0.6(react@19.0.0) '@mdx-js/loader': specifier: ^2.3.0 - version: 2.3.0(webpack@5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))) + version: 2.3.0(webpack@5.98.0) '@mdx-js/react': specifier: ^2.3.0 version: 2.3.0(react@19.0.0) '@next/mdx': specifier: 15.2.0 - version: 15.2.0(@mdx-js/loader@2.3.0(webpack@5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))))(@mdx-js/react@2.3.0(react@19.0.0)) + version: 15.2.0(@mdx-js/loader@2.3.0(webpack@5.98.0))(@mdx-js/react@2.3.0(react@19.0.0)) '@radix-ui/react-dialog': specifier: 1.1.6 version: 1.1.6(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -706,6 +706,9 @@ importers: github-slugger: specifier: ^2.0.0 version: 2.0.0 + he: + specifier: ^1.2.0 + version: 1.2.0 lucide-react: specifier: 0.476.0 version: 0.476.0(react@19.0.0) @@ -715,6 +718,9 @@ importers: nextjs-toploader: specifier: ^1.6.12 version: 1.6.12(next@15.2.0(@opentelemetry/api@1.9.0)(@playwright/test@1.50.1)(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) + node-html-markdown: + specifier: ^1.3.0 + version: 1.3.0 node-html-parser: specifier: ^6.1.13 version: 6.1.13 @@ -747,7 +753,7 @@ importers: version: 2.6.0 tailwindcss-animate: specifier: ^1.0.7 - version: 1.0.7(tailwindcss@3.4.17(ts-node@10.9.2(@swc/core@1.11.1(@swc/helpers@0.5.15))(@types/node@22.13.5)(typescript@5.7.3))) + version: 1.0.7(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.13.5)(typescript@5.7.3))) thirdweb: specifier: workspace:* version: link:../../packages/thirdweb @@ -764,6 +770,9 @@ importers: '@types/flexsearch': specifier: ^0.7.6 version: 0.7.6 + '@types/he': + specifier: ^1.2.3 + version: 1.2.3 '@types/mdx': specifier: ^2.0.13 version: 2.0.13 @@ -805,7 +814,7 @@ importers: version: 1.2.4 eslint-plugin-tailwindcss: specifier: ^3.18.0 - version: 3.18.0(tailwindcss@3.4.17(ts-node@10.9.2(@swc/core@1.11.1(@swc/helpers@0.5.15))(@types/node@22.13.5)(typescript@5.7.3))) + version: 3.18.0(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.13.5)(typescript@5.7.3))) knip: specifier: 5.45.0 version: 5.45.0(@types/node@22.13.5)(typescript@5.7.3) @@ -817,7 +826,7 @@ importers: version: 8.5.3 tailwindcss: specifier: 3.4.17 - version: 3.4.17(ts-node@10.9.2(@swc/core@1.11.1(@swc/helpers@0.5.15))(@types/node@22.13.5)(typescript@5.7.3)) + version: 3.4.17(ts-node@10.9.2(@types/node@22.13.5)(typescript@5.7.3)) tsx: specifier: 4.19.3 version: 4.19.3 @@ -883,7 +892,7 @@ importers: version: 2.6.0 tailwindcss-animate: specifier: ^1.0.7 - version: 1.0.7(tailwindcss@3.4.17(ts-node@10.9.2(@swc/core@1.11.1(@swc/helpers@0.5.15))(@types/node@22.13.5)(typescript@5.7.3))) + version: 1.0.7(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.13.5)(typescript@5.7.3))) thirdweb: specifier: workspace:* version: link:../../packages/thirdweb @@ -932,7 +941,7 @@ importers: version: 6.0.1(jiti@2.4.2)(postcss@8.5.3)(tsx@4.19.3)(yaml@2.7.0) tailwindcss: specifier: 3.4.17 - version: 3.4.17(ts-node@10.9.2(@swc/core@1.11.1(@swc/helpers@0.5.15))(@types/node@22.13.5)(typescript@5.7.3)) + version: 3.4.17(ts-node@10.9.2(@types/node@22.13.5)(typescript@5.7.3)) typescript: specifier: 5.7.3 version: 5.7.3 @@ -6190,6 +6199,9 @@ packages: '@types/hast@3.0.4': resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + '@types/he@1.2.3': + resolution: {integrity: sha512-q67/qwlxblDzEDvzHhVkwc1gzVWxaNxeyHUBF4xElrvjL11O+Ytze+1fGpBHlr/H9myiBUaUXNnNPmBHxxfAcA==} + '@types/html-minifier-terser@6.1.0': resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} @@ -11571,6 +11583,10 @@ packages: resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} hasBin: true + node-html-markdown@1.3.0: + resolution: {integrity: sha512-OeFi3QwC/cPjvVKZ114tzzu+YoR+v9UXW5RwSXGUqGb0qCl0DvP406tzdL7SFn8pZrMyzXoisfG2zcuF9+zw4g==} + engines: {node: '>=10.0.0'} + node-html-parser@6.1.13: resolution: {integrity: sha512-qIsTMOY4C/dAa5Q5vsobRpOOvPfC4pB61UVW2uSwZNUp0QU/jCekTal1vMmbO0DgdHeLUJpv/ARmDqErVxA3Sg==} @@ -15225,10 +15241,10 @@ snapshots: dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sso-oidc': 3.592.0(@aws-sdk/client-sts@3.592.0) + '@aws-sdk/client-sso-oidc': 3.592.0 '@aws-sdk/client-sts': 3.592.0 '@aws-sdk/core': 3.592.0 - '@aws-sdk/credential-provider-node': 3.592.0(@aws-sdk/client-sso-oidc@3.592.0(@aws-sdk/client-sts@3.592.0))(@aws-sdk/client-sts@3.592.0) + '@aws-sdk/credential-provider-node': 3.592.0(@aws-sdk/client-sso-oidc@3.592.0)(@aws-sdk/client-sts@3.592.0) '@aws-sdk/middleware-host-header': 3.577.0 '@aws-sdk/middleware-logger': 3.577.0 '@aws-sdk/middleware-recursion-detection': 3.577.0 @@ -15271,10 +15287,10 @@ snapshots: dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sso-oidc': 3.592.0(@aws-sdk/client-sts@3.592.0) + '@aws-sdk/client-sso-oidc': 3.592.0 '@aws-sdk/client-sts': 3.592.0 '@aws-sdk/core': 3.592.0 - '@aws-sdk/credential-provider-node': 3.592.0(@aws-sdk/client-sso-oidc@3.592.0(@aws-sdk/client-sts@3.592.0))(@aws-sdk/client-sts@3.592.0) + '@aws-sdk/credential-provider-node': 3.592.0(@aws-sdk/client-sso-oidc@3.592.0)(@aws-sdk/client-sts@3.592.0) '@aws-sdk/middleware-host-header': 3.577.0 '@aws-sdk/middleware-logger': 3.577.0 '@aws-sdk/middleware-recursion-detection': 3.577.0 @@ -15317,10 +15333,10 @@ snapshots: dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sso-oidc': 3.592.0(@aws-sdk/client-sts@3.592.0) + '@aws-sdk/client-sso-oidc': 3.592.0 '@aws-sdk/client-sts': 3.592.0 '@aws-sdk/core': 3.592.0 - '@aws-sdk/credential-provider-node': 3.592.0(@aws-sdk/client-sso-oidc@3.592.0(@aws-sdk/client-sts@3.592.0))(@aws-sdk/client-sts@3.592.0) + '@aws-sdk/credential-provider-node': 3.592.0(@aws-sdk/client-sso-oidc@3.592.0)(@aws-sdk/client-sts@3.592.0) '@aws-sdk/middleware-host-header': 3.577.0 '@aws-sdk/middleware-logger': 3.577.0 '@aws-sdk/middleware-recursion-detection': 3.577.0 @@ -15364,7 +15380,7 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/client-sso-oidc@3.592.0(@aws-sdk/client-sts@3.592.0)': + '@aws-sdk/client-sso-oidc@3.592.0': dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -15407,7 +15423,6 @@ snapshots: '@smithy/util-utf8': 3.0.0 tslib: 2.8.1 transitivePeerDependencies: - - '@aws-sdk/client-sts' - aws-crt '@aws-sdk/client-sso-oidc@3.750.0': @@ -15544,7 +15559,7 @@ snapshots: dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sso-oidc': 3.592.0(@aws-sdk/client-sts@3.592.0) + '@aws-sdk/client-sso-oidc': 3.592.0 '@aws-sdk/core': 3.592.0 '@aws-sdk/credential-provider-node': 3.592.0(@aws-sdk/client-sso-oidc@3.592.0)(@aws-sdk/client-sts@3.592.0) '@aws-sdk/middleware-host-header': 3.577.0 @@ -15659,24 +15674,6 @@ snapshots: '@smithy/util-stream': 4.1.2 tslib: 2.8.1 - '@aws-sdk/credential-provider-ini@3.592.0(@aws-sdk/client-sso-oidc@3.592.0(@aws-sdk/client-sts@3.592.0))(@aws-sdk/client-sts@3.592.0)': - dependencies: - '@aws-sdk/client-sts': 3.592.0 - '@aws-sdk/credential-provider-env': 3.587.0 - '@aws-sdk/credential-provider-http': 3.587.0 - '@aws-sdk/credential-provider-process': 3.587.0 - '@aws-sdk/credential-provider-sso': 3.592.0(@aws-sdk/client-sso-oidc@3.592.0) - '@aws-sdk/credential-provider-web-identity': 3.587.0(@aws-sdk/client-sts@3.592.0) - '@aws-sdk/types': 3.577.0 - '@smithy/credential-provider-imds': 3.2.8 - '@smithy/property-provider': 3.1.11 - '@smithy/shared-ini-file-loader': 3.1.12 - '@smithy/types': 3.7.2 - tslib: 2.8.1 - transitivePeerDependencies: - - '@aws-sdk/client-sso-oidc' - - aws-crt - '@aws-sdk/credential-provider-ini@3.592.0(@aws-sdk/client-sso-oidc@3.592.0)(@aws-sdk/client-sts@3.592.0)': dependencies: '@aws-sdk/client-sts': 3.592.0 @@ -15731,25 +15728,6 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-node@3.592.0(@aws-sdk/client-sso-oidc@3.592.0(@aws-sdk/client-sts@3.592.0))(@aws-sdk/client-sts@3.592.0)': - dependencies: - '@aws-sdk/credential-provider-env': 3.587.0 - '@aws-sdk/credential-provider-http': 3.587.0 - '@aws-sdk/credential-provider-ini': 3.592.0(@aws-sdk/client-sso-oidc@3.592.0(@aws-sdk/client-sts@3.592.0))(@aws-sdk/client-sts@3.592.0) - '@aws-sdk/credential-provider-process': 3.587.0 - '@aws-sdk/credential-provider-sso': 3.592.0(@aws-sdk/client-sso-oidc@3.592.0) - '@aws-sdk/credential-provider-web-identity': 3.587.0(@aws-sdk/client-sts@3.592.0) - '@aws-sdk/types': 3.577.0 - '@smithy/credential-provider-imds': 3.2.8 - '@smithy/property-provider': 3.1.11 - '@smithy/shared-ini-file-loader': 3.1.12 - '@smithy/types': 3.7.2 - tslib: 2.8.1 - transitivePeerDependencies: - - '@aws-sdk/client-sso-oidc' - - '@aws-sdk/client-sts' - - aws-crt - '@aws-sdk/credential-provider-node@3.592.0(@aws-sdk/client-sso-oidc@3.592.0)(@aws-sdk/client-sts@3.592.0)': dependencies: '@aws-sdk/credential-provider-env': 3.587.0 @@ -16023,7 +16001,7 @@ snapshots: '@aws-sdk/token-providers@3.587.0(@aws-sdk/client-sso-oidc@3.592.0)': dependencies: - '@aws-sdk/client-sso-oidc': 3.592.0(@aws-sdk/client-sts@3.592.0) + '@aws-sdk/client-sso-oidc': 3.592.0 '@aws-sdk/types': 3.577.0 '@smithy/property-provider': 3.1.11 '@smithy/shared-ini-file-loader': 3.1.12 @@ -18729,11 +18707,11 @@ snapshots: react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - '@mdx-js/loader@2.3.0(webpack@5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15)))': + '@mdx-js/loader@2.3.0(webpack@5.98.0)': dependencies: '@mdx-js/mdx': 2.3.0 source-map: 0.7.4 - webpack: 5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15)) + webpack: 5.98.0 transitivePeerDependencies: - supports-color @@ -19050,11 +19028,11 @@ snapshots: dependencies: fast-glob: 3.3.1 - '@next/mdx@15.2.0(@mdx-js/loader@2.3.0(webpack@5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))))(@mdx-js/react@2.3.0(react@19.0.0))': + '@next/mdx@15.2.0(@mdx-js/loader@2.3.0(webpack@5.98.0))(@mdx-js/react@2.3.0(react@19.0.0))': dependencies: source-map: 0.7.4 optionalDependencies: - '@mdx-js/loader': 2.3.0(webpack@5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))) + '@mdx-js/loader': 2.3.0(webpack@5.98.0) '@mdx-js/react': 2.3.0(react@19.0.0) '@next/swc-darwin-arm64@15.2.0': @@ -19230,7 +19208,7 @@ snapshots: widest-line: 3.1.0 wrap-ansi: 7.0.0 - '@oclif/core@2.8.11(@swc/core@1.11.1(@swc/helpers@0.5.15))(@types/node@22.13.5)(typescript@5.7.3)': + '@oclif/core@2.8.11(@swc/core@1.11.1)(@types/node@22.13.5)(typescript@5.7.3)': dependencies: '@types/cli-progress': 3.11.6 ansi-escapes: 4.3.2 @@ -19256,7 +19234,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.11.1(@swc/helpers@0.5.15))(@types/node@22.13.5)(typescript@5.7.3) + ts-node: 10.9.2(@swc/core@1.11.1)(@types/node@22.13.5)(typescript@5.7.3) tslib: 2.8.1 widest-line: 3.1.0 wordwrap: 1.0.0 @@ -19294,10 +19272,10 @@ snapshots: dependencies: '@oclif/core': 1.26.2 - '@oclif/plugin-not-found@2.3.23(@swc/core@1.11.1(@swc/helpers@0.5.15))(@types/node@22.13.5)(typescript@5.7.3)': + '@oclif/plugin-not-found@2.3.23(@swc/core@1.11.1)(@types/node@22.13.5)(typescript@5.7.3)': dependencies: '@oclif/color': 1.0.13 - '@oclif/core': 2.8.11(@swc/core@1.11.1(@swc/helpers@0.5.15))(@types/node@22.13.5)(typescript@5.7.3) + '@oclif/core': 2.8.11(@swc/core@1.11.1)(@types/node@22.13.5)(typescript@5.7.3) fast-levenshtein: 3.0.0 lodash: 4.17.21 transitivePeerDependencies: @@ -19322,9 +19300,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@oclif/plugin-warn-if-update-available@2.0.24(@swc/core@1.11.1(@swc/helpers@0.5.15))(@types/node@22.13.5)(typescript@5.7.3)': + '@oclif/plugin-warn-if-update-available@2.0.24(@swc/core@1.11.1)(@types/node@22.13.5)(typescript@5.7.3)': dependencies: - '@oclif/core': 2.8.11(@swc/core@1.11.1(@swc/helpers@0.5.15))(@types/node@22.13.5)(typescript@5.7.3) + '@oclif/core': 2.8.11(@swc/core@1.11.1)(@types/node@22.13.5)(typescript@5.7.3) chalk: 4.1.2 debug: 4.4.0(supports-color@8.1.1) fs-extra: 9.1.0 @@ -19643,7 +19621,7 @@ snapshots: dependencies: playwright: 1.50.1 - '@pmmmwh/react-refresh-webpack-plugin@0.5.15(react-refresh@0.14.2)(type-fest@4.35.0)(webpack-hot-middleware@2.26.1)(webpack@5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0))': + '@pmmmwh/react-refresh-webpack-plugin@0.5.15(react-refresh@0.14.2)(type-fest@4.35.0)(webpack-hot-middleware@2.26.1)(webpack@5.98.0(@swc/core@1.11.1)(esbuild@0.25.0))': dependencies: ansi-html: 0.0.9 core-js-pure: 3.40.0 @@ -19653,7 +19631,7 @@ snapshots: react-refresh: 0.14.2 schema-utils: 4.3.0 source-map: 0.7.4 - webpack: 5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0) + webpack: 5.98.0(@swc/core@1.11.1)(esbuild@0.25.0) optionalDependencies: type-fest: 4.35.0 webpack-hot-middleware: 2.26.1 @@ -20890,7 +20868,7 @@ snapshots: '@sentry/core@9.2.0': {} - '@sentry/nextjs@9.2.0(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@15.2.0(@babel/core@7.26.9)(@opentelemetry/api@1.9.0)(@playwright/test@1.50.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)(webpack@5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0))': + '@sentry/nextjs@9.2.0(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@15.2.0(@babel/core@7.26.9)(@opentelemetry/api@1.9.0)(@playwright/test@1.50.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)(webpack@5.98.0(@swc/core@1.11.1)(esbuild@0.25.0))': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/semantic-conventions': 1.28.0 @@ -20901,7 +20879,7 @@ snapshots: '@sentry/opentelemetry': 9.2.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@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': 9.2.0(react@19.0.0) '@sentry/vercel-edge': 9.2.0 - '@sentry/webpack-plugin': 3.1.2(encoding@0.1.13)(webpack@5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0)) + '@sentry/webpack-plugin': 3.1.2(encoding@0.1.13)(webpack@5.98.0(@swc/core@1.11.1)(esbuild@0.25.0)) chalk: 3.0.0 next: 15.2.0(@babel/core@7.26.9)(@opentelemetry/api@1.9.0)(@playwright/test@1.50.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) resolve: 1.22.8 @@ -20978,12 +20956,12 @@ snapshots: '@opentelemetry/api': 1.9.0 '@sentry/core': 9.2.0 - '@sentry/webpack-plugin@3.1.2(encoding@0.1.13)(webpack@5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0))': + '@sentry/webpack-plugin@3.1.2(encoding@0.1.13)(webpack@5.98.0(@swc/core@1.11.1)(esbuild@0.25.0))': dependencies: '@sentry/bundler-plugin-core': 3.1.2(encoding@0.1.13) unplugin: 1.0.1 uuid: 9.0.1 - webpack: 5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0) + webpack: 5.98.0(@swc/core@1.11.1)(esbuild@0.25.0) transitivePeerDependencies: - encoding - supports-color @@ -22059,7 +22037,7 @@ snapshots: ts-dedent: 2.2.0 vite: 6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.7.0) - '@storybook/builder-webpack5@8.6.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0)(storybook@8.6.0(bufferutil@4.0.9)(prettier@3.5.2)(utf-8-validate@5.0.10))(typescript@5.7.3)': + '@storybook/builder-webpack5@8.6.0(@swc/core@1.11.1)(esbuild@0.25.0)(storybook@8.6.0(bufferutil@4.0.9)(prettier@3.5.2)(utf-8-validate@5.0.10))(typescript@5.7.3)': dependencies: '@storybook/core-webpack': 8.6.0(storybook@8.6.0(bufferutil@4.0.9)(prettier@3.5.2)(utf-8-validate@5.0.10)) '@types/semver': 7.5.8 @@ -22067,23 +22045,23 @@ snapshots: case-sensitive-paths-webpack-plugin: 2.4.0 cjs-module-lexer: 1.4.3 constants-browserify: 1.0.0 - css-loader: 6.11.0(webpack@5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0)) + css-loader: 6.11.0(webpack@5.98.0(@swc/core@1.11.1)(esbuild@0.25.0)) es-module-lexer: 1.6.0 - fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.7.3)(webpack@5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0)) - html-webpack-plugin: 5.6.3(webpack@5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0)) + fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.7.3)(webpack@5.98.0(@swc/core@1.11.1)(esbuild@0.25.0)) + html-webpack-plugin: 5.6.3(webpack@5.98.0(@swc/core@1.11.1)(esbuild@0.25.0)) magic-string: 0.30.17 path-browserify: 1.0.1 process: 0.11.10 semver: 7.7.1 storybook: 8.6.0(bufferutil@4.0.9)(prettier@3.5.2)(utf-8-validate@5.0.10) - style-loader: 3.3.4(webpack@5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0)) - terser-webpack-plugin: 5.3.11(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0)(webpack@5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0)) + style-loader: 3.3.4(webpack@5.98.0(@swc/core@1.11.1)(esbuild@0.25.0)) + terser-webpack-plugin: 5.3.11(@swc/core@1.11.1)(esbuild@0.25.0)(webpack@5.98.0(@swc/core@1.11.1)(esbuild@0.25.0)) ts-dedent: 2.2.0 url: 0.11.4 util: 0.12.5 util-deprecate: 1.0.2 - webpack: 5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0) - webpack-dev-middleware: 6.1.3(webpack@5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0)) + webpack: 5.98.0(@swc/core@1.11.1)(esbuild@0.25.0) + webpack-dev-middleware: 6.1.3(webpack@5.98.0(@swc/core@1.11.1)(esbuild@0.25.0)) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.6.2 optionalDependencies: @@ -22191,7 +22169,7 @@ snapshots: dependencies: storybook: 8.6.0(bufferutil@4.0.9)(prettier@3.5.2)(utf-8-validate@5.0.10) - '@storybook/nextjs@8.6.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0)(next@15.2.0(@babel/core@7.26.9)(@opentelemetry/api@1.9.0)(@playwright/test@1.50.1)(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.6.0(bufferutil@4.0.9)(prettier@3.5.2)(utf-8-validate@5.0.10))(type-fest@4.35.0)(typescript@5.7.3)(webpack-hot-middleware@2.26.1)(webpack@5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0))': + '@storybook/nextjs@8.6.0(@swc/core@1.11.1)(esbuild@0.25.0)(next@15.2.0(@babel/core@7.26.9)(@opentelemetry/api@1.9.0)(@playwright/test@1.50.1)(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.6.0(bufferutil@4.0.9)(prettier@3.5.2)(utf-8-validate@5.0.10))(type-fest@4.35.0)(typescript@5.7.3)(webpack-hot-middleware@2.26.1)(webpack@5.98.0(@swc/core@1.11.1)(esbuild@0.25.0))': dependencies: '@babel/core': 7.26.9 '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.26.9) @@ -22206,30 +22184,30 @@ snapshots: '@babel/preset-react': 7.26.3(@babel/core@7.26.9) '@babel/preset-typescript': 7.26.0(@babel/core@7.26.9) '@babel/runtime': 7.26.9 - '@pmmmwh/react-refresh-webpack-plugin': 0.5.15(react-refresh@0.14.2)(type-fest@4.35.0)(webpack-hot-middleware@2.26.1)(webpack@5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0)) - '@storybook/builder-webpack5': 8.6.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0)(storybook@8.6.0(bufferutil@4.0.9)(prettier@3.5.2)(utf-8-validate@5.0.10))(typescript@5.7.3) - '@storybook/preset-react-webpack': 8.6.0(@storybook/test@8.6.0(storybook@8.6.0(bufferutil@4.0.9)(prettier@3.5.2)(utf-8-validate@5.0.10)))(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.6.0(bufferutil@4.0.9)(prettier@3.5.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.35.0)(webpack-hot-middleware@2.26.1)(webpack@5.98.0(@swc/core@1.11.1)(esbuild@0.25.0)) + '@storybook/builder-webpack5': 8.6.0(@swc/core@1.11.1)(esbuild@0.25.0)(storybook@8.6.0(bufferutil@4.0.9)(prettier@3.5.2)(utf-8-validate@5.0.10))(typescript@5.7.3) + '@storybook/preset-react-webpack': 8.6.0(@storybook/test@8.6.0(storybook@8.6.0(bufferutil@4.0.9)(prettier@3.5.2)(utf-8-validate@5.0.10)))(@swc/core@1.11.1)(esbuild@0.25.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.6.0(bufferutil@4.0.9)(prettier@3.5.2)(utf-8-validate@5.0.10))(typescript@5.7.3) '@storybook/react': 8.6.0(@storybook/test@8.6.0(storybook@8.6.0(bufferutil@4.0.9)(prettier@3.5.2)(utf-8-validate@5.0.10)))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.6.0(bufferutil@4.0.9)(prettier@3.5.2)(utf-8-validate@5.0.10))(typescript@5.7.3) '@storybook/test': 8.6.0(storybook@8.6.0(bufferutil@4.0.9)(prettier@3.5.2)(utf-8-validate@5.0.10)) '@types/semver': 7.5.8 - babel-loader: 9.2.1(@babel/core@7.26.9)(webpack@5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0)) - css-loader: 6.11.0(webpack@5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0)) + babel-loader: 9.2.1(@babel/core@7.26.9)(webpack@5.98.0(@swc/core@1.11.1)(esbuild@0.25.0)) + css-loader: 6.11.0(webpack@5.98.0(@swc/core@1.11.1)(esbuild@0.25.0)) find-up: 5.0.0 image-size: 1.2.0 loader-utils: 3.3.1 next: 15.2.0(@babel/core@7.26.9)(@opentelemetry/api@1.9.0)(@playwright/test@1.50.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - node-polyfill-webpack-plugin: 2.0.1(webpack@5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0)) + node-polyfill-webpack-plugin: 2.0.1(webpack@5.98.0(@swc/core@1.11.1)(esbuild@0.25.0)) pnp-webpack-plugin: 1.7.0(typescript@5.7.3) postcss: 8.5.3 - postcss-loader: 8.1.1(postcss@8.5.3)(typescript@5.7.3)(webpack@5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0)) + postcss-loader: 8.1.1(postcss@8.5.3)(typescript@5.7.3)(webpack@5.98.0(@swc/core@1.11.1)(esbuild@0.25.0)) 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.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0)) + sass-loader: 14.2.1(webpack@5.98.0(@swc/core@1.11.1)(esbuild@0.25.0)) semver: 7.7.1 storybook: 8.6.0(bufferutil@4.0.9)(prettier@3.5.2)(utf-8-validate@5.0.10) - style-loader: 3.3.4(webpack@5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0)) + style-loader: 3.3.4(webpack@5.98.0(@swc/core@1.11.1)(esbuild@0.25.0)) styled-jsx: 5.1.6(@babel/core@7.26.9)(react@19.0.0) ts-dedent: 2.2.0 tsconfig-paths: 4.2.0 @@ -22237,7 +22215,7 @@ snapshots: optionalDependencies: sharp: 0.33.5 typescript: 5.7.3 - webpack: 5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0) + webpack: 5.98.0(@swc/core@1.11.1)(esbuild@0.25.0) transitivePeerDependencies: - '@rspack/core' - '@swc/core' @@ -22256,11 +22234,11 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - '@storybook/preset-react-webpack@8.6.0(@storybook/test@8.6.0(storybook@8.6.0(bufferutil@4.0.9)(prettier@3.5.2)(utf-8-validate@5.0.10)))(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.6.0(bufferutil@4.0.9)(prettier@3.5.2)(utf-8-validate@5.0.10))(typescript@5.7.3)': + '@storybook/preset-react-webpack@8.6.0(@storybook/test@8.6.0(storybook@8.6.0(bufferutil@4.0.9)(prettier@3.5.2)(utf-8-validate@5.0.10)))(@swc/core@1.11.1)(esbuild@0.25.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.6.0(bufferutil@4.0.9)(prettier@3.5.2)(utf-8-validate@5.0.10))(typescript@5.7.3)': dependencies: '@storybook/core-webpack': 8.6.0(storybook@8.6.0(bufferutil@4.0.9)(prettier@3.5.2)(utf-8-validate@5.0.10)) '@storybook/react': 8.6.0(@storybook/test@8.6.0(storybook@8.6.0(bufferutil@4.0.9)(prettier@3.5.2)(utf-8-validate@5.0.10)))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.6.0(bufferutil@4.0.9)(prettier@3.5.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.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0)) + '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.7.3)(webpack@5.98.0(@swc/core@1.11.1)(esbuild@0.25.0)) '@types/semver': 7.5.8 find-up: 5.0.0 magic-string: 0.30.17 @@ -22271,7 +22249,7 @@ snapshots: semver: 7.7.1 storybook: 8.6.0(bufferutil@4.0.9)(prettier@3.5.2)(utf-8-validate@5.0.10) tsconfig-paths: 4.2.0 - webpack: 5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0) + webpack: 5.98.0(@swc/core@1.11.1)(esbuild@0.25.0) optionalDependencies: typescript: 5.7.3 transitivePeerDependencies: @@ -22290,7 +22268,7 @@ snapshots: dependencies: storybook: 8.6.0(bufferutil@4.0.9)(prettier@3.5.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.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0))': + '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.7.3)(webpack@5.98.0(@swc/core@1.11.1)(esbuild@0.25.0))': dependencies: debug: 4.4.0(supports-color@8.1.1) endent: 2.1.0 @@ -22300,7 +22278,7 @@ snapshots: react-docgen-typescript: 2.2.2(typescript@5.7.3) tslib: 2.8.1 typescript: 5.7.3 - webpack: 5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0) + webpack: 5.98.0(@swc/core@1.11.1)(esbuild@0.25.0) transitivePeerDependencies: - supports-color @@ -22785,7 +22763,7 @@ snapshots: '@swc/core-win32-x64-msvc@1.11.1': optional: true - '@swc/core@1.11.1(@swc/helpers@0.5.15)': + '@swc/core@1.11.1': dependencies: '@swc/counter': 0.1.3 '@swc/types': 0.1.18 @@ -22800,7 +22778,6 @@ snapshots: '@swc/core-win32-arm64-msvc': 1.11.1 '@swc/core-win32-ia32-msvc': 1.11.1 '@swc/core-win32-x64-msvc': 1.11.1 - '@swc/helpers': 0.5.15 optional: true '@swc/counter@0.1.3': {} @@ -23041,6 +23018,8 @@ snapshots: dependencies: '@types/unist': 3.0.3 + '@types/he@1.2.3': {} + '@types/html-minifier-terser@6.1.0': {} '@types/htmlparser2@3.10.7': @@ -24894,12 +24873,12 @@ snapshots: transitivePeerDependencies: - supports-color - babel-loader@9.2.1(@babel/core@7.26.9)(webpack@5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0)): + babel-loader@9.2.1(@babel/core@7.26.9)(webpack@5.98.0(@swc/core@1.11.1)(esbuild@0.25.0)): dependencies: '@babel/core': 7.26.9 find-cache-dir: 4.0.0 schema-utils: 4.3.0 - webpack: 5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0) + webpack: 5.98.0(@swc/core@1.11.1)(esbuild@0.25.0) babel-plugin-istanbul@6.1.1: dependencies: @@ -25423,13 +25402,13 @@ snapshots: check-error@2.1.1: {} - checkly@4.19.1(@swc/core@1.11.1(@swc/helpers@0.5.15))(@types/node@22.13.5)(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10): + checkly@4.19.1(@swc/core@1.11.1)(@types/node@22.13.5)(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10): dependencies: - '@oclif/core': 2.8.11(@swc/core@1.11.1(@swc/helpers@0.5.15))(@types/node@22.13.5)(typescript@5.7.3) + '@oclif/core': 2.8.11(@swc/core@1.11.1)(@types/node@22.13.5)(typescript@5.7.3) '@oclif/plugin-help': 5.1.20 - '@oclif/plugin-not-found': 2.3.23(@swc/core@1.11.1(@swc/helpers@0.5.15))(@types/node@22.13.5)(typescript@5.7.3) + '@oclif/plugin-not-found': 2.3.23(@swc/core@1.11.1)(@types/node@22.13.5)(typescript@5.7.3) '@oclif/plugin-plugins': 5.4.4 - '@oclif/plugin-warn-if-update-available': 2.0.24(@swc/core@1.11.1(@swc/helpers@0.5.15))(@types/node@22.13.5)(typescript@5.7.3) + '@oclif/plugin-warn-if-update-available': 2.0.24(@swc/core@1.11.1)(@types/node@22.13.5)(typescript@5.7.3) '@typescript-eslint/typescript-estree': 6.19.0(typescript@5.7.3) acorn: 8.8.1 acorn-walk: 8.2.0 @@ -25885,7 +25864,7 @@ snapshots: css-gradient-parser@0.0.16: {} - css-loader@6.11.0(webpack@5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0)): + css-loader@6.11.0(webpack@5.98.0(@swc/core@1.11.1)(esbuild@0.25.0)): dependencies: icss-utils: 5.1.0(postcss@8.5.3) postcss: 8.5.3 @@ -25896,7 +25875,7 @@ snapshots: postcss-value-parser: 4.2.0 semver: 7.7.1 optionalDependencies: - webpack: 5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0) + webpack: 5.98.0(@swc/core@1.11.1)(esbuild@0.25.0) css-select@4.3.0: dependencies: @@ -26891,11 +26870,11 @@ snapshots: eslint-plugin-svg-jsx@1.2.4: {} - eslint-plugin-tailwindcss@3.18.0(tailwindcss@3.4.17(ts-node@10.9.2(@swc/core@1.11.1(@swc/helpers@0.5.15))(@types/node@22.13.5)(typescript@5.7.3))): + eslint-plugin-tailwindcss@3.18.0(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.13.5)(typescript@5.7.3))): dependencies: fast-glob: 3.3.3 postcss: 8.5.3 - tailwindcss: 3.4.17(ts-node@10.9.2(@swc/core@1.11.1(@swc/helpers@0.5.15))(@types/node@22.13.5)(typescript@5.7.3)) + tailwindcss: 3.4.17(ts-node@10.9.2(@types/node@22.13.5)(typescript@5.7.3)) eslint-scope@5.1.1: dependencies: @@ -27686,7 +27665,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.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0)): + fork-ts-checker-webpack-plugin@8.0.0(typescript@5.7.3)(webpack@5.98.0(@swc/core@1.11.1)(esbuild@0.25.0)): dependencies: '@babel/code-frame': 7.26.2 chalk: 4.1.2 @@ -27701,7 +27680,7 @@ snapshots: semver: 7.7.1 tapable: 2.2.1 typescript: 5.7.3 - webpack: 5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0) + webpack: 5.98.0(@swc/core@1.11.1)(esbuild@0.25.0) form-data-encoder@2.1.4: {} @@ -28188,7 +28167,7 @@ snapshots: html-void-elements@3.0.0: {} - html-webpack-plugin@5.6.3(webpack@5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0)): + html-webpack-plugin@5.6.3(webpack@5.98.0(@swc/core@1.11.1)(esbuild@0.25.0)): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 @@ -28196,7 +28175,7 @@ snapshots: pretty-error: 4.0.0 tapable: 2.2.1 optionalDependencies: - webpack: 5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0) + webpack: 5.98.0(@swc/core@1.11.1)(esbuild@0.25.0) htmlparser2@3.10.1: dependencies: @@ -30711,6 +30690,10 @@ snapshots: node-gyp-build@4.8.4: {} + node-html-markdown@1.3.0: + dependencies: + node-html-parser: 6.1.13 + node-html-parser@6.1.13: dependencies: css-select: 5.1.0 @@ -30718,7 +30701,7 @@ snapshots: node-int64@0.4.0: {} - node-polyfill-webpack-plugin@2.0.1(webpack@5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0)): + node-polyfill-webpack-plugin@2.0.1(webpack@5.98.0(@swc/core@1.11.1)(esbuild@0.25.0)): dependencies: assert: 2.1.0 browserify-zlib: 0.2.0 @@ -30745,7 +30728,7 @@ snapshots: url: 0.11.4 util: 0.12.5 vm-browserify: 1.1.2 - webpack: 5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0) + webpack: 5.98.0(@swc/core@1.11.1)(esbuild@0.25.0) node-releases@2.0.19: {} @@ -31416,13 +31399,13 @@ snapshots: camelcase-css: 2.0.1 postcss: 8.5.3 - postcss-load-config@4.0.2(postcss@8.5.3)(ts-node@10.9.2(@swc/core@1.11.1(@swc/helpers@0.5.15))(@types/node@22.13.5)(typescript@5.7.3)): + postcss-load-config@4.0.2(postcss@8.5.3)(ts-node@10.9.2(@types/node@22.13.5)(typescript@5.7.3)): dependencies: lilconfig: 3.1.3 yaml: 2.7.0 optionalDependencies: postcss: 8.5.3 - ts-node: 10.9.2(@swc/core@1.11.1(@swc/helpers@0.5.15))(@types/node@22.13.5)(typescript@5.7.3) + ts-node: 10.9.2(@swc/core@1.11.1)(@types/node@22.13.5)(typescript@5.7.3) postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.5.3)(tsx@4.19.3)(yaml@2.7.0): dependencies: @@ -31433,14 +31416,14 @@ snapshots: tsx: 4.19.3 yaml: 2.7.0 - postcss-loader@8.1.1(postcss@8.5.3)(typescript@5.7.3)(webpack@5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0)): + postcss-loader@8.1.1(postcss@8.5.3)(typescript@5.7.3)(webpack@5.98.0(@swc/core@1.11.1)(esbuild@0.25.0)): dependencies: cosmiconfig: 9.0.0(typescript@5.7.3) jiti: 1.21.7 postcss: 8.5.3 semver: 7.7.1 optionalDependencies: - webpack: 5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0) + webpack: 5.98.0(@swc/core@1.11.1)(esbuild@0.25.0) transitivePeerDependencies: - typescript @@ -32629,11 +32612,11 @@ snapshots: safer-buffer@2.1.2: {} - sass-loader@14.2.1(webpack@5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0)): + sass-loader@14.2.1(webpack@5.98.0(@swc/core@1.11.1)(esbuild@0.25.0)): dependencies: neo-async: 2.6.2 optionalDependencies: - webpack: 5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0) + webpack: 5.98.0(@swc/core@1.11.1)(esbuild@0.25.0) satori@0.12.1: dependencies: @@ -33229,9 +33212,9 @@ snapshots: structured-headers@0.4.1: {} - style-loader@3.3.4(webpack@5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0)): + style-loader@3.3.4(webpack@5.98.0(@swc/core@1.11.1)(esbuild@0.25.0)): dependencies: - webpack: 5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0) + webpack: 5.98.0(@swc/core@1.11.1)(esbuild@0.25.0) style-to-object@0.4.4: dependencies: @@ -33393,11 +33376,11 @@ snapshots: tailwind-merge@2.6.0: {} - tailwindcss-animate@1.0.7(tailwindcss@3.4.17(ts-node@10.9.2(@swc/core@1.11.1(@swc/helpers@0.5.15))(@types/node@22.13.5)(typescript@5.7.3))): + tailwindcss-animate@1.0.7(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.13.5)(typescript@5.7.3))): dependencies: - tailwindcss: 3.4.17(ts-node@10.9.2(@swc/core@1.11.1(@swc/helpers@0.5.15))(@types/node@22.13.5)(typescript@5.7.3)) + tailwindcss: 3.4.17(ts-node@10.9.2(@types/node@22.13.5)(typescript@5.7.3)) - tailwindcss@3.4.17(ts-node@10.9.2(@swc/core@1.11.1(@swc/helpers@0.5.15))(@types/node@22.13.5)(typescript@5.7.3)): + tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.13.5)(typescript@5.7.3)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -33416,7 +33399,7 @@ snapshots: postcss: 8.5.3 postcss-import: 15.1.0(postcss@8.5.3) postcss-js: 4.0.1(postcss@8.5.3) - postcss-load-config: 4.0.2(postcss@8.5.3)(ts-node@10.9.2(@swc/core@1.11.1(@swc/helpers@0.5.15))(@types/node@22.13.5)(typescript@5.7.3)) + postcss-load-config: 4.0.2(postcss@8.5.3)(ts-node@10.9.2(@types/node@22.13.5)(typescript@5.7.3)) postcss-nested: 6.2.0(postcss@8.5.3) postcss-selector-parser: 6.1.2 resolve: 1.22.10 @@ -33482,29 +33465,18 @@ snapshots: ansi-escapes: 4.3.2 supports-hyperlinks: 2.3.0 - terser-webpack-plugin@5.3.11(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0)(webpack@5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0)): + terser-webpack-plugin@5.3.11(@swc/core@1.11.1)(esbuild@0.25.0)(webpack@5.98.0(@swc/core@1.11.1)(esbuild@0.25.0)): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 4.3.0 serialize-javascript: 6.0.2 terser: 5.39.0 - webpack: 5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0) + webpack: 5.98.0(@swc/core@1.11.1)(esbuild@0.25.0) optionalDependencies: - '@swc/core': 1.11.1(@swc/helpers@0.5.15) + '@swc/core': 1.11.1 esbuild: 0.25.0 - terser-webpack-plugin@5.3.11(@swc/core@1.11.1(@swc/helpers@0.5.15))(webpack@5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))): - dependencies: - '@jridgewell/trace-mapping': 0.3.25 - jest-worker: 27.5.1 - schema-utils: 4.3.0 - serialize-javascript: 6.0.2 - terser: 5.39.0 - webpack: 5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15)) - optionalDependencies: - '@swc/core': 1.11.1(@swc/helpers@0.5.15) - terser-webpack-plugin@5.3.11(webpack@5.98.0): dependencies: '@jridgewell/trace-mapping': 0.3.25 @@ -33650,7 +33622,7 @@ snapshots: ts-mixer@6.0.4: {} - ts-node@10.9.2(@swc/core@1.11.1(@swc/helpers@0.5.15))(@types/node@22.13.5)(typescript@5.7.3): + ts-node@10.9.2(@swc/core@1.11.1)(@types/node@22.13.5)(typescript@5.7.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -33668,7 +33640,7 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 optionalDependencies: - '@swc/core': 1.11.1(@swc/helpers@0.5.15) + '@swc/core': 1.11.1 ts-pnp@1.2.0(typescript@5.7.3): optionalDependencies: @@ -34468,7 +34440,7 @@ snapshots: - bufferutil - utf-8-validate - webpack-dev-middleware@6.1.3(webpack@5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0)): + webpack-dev-middleware@6.1.3(webpack@5.98.0(@swc/core@1.11.1)(esbuild@0.25.0)): dependencies: colorette: 2.0.20 memfs: 3.5.3 @@ -34476,7 +34448,7 @@ snapshots: range-parser: 1.2.1 schema-utils: 4.3.0 optionalDependencies: - webpack: 5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0) + webpack: 5.98.0(@swc/core@1.11.1)(esbuild@0.25.0) webpack-hot-middleware@2.26.1: dependencies: @@ -34520,37 +34492,7 @@ snapshots: - esbuild - uglify-js - webpack@5.98.0(@swc/core@1.11.1(@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.4 - chrome-trace-event: 1.0.4 - enhanced-resolve: 5.18.1 - 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: 4.3.0 - tapable: 2.2.1 - terser-webpack-plugin: 5.3.11(@swc/core@1.11.1(@swc/helpers@0.5.15))(webpack@5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))) - watchpack: 2.4.2 - webpack-sources: 3.2.3 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - uglify-js - - webpack@5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0): + webpack@5.98.0(@swc/core@1.11.1)(esbuild@0.25.0): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.6 @@ -34572,7 +34514,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 4.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.11(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0)(webpack@5.98.0(@swc/core@1.11.1(@swc/helpers@0.5.15))(esbuild@0.25.0)) + terser-webpack-plugin: 5.3.11(@swc/core@1.11.1)(esbuild@0.25.0)(webpack@5.98.0(@swc/core@1.11.1)(esbuild@0.25.0)) watchpack: 2.4.2 webpack-sources: 3.2.3 transitivePeerDependencies: