mirror of
https://github.com/LukeHagar/better-auth.git
synced 2025-12-10 04:19:32 +00:00
docs: improve changelog page
This commit is contained in:
@@ -1,24 +1,66 @@
|
|||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
import { useId } from "react";
|
import { useId } from "react";
|
||||||
|
|
||||||
import { changelog } from "@/app/source";
|
|
||||||
import { notFound } from "next/navigation";
|
|
||||||
import { cn } from "@/lib/utils";
|
import { cn } from "@/lib/utils";
|
||||||
import { Badge } from "@/components/ui/badge";
|
|
||||||
import { IconLink } from "./_components/changelog-layout";
|
import { IconLink } from "./_components/changelog-layout";
|
||||||
import { BookIcon, GitHubIcon, XIcon } from "./_components/icons";
|
import { BookIcon, GitHubIcon, XIcon } from "./_components/icons";
|
||||||
import { DiscordLogoIcon } from "@radix-ui/react-icons";
|
import { DiscordLogoIcon } from "@radix-ui/react-icons";
|
||||||
import { StarField } from "./_components/stat-field";
|
import { StarField } from "./_components/stat-field";
|
||||||
|
import { betterFetch } from "@better-fetch/fetch";
|
||||||
|
import Markdown from "react-markdown";
|
||||||
|
import defaultMdxComponents from "fumadocs-ui/mdx";
|
||||||
|
import rehypeHighlight from "rehype-highlight";
|
||||||
|
import "highlight.js/styles/dark.css";
|
||||||
|
|
||||||
const ChangelogPage = () => {
|
export const dynamic = "force-static";
|
||||||
// @ts-ignore
|
|
||||||
const page = changelog.getPage();
|
|
||||||
|
|
||||||
if (page == null) {
|
const ChangelogPage = async () => {
|
||||||
notFound();
|
const { data: releases } = await betterFetch<
|
||||||
|
{
|
||||||
|
id: number;
|
||||||
|
tag_name: string;
|
||||||
|
name: string;
|
||||||
|
body: string;
|
||||||
|
html_url: string;
|
||||||
|
prerelease: boolean;
|
||||||
|
published_at: string;
|
||||||
|
}[]
|
||||||
|
>("https://api.github.com/repos/better-auth/better-auth/releases");
|
||||||
|
|
||||||
|
const messages = releases
|
||||||
|
?.filter((release) => !release.prerelease)
|
||||||
|
.map((release) => ({
|
||||||
|
tag: release.tag_name,
|
||||||
|
title: release.name,
|
||||||
|
content: getContent(release.body),
|
||||||
|
date: new Date(release.published_at).toLocaleDateString("en-US", {
|
||||||
|
year: "numeric",
|
||||||
|
month: "short",
|
||||||
|
day: "numeric",
|
||||||
|
}),
|
||||||
|
url: release.html_url,
|
||||||
|
}));
|
||||||
|
|
||||||
|
function getContent(content: string) {
|
||||||
|
const lines = content.split("\n");
|
||||||
|
const newContext = lines.map((line) => {
|
||||||
|
if (line.startsWith("- ")) {
|
||||||
|
const mainContent = line.split(";")[0];
|
||||||
|
const context = line.split(";")[2];
|
||||||
|
const mentions = context
|
||||||
|
.split(" ")
|
||||||
|
.filter((word) => word.startsWith("@"))
|
||||||
|
.map((mention) => {
|
||||||
|
const username = mention.replace("@", "");
|
||||||
|
const avatarUrl = `https://github.com/${username}.png`;
|
||||||
|
return `[](https://github.com/${username})`;
|
||||||
|
});
|
||||||
|
// Remove  
|
||||||
|
return mainContent.replace(/ /g, "") + " – " + mentions.join(" ");
|
||||||
|
}
|
||||||
|
return line;
|
||||||
|
});
|
||||||
|
return newContext.join("\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
const MDX = page.data.body;
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="grid md:grid-cols-2 items-start">
|
<div className="grid md:grid-cols-2 items-start">
|
||||||
@@ -26,7 +68,7 @@ const ChangelogPage = () => {
|
|||||||
<StarField className="top-1/2 -translate-y-1/2 left-1/2 -translate-x-1/2" />
|
<StarField className="top-1/2 -translate-y-1/2 left-1/2 -translate-x-1/2" />
|
||||||
<Glow />
|
<Glow />
|
||||||
|
|
||||||
<div className="flex flex-col justify-center max-w-xl mx-auto h-full">
|
<div className="flex flex-col md:justify-center max-w-xl mx-auto h-full">
|
||||||
<h1 className="mt-14 font-sans font-semibold tracking-tighter text-5xl">
|
<h1 className="mt-14 font-sans font-semibold tracking-tighter text-5xl">
|
||||||
All of the changes made will be{" "}
|
All of the changes made will be{" "}
|
||||||
<span className="">available here.</span>
|
<span className="">available here.</span>
|
||||||
@@ -37,7 +79,7 @@ const ChangelogPage = () => {
|
|||||||
and more secure.
|
and more secure.
|
||||||
</p>
|
</p>
|
||||||
<hr className="h-px bg-gray-300 mt-5" />
|
<hr className="h-px bg-gray-300 mt-5" />
|
||||||
<div className="mt-8 flex flex-wrap text-gray-600 dark:text-gray-300 justify-center gap-x-1 gap-y-3 sm:gap-x-2 lg:justify-start">
|
<div className="mt-8 flex flex-wrap text-gray-600 dark:text-gray-300 gap-x-1 gap-y-3 sm:gap-x-2">
|
||||||
<IconLink
|
<IconLink
|
||||||
href="/docs"
|
href="/docs"
|
||||||
icon={BookIcon}
|
icon={BookIcon}
|
||||||
@@ -61,8 +103,7 @@ const ChangelogPage = () => {
|
|||||||
</IconLink>
|
</IconLink>
|
||||||
</div>
|
</div>
|
||||||
<p className="flex items-baseline absolute bottom-4 max-md:left-1/2 max-md:-translate-x-1/2 gap-x-2 text-[0.8125rem]/6 text-gray-500">
|
<p className="flex items-baseline absolute bottom-4 max-md:left-1/2 max-md:-translate-x-1/2 gap-x-2 text-[0.8125rem]/6 text-gray-500">
|
||||||
Brought to you by{" "}
|
<IconLink href="https://x.com/better_auth" icon={XIcon} compact>
|
||||||
<IconLink href="#" icon={XIcon} compact>
|
|
||||||
BETTER-AUTH.
|
BETTER-AUTH.
|
||||||
</IconLink>
|
</IconLink>
|
||||||
</p>
|
</p>
|
||||||
@@ -72,14 +113,22 @@ const ChangelogPage = () => {
|
|||||||
<div className="absolute top-0 left-0 mb-2 w-2 h-full -translate-x-full bg-gradient-to-b from-black/10 dark:from-white/20 from-50% to-50% to-transparent bg-[length:100%_5px] bg-repeat-y"></div>
|
<div className="absolute top-0 left-0 mb-2 w-2 h-full -translate-x-full bg-gradient-to-b from-black/10 dark:from-white/20 from-50% to-50% to-transparent bg-[length:100%_5px] bg-repeat-y"></div>
|
||||||
|
|
||||||
<div className="max-w-2xl relative">
|
<div className="max-w-2xl relative">
|
||||||
<MDX
|
<Markdown
|
||||||
|
rehypePlugins={[[rehypeHighlight]]}
|
||||||
components={{
|
components={{
|
||||||
|
pre: (props) => (
|
||||||
|
<defaultMdxComponents.pre
|
||||||
|
{...props}
|
||||||
|
className={cn(props.className, " ml-10 my-2")}
|
||||||
|
/>
|
||||||
|
),
|
||||||
h2: (props) => (
|
h2: (props) => (
|
||||||
<h2
|
<h2
|
||||||
className="text-2xl relative mt-16 font-bold flex-col flex justify-center tracking-tighter"
|
id={props.children?.toString().split("date=")[0].trim()} // Extract ID dynamically
|
||||||
|
className="text-2xl relative mb-6 font-bold flex-col flex justify-center tracking-tighter before:content-[''] before:block before:h-[65px] before:-mt-[10px]"
|
||||||
{...props}
|
{...props}
|
||||||
>
|
>
|
||||||
<div className="sticky top-0 left-[-9.9rem]">
|
<div className="sticky top-0 left-[-9.9rem] hidden md:block">
|
||||||
<time className="flex gap-2 items-center text-gray-500 dark:text-white/80 text-sm md:absolute md:left-[-9.8rem] font-normal tracking-normal">
|
<time className="flex gap-2 items-center text-gray-500 dark:text-white/80 text-sm md:absolute md:left-[-9.8rem] font-normal tracking-normal">
|
||||||
{props.children?.toString().includes("date=") &&
|
{props.children?.toString().includes("date=") &&
|
||||||
props.children?.toString().split("date=")[1]}
|
props.children?.toString().split("date=")[1]}
|
||||||
@@ -87,32 +136,62 @@ const ChangelogPage = () => {
|
|||||||
<div className="w-4 h-[1px] dark:bg-white/60 bg-black" />
|
<div className="w-4 h-[1px] dark:bg-white/60 bg-black" />
|
||||||
</time>
|
</time>
|
||||||
</div>
|
</div>
|
||||||
|
<Link
|
||||||
|
href={
|
||||||
|
`#${props.children
|
||||||
|
?.toString()
|
||||||
|
.split("date=")[0]
|
||||||
|
.trim()}` || "#"
|
||||||
|
}
|
||||||
|
>
|
||||||
{props.children?.toString().split("date=")[0].trim()}
|
{props.children?.toString().split("date=")[0].trim()}
|
||||||
|
</Link>
|
||||||
|
<p className="text-xs font-normal opacity-60 hidden">
|
||||||
|
{props.children?.toString().includes("date=") &&
|
||||||
|
props.children?.toString().split("date=")[1]}
|
||||||
|
</p>
|
||||||
</h2>
|
</h2>
|
||||||
),
|
),
|
||||||
h3: (props) => (
|
h3: (props) => (
|
||||||
<h3 className="text-xl tracking-tighter" {...props} />
|
<h3 className="text-xl tracking-tighter" {...props} />
|
||||||
),
|
),
|
||||||
p: (props) => <p className="my-4" {...props} />,
|
p: (props) => <p className="my-0 ml-10 text-sm" {...props} />,
|
||||||
ul: (props) => (
|
ul: (props) => (
|
||||||
<ul
|
<ul
|
||||||
className="list-disc ml-10 my-4 text-[0.855rem] text-gray-600 dark:text-gray-300"
|
className="list-disc ml-10 text-[0.855rem] text-gray-600 dark:text-gray-300"
|
||||||
{...props}
|
{...props}
|
||||||
/>
|
/>
|
||||||
),
|
),
|
||||||
li: (props) => <li className="my-px" {...props} />,
|
li: (props) => <li className="my-1" {...props} />,
|
||||||
a: ({ className, ...props }: any) => (
|
a: ({ className, ...props }: any) => (
|
||||||
<Link
|
<Link
|
||||||
|
target="_blank"
|
||||||
className={cn("font-medium underline", className)}
|
className={cn("font-medium underline", className)}
|
||||||
{...props}
|
{...props}
|
||||||
/>
|
/>
|
||||||
),
|
),
|
||||||
Badge: (props) => (
|
strong: (props) => (
|
||||||
<Badge variant="secondary" className="py-0" {...props} />
|
<strong className="font-semibold" {...props} />
|
||||||
|
),
|
||||||
|
img: (props) => (
|
||||||
|
<img
|
||||||
|
className="rounded-full w-6 h-6 border opacity-70 inline-block"
|
||||||
|
{...props}
|
||||||
|
style={{ maxWidth: "100%" }}
|
||||||
|
/>
|
||||||
),
|
),
|
||||||
}}
|
}}
|
||||||
/>
|
>
|
||||||
|
{messages
|
||||||
|
?.map((message) => {
|
||||||
|
return `
|
||||||
|
## ${message.title} date=${message.date}
|
||||||
|
|
||||||
|
${message.content}
|
||||||
|
`;
|
||||||
|
})
|
||||||
|
.join("\n")}
|
||||||
|
</Markdown>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -2,6 +2,14 @@
|
|||||||
@tailwind components;
|
@tailwind components;
|
||||||
@tailwind utilities;
|
@tailwind utilities;
|
||||||
|
|
||||||
|
html {
|
||||||
|
scroll-behavior: smooth;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hljs {
|
||||||
|
background: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
@layer base {
|
@layer base {
|
||||||
:root {
|
:root {
|
||||||
--background: 0 0% 100%;
|
--background: 0 0% 100%;
|
||||||
|
|||||||
@@ -8,9 +8,4 @@ export const source = loader({
|
|||||||
source: createMDXSource(docs, meta),
|
source: createMDXSource(docs, meta),
|
||||||
});
|
});
|
||||||
|
|
||||||
export const changelog = loader({
|
|
||||||
baseUrl: "/changelog",
|
|
||||||
source: createMDXSource(_changelog, meta),
|
|
||||||
});
|
|
||||||
|
|
||||||
export const openapi = createOpenAPI({});
|
export const openapi = createOpenAPI({});
|
||||||
|
|||||||
@@ -1,122 +0,0 @@
|
|||||||
---
|
|
||||||
title: Basic Usage
|
|
||||||
description: Getting started with Better Auth
|
|
||||||
---
|
|
||||||
|
|
||||||
## v1.0 date=Nov 22, 2024
|
|
||||||
|
|
||||||
The first stable release of Better Auth is now available!
|
|
||||||
|
|
||||||
[Read the release notes](https://better-auth.com/v1).
|
|
||||||
|
|
||||||
## v0.6.0 date=Oct 26, 2024
|
|
||||||
|
|
||||||
- Email OTP Plugin
|
|
||||||
- Optimized Database Queries (huge improvements)
|
|
||||||
- Manual Account linking
|
|
||||||
- Dropbox SSO
|
|
||||||
- LinkedIn SSO
|
|
||||||
- Improved two-factor flow
|
|
||||||
- Add search for admin plugin
|
|
||||||
- Cookie based session Cache
|
|
||||||
- Support additional fields on user update
|
|
||||||
- Better Express integration
|
|
||||||
|
|
||||||
See [release notes](https://github.com/better-auth/better-auth/releases/tag/v0.6.0) for full list of changes.
|
|
||||||
|
|
||||||
<Badge>
|
|
||||||
🚧 We are still in beta and we don't recommend using better-auth in production. V1 should be out by November 22.
|
|
||||||
</Badge>
|
|
||||||
|
|
||||||
## v0.5.0 date=Oct 18, 2024
|
|
||||||
|
|
||||||
Multi Session Plugin, JWT & JWKS Plugin, Change Email Flow, SSR support for Nuxt, CF Workers compatibility, and many more.
|
|
||||||
|
|
||||||
### Features & Changes
|
|
||||||
|
|
||||||
- Multi Session Plugin
|
|
||||||
- JWT & JWKS Plugin
|
|
||||||
- Change Email Flow
|
|
||||||
- CF Workers compatibility
|
|
||||||
- Add support for custom id
|
|
||||||
- Support useSession ssr for Nuxt
|
|
||||||
- Moved the CLI to a separate package `@better-auth/cli`
|
|
||||||
|
|
||||||
See [release notes](https://github.com/better-auth/better-auth/releases/tag/v0.5.0) for full list of changes.
|
|
||||||
|
|
||||||
## v0.4.0 date=Oct 11, 2024
|
|
||||||
|
|
||||||
Admin Plugin, Microsoft SSO, Typed Additional Fields on core tables, Secondary storage and many more.
|
|
||||||
|
|
||||||
### Features & Changes
|
|
||||||
|
|
||||||
- Admin Plugin
|
|
||||||
- Generic OAuth Plugin
|
|
||||||
- Add support for typed additional fields on core tables
|
|
||||||
- Custom field names for core tables
|
|
||||||
- Secondary storage
|
|
||||||
- Add support for Kysely instance as a database
|
|
||||||
- Microsoft SSO
|
|
||||||
|
|
||||||
See [release notes](https://github.com/better-auth/better-auth/releases/tag/v0.4.0) for full list of changes.
|
|
||||||
|
|
||||||
<Badge>
|
|
||||||
🚧 We are still in beta and we don't recommend using better-auth in production just yet
|
|
||||||
</Badge>
|
|
||||||
|
|
||||||
## v0.3.0 date=Oct 4, 2024
|
|
||||||
|
|
||||||
Database Schema Generation, Phone Number Plugin, Anonymous Plugin, Better type Inference, Custom table names, and many more.
|
|
||||||
|
|
||||||
### Features & Changes
|
|
||||||
|
|
||||||
- Database Schema Generation
|
|
||||||
- Phone Number Plugin
|
|
||||||
- Anonymous Plugin
|
|
||||||
- Better type Inference
|
|
||||||
- User Delete API
|
|
||||||
- Custom table/model names
|
|
||||||
- Removed flat db config
|
|
||||||
- New core table for verification use cases
|
|
||||||
- Moved passkey challenge keys to be stored on db
|
|
||||||
- Many bug fixes and improvements
|
|
||||||
|
|
||||||
See [release notes](https://github.com/better-auth/better-auth/releases/tag/v0.3.0) for full list of changes.
|
|
||||||
|
|
||||||
<Badge>
|
|
||||||
🚧 We are still in beta and we don't recommend using better-auth in production just yet.
|
|
||||||
</Badge>
|
|
||||||
|
|
||||||
## v0.2.0 date=Oct 4, 2024
|
|
||||||
|
|
||||||
We have added support for database adapters including Prisma, Drizzle, and MongoDB, along with other changes.
|
|
||||||
|
|
||||||
### Changes
|
|
||||||
|
|
||||||
- Database adapters support including Prisma, Drizzle, and MongoDB
|
|
||||||
- Database hooks
|
|
||||||
- Cross-domain cookies
|
|
||||||
- onRequest and onResponse plugin hooks
|
|
||||||
- Init interface for plugins
|
|
||||||
|
|
||||||
See [Changelog](https://github.com/better-auth/better-auth/releases/tag/v0.2.0) for full list of changes.
|
|
||||||
|
|
||||||
<Badge>
|
|
||||||
🚧 We are still in beta and we don't recommend using better-auth in production just yet.
|
|
||||||
</Badge>
|
|
||||||
|
|
||||||
## Beta Release date=Oct 4, 2024
|
|
||||||
|
|
||||||
The first beta release of better-auth is now available!
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
- Multiple framework support
|
|
||||||
- Email & Password Authentication
|
|
||||||
- OAuth Authentication
|
|
||||||
- Account & Session Management
|
|
||||||
- Rate Limiting
|
|
||||||
- Multiple Plugins
|
|
||||||
- Migration CLI
|
|
||||||
- And more...
|
|
||||||
|
|
||||||
@@ -31,6 +31,9 @@ export default withMDX({
|
|||||||
{
|
{
|
||||||
hostname: "pbs.twimg.com",
|
hostname: "pbs.twimg.com",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
hostname: "github.com",
|
||||||
|
}
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -11,9 +11,11 @@
|
|||||||
"postinstall": "fumadocs-mdx"
|
"postinstall": "fumadocs-mdx"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@better-fetch/fetch": "1.1.12",
|
||||||
"@codesandbox/sandpack-react": "^2.19.8",
|
"@codesandbox/sandpack-react": "^2.19.8",
|
||||||
"@hookform/resolvers": "^3.9.0",
|
"@hookform/resolvers": "^3.9.0",
|
||||||
"@loglib/tracker": "^0.8.0",
|
"@loglib/tracker": "^0.8.0",
|
||||||
|
"@octokit/rest": "^21.0.2",
|
||||||
"@radix-ui/react-accordion": "^1.2.0",
|
"@radix-ui/react-accordion": "^1.2.0",
|
||||||
"@radix-ui/react-alert-dialog": "^1.1.1",
|
"@radix-ui/react-alert-dialog": "^1.1.1",
|
||||||
"@radix-ui/react-aspect-ratio": "^1.1.0",
|
"@radix-ui/react-aspect-ratio": "^1.1.0",
|
||||||
@@ -83,9 +85,11 @@
|
|||||||
"react-day-picker": "8.10.1",
|
"react-day-picker": "8.10.1",
|
||||||
"react-dom": "^18.3.1",
|
"react-dom": "^18.3.1",
|
||||||
"react-hook-form": "^7.52.2",
|
"react-hook-form": "^7.52.2",
|
||||||
|
"react-markdown": "^9.0.1",
|
||||||
"react-resizable-panels": "^2.1.2",
|
"react-resizable-panels": "^2.1.2",
|
||||||
"react-use-measure": "^2.1.1",
|
"react-use-measure": "^2.1.1",
|
||||||
"recharts": "^2.12.7",
|
"recharts": "^2.12.7",
|
||||||
|
"rehype-highlight": "^7.0.1",
|
||||||
"rehype-mermaid": "^2.1.0",
|
"rehype-mermaid": "^2.1.0",
|
||||||
"remark-codesandbox": "^0.10.1",
|
"remark-codesandbox": "^0.10.1",
|
||||||
"shiki": "^1.23.1",
|
"shiki": "^1.23.1",
|
||||||
|
|||||||
189
pnpm-lock.yaml
generated
189
pnpm-lock.yaml
generated
@@ -328,6 +328,9 @@ importers:
|
|||||||
|
|
||||||
docs:
|
docs:
|
||||||
dependencies:
|
dependencies:
|
||||||
|
'@better-fetch/fetch':
|
||||||
|
specifier: 1.1.12
|
||||||
|
version: 1.1.12
|
||||||
'@codesandbox/sandpack-react':
|
'@codesandbox/sandpack-react':
|
||||||
specifier: ^2.19.8
|
specifier: ^2.19.8
|
||||||
version: 2.19.9(@lezer/common@1.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
version: 2.19.9(@lezer/common@1.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
||||||
@@ -337,6 +340,9 @@ importers:
|
|||||||
'@loglib/tracker':
|
'@loglib/tracker':
|
||||||
specifier: ^0.8.0
|
specifier: ^0.8.0
|
||||||
version: 0.8.0(react@18.3.1)
|
version: 0.8.0(react@18.3.1)
|
||||||
|
'@octokit/rest':
|
||||||
|
specifier: ^21.0.2
|
||||||
|
version: 21.0.2
|
||||||
'@radix-ui/react-accordion':
|
'@radix-ui/react-accordion':
|
||||||
specifier: ^1.2.0
|
specifier: ^1.2.0
|
||||||
version: 1.2.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
version: 1.2.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
||||||
@@ -544,6 +550,9 @@ importers:
|
|||||||
react-hook-form:
|
react-hook-form:
|
||||||
specifier: ^7.52.2
|
specifier: ^7.52.2
|
||||||
version: 7.53.1(react@18.3.1)
|
version: 7.53.1(react@18.3.1)
|
||||||
|
react-markdown:
|
||||||
|
specifier: ^9.0.1
|
||||||
|
version: 9.0.1(@types/react@18.3.12)(react@18.3.1)
|
||||||
react-resizable-panels:
|
react-resizable-panels:
|
||||||
specifier: ^2.1.2
|
specifier: ^2.1.2
|
||||||
version: 2.1.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
version: 2.1.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
||||||
@@ -553,6 +562,9 @@ importers:
|
|||||||
recharts:
|
recharts:
|
||||||
specifier: ^2.12.7
|
specifier: ^2.12.7
|
||||||
version: 2.13.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
version: 2.13.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
||||||
|
rehype-highlight:
|
||||||
|
specifier: ^7.0.1
|
||||||
|
version: 7.0.1
|
||||||
rehype-mermaid:
|
rehype-mermaid:
|
||||||
specifier: ^2.1.0
|
specifier: ^2.1.0
|
||||||
version: 2.1.0
|
version: 2.1.0
|
||||||
@@ -4547,6 +4559,58 @@ packages:
|
|||||||
'@nuxtjs/tailwindcss@6.12.2':
|
'@nuxtjs/tailwindcss@6.12.2':
|
||||||
resolution: {integrity: sha512-qPJiFH67CkTj/2kBGBzqXihOD1rQXMsbVS4vdQvfBxOBLPfGhU1yw7AATdhPl2BBjO2krjJLuZj39t7dnDYOwg==}
|
resolution: {integrity: sha512-qPJiFH67CkTj/2kBGBzqXihOD1rQXMsbVS4vdQvfBxOBLPfGhU1yw7AATdhPl2BBjO2krjJLuZj39t7dnDYOwg==}
|
||||||
|
|
||||||
|
'@octokit/auth-token@5.1.1':
|
||||||
|
resolution: {integrity: sha512-rh3G3wDO8J9wSjfI436JUKzHIxq8NaiL0tVeB2aXmG6p/9859aUOAjA9pmSPNGGZxfwmaJ9ozOJImuNVJdpvbA==}
|
||||||
|
engines: {node: '>= 18'}
|
||||||
|
|
||||||
|
'@octokit/core@6.1.2':
|
||||||
|
resolution: {integrity: sha512-hEb7Ma4cGJGEUNOAVmyfdB/3WirWMg5hDuNFVejGEDFqupeOysLc2sG6HJxY2etBp5YQu5Wtxwi020jS9xlUwg==}
|
||||||
|
engines: {node: '>= 18'}
|
||||||
|
|
||||||
|
'@octokit/endpoint@10.1.1':
|
||||||
|
resolution: {integrity: sha512-JYjh5rMOwXMJyUpj028cu0Gbp7qe/ihxfJMLc8VZBMMqSwLgOxDI1911gV4Enl1QSavAQNJcwmwBF9M0VvLh6Q==}
|
||||||
|
engines: {node: '>= 18'}
|
||||||
|
|
||||||
|
'@octokit/graphql@8.1.1':
|
||||||
|
resolution: {integrity: sha512-ukiRmuHTi6ebQx/HFRCXKbDlOh/7xEV6QUXaE7MJEKGNAncGI/STSbOkl12qVXZrfZdpXctx5O9X1AIaebiDBg==}
|
||||||
|
engines: {node: '>= 18'}
|
||||||
|
|
||||||
|
'@octokit/openapi-types@22.2.0':
|
||||||
|
resolution: {integrity: sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==}
|
||||||
|
|
||||||
|
'@octokit/plugin-paginate-rest@11.3.6':
|
||||||
|
resolution: {integrity: sha512-zcvqqf/+TicbTCa/Z+3w4eBJcAxCFymtc0UAIsR3dEVoNilWld4oXdscQ3laXamTszUZdusw97K8+DrbFiOwjw==}
|
||||||
|
engines: {node: '>= 18'}
|
||||||
|
peerDependencies:
|
||||||
|
'@octokit/core': '>=6'
|
||||||
|
|
||||||
|
'@octokit/plugin-request-log@5.3.1':
|
||||||
|
resolution: {integrity: sha512-n/lNeCtq+9ofhC15xzmJCNKP2BWTv8Ih2TTy+jatNCCq/gQP/V7rK3fjIfuz0pDWDALO/o/4QY4hyOF6TQQFUw==}
|
||||||
|
engines: {node: '>= 18'}
|
||||||
|
peerDependencies:
|
||||||
|
'@octokit/core': '>=6'
|
||||||
|
|
||||||
|
'@octokit/plugin-rest-endpoint-methods@13.2.6':
|
||||||
|
resolution: {integrity: sha512-wMsdyHMjSfKjGINkdGKki06VEkgdEldIGstIEyGX0wbYHGByOwN/KiM+hAAlUwAtPkP3gvXtVQA9L3ITdV2tVw==}
|
||||||
|
engines: {node: '>= 18'}
|
||||||
|
peerDependencies:
|
||||||
|
'@octokit/core': '>=6'
|
||||||
|
|
||||||
|
'@octokit/request-error@6.1.5':
|
||||||
|
resolution: {integrity: sha512-IlBTfGX8Yn/oFPMwSfvugfncK2EwRLjzbrpifNaMY8o/HTEAFqCA1FZxjD9cWvSKBHgrIhc4CSBIzMxiLsbzFQ==}
|
||||||
|
engines: {node: '>= 18'}
|
||||||
|
|
||||||
|
'@octokit/request@9.1.3':
|
||||||
|
resolution: {integrity: sha512-V+TFhu5fdF3K58rs1pGUJIDH5RZLbZm5BI+MNF+6o/ssFNT4vWlCh/tVpF3NxGtP15HUxTTMUbsG5llAuU2CZA==}
|
||||||
|
engines: {node: '>= 18'}
|
||||||
|
|
||||||
|
'@octokit/rest@21.0.2':
|
||||||
|
resolution: {integrity: sha512-+CiLisCoyWmYicH25y1cDfCrv41kRSvTq6pPWtRroRJzhsCZWZyCqGyI8foJT5LmScADSwRAnr/xo+eewL04wQ==}
|
||||||
|
engines: {node: '>= 18'}
|
||||||
|
|
||||||
|
'@octokit/types@13.6.2':
|
||||||
|
resolution: {integrity: sha512-WpbZfZUcZU77DrSW4wbsSgTPfKcp286q3ItaIgvSbBpZJlu6mnYXAkjZz6LVZPXkEvLIM8McanyZejKTYUHipA==}
|
||||||
|
|
||||||
'@one-ini/wasm@0.1.1':
|
'@one-ini/wasm@0.1.1':
|
||||||
resolution: {integrity: sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==}
|
resolution: {integrity: sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==}
|
||||||
|
|
||||||
@@ -8093,6 +8157,9 @@ packages:
|
|||||||
resolution: {integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==}
|
resolution: {integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==}
|
||||||
engines: {node: '>= 0.8'}
|
engines: {node: '>= 0.8'}
|
||||||
|
|
||||||
|
before-after-hook@3.0.2:
|
||||||
|
resolution: {integrity: sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==}
|
||||||
|
|
||||||
better-auth@0.6.2:
|
better-auth@0.6.2:
|
||||||
resolution: {integrity: sha512-7lh0ph5eXnoyMDs9hbL32hrY+e/y7Abk0IHtCS5h0fbObZNA1Uv2uW4G89RuHQG30LI7VeB4klYGn6Qcs74DrA==}
|
resolution: {integrity: sha512-7lh0ph5eXnoyMDs9hbL32hrY+e/y7Abk0IHtCS5h0fbObZNA1Uv2uW4G89RuHQG30LI7VeB4klYGn6Qcs74DrA==}
|
||||||
|
|
||||||
@@ -10974,6 +11041,10 @@ packages:
|
|||||||
hey-listen@1.0.8:
|
hey-listen@1.0.8:
|
||||||
resolution: {integrity: sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==}
|
resolution: {integrity: sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==}
|
||||||
|
|
||||||
|
highlight.js@11.10.0:
|
||||||
|
resolution: {integrity: sha512-SYVnVFswQER+zu1laSya563s+F8VDGt7o35d4utbamowvUNLLMovFqwCLSocpZTz3MgaSRA1IbqRWZv97dtErQ==}
|
||||||
|
engines: {node: '>=12.0.0'}
|
||||||
|
|
||||||
hoist-non-react-statics@3.3.2:
|
hoist-non-react-statics@3.3.2:
|
||||||
resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==}
|
resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==}
|
||||||
|
|
||||||
@@ -11013,6 +11084,9 @@ packages:
|
|||||||
resolution: {integrity: sha512-qY60FjREgVZL03vJU6IfMV4GDjGBIoOyvuFdpBDIX9yTlDw0TjxVBQp+P8NvpdIXNJvfWBTNul7fsAQJq2FNpg==}
|
resolution: {integrity: sha512-qY60FjREgVZL03vJU6IfMV4GDjGBIoOyvuFdpBDIX9yTlDw0TjxVBQp+P8NvpdIXNJvfWBTNul7fsAQJq2FNpg==}
|
||||||
engines: {node: '>=14'}
|
engines: {node: '>=14'}
|
||||||
|
|
||||||
|
html-url-attributes@3.0.1:
|
||||||
|
resolution: {integrity: sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==}
|
||||||
|
|
||||||
html-void-elements@3.0.0:
|
html-void-elements@3.0.0:
|
||||||
resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==}
|
resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==}
|
||||||
|
|
||||||
@@ -12171,6 +12245,9 @@ packages:
|
|||||||
resolution: {integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==}
|
resolution: {integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
|
|
||||||
|
lowlight@3.2.0:
|
||||||
|
resolution: {integrity: sha512-8Me8xHTCBYEXwcJIPcurnXTeERl3plwb4207v6KPye48kX/oaYDiwXy+OCm3M/pyAPUrkMhalKsbYPm24f/UDg==}
|
||||||
|
|
||||||
lru-cache@10.4.3:
|
lru-cache@10.4.3:
|
||||||
resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
|
resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
|
||||||
|
|
||||||
@@ -14376,6 +14453,12 @@ packages:
|
|||||||
react-is@18.3.1:
|
react-is@18.3.1:
|
||||||
resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==}
|
resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==}
|
||||||
|
|
||||||
|
react-markdown@9.0.1:
|
||||||
|
resolution: {integrity: sha512-186Gw/vF1uRkydbsOIkcGXw7aHq0sZOCRFFjGrr7b9+nVZg4UfA4enXCaxm4fUzecU38sWfrNDitGhshuU7rdg==}
|
||||||
|
peerDependencies:
|
||||||
|
'@types/react': '>=18'
|
||||||
|
react: '>=18'
|
||||||
|
|
||||||
react-medium-image-zoom@5.2.10:
|
react-medium-image-zoom@5.2.10:
|
||||||
resolution: {integrity: sha512-JBYf4u0zsocezIDtrjwStD+8sX+c8XuLsdz+HxPbojRj0sCicua0XOQKysuPetoFyX+YgStfj+vEtZ+699O/pg==}
|
resolution: {integrity: sha512-JBYf4u0zsocezIDtrjwStD+8sX+c8XuLsdz+HxPbojRj0sCicua0XOQKysuPetoFyX+YgStfj+vEtZ+699O/pg==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@@ -14698,6 +14781,9 @@ packages:
|
|||||||
resolution: {integrity: sha512-3OGZZ4HoLJkkAZx/48mTXJNlmqTGOzc0o9OWQPuWpkOlXXPbyN6OafCcoXUnBqE2D3f/T5L+pWc1kdEmnfnRsA==}
|
resolution: {integrity: sha512-3OGZZ4HoLJkkAZx/48mTXJNlmqTGOzc0o9OWQPuWpkOlXXPbyN6OafCcoXUnBqE2D3f/T5L+pWc1kdEmnfnRsA==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
|
rehype-highlight@7.0.1:
|
||||||
|
resolution: {integrity: sha512-dB/vVGFsbm7xPglqnYbg0ABg6rAuIWKycTvuXaOO27SgLoOFNoTlniTBtAxp3n5ZyMioW1a3KwiNqgjkb6Skjg==}
|
||||||
|
|
||||||
rehype-mermaid@2.1.0:
|
rehype-mermaid@2.1.0:
|
||||||
resolution: {integrity: sha512-YgzHXaUTzp+loffUvAoX+vtNNl36WL12GWYv4farPeW9GRFfYdgNg15O/3nADAW/Yh5/997Vv+0WaWOJ24/YSg==}
|
resolution: {integrity: sha512-YgzHXaUTzp+loffUvAoX+vtNNl36WL12GWYv4farPeW9GRFfYdgNg15O/3nADAW/Yh5/997Vv+0WaWOJ24/YSg==}
|
||||||
|
|
||||||
@@ -16272,6 +16358,9 @@ packages:
|
|||||||
unist-util-visit@5.0.0:
|
unist-util-visit@5.0.0:
|
||||||
resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==}
|
resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==}
|
||||||
|
|
||||||
|
universal-user-agent@7.0.2:
|
||||||
|
resolution: {integrity: sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==}
|
||||||
|
|
||||||
universalify@0.1.2:
|
universalify@0.1.2:
|
||||||
resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
|
resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
|
||||||
engines: {node: '>= 4.0.0'}
|
engines: {node: '>= 4.0.0'}
|
||||||
@@ -20720,6 +20809,67 @@ snapshots:
|
|||||||
- ts-node
|
- ts-node
|
||||||
- webpack-sources
|
- webpack-sources
|
||||||
|
|
||||||
|
'@octokit/auth-token@5.1.1': {}
|
||||||
|
|
||||||
|
'@octokit/core@6.1.2':
|
||||||
|
dependencies:
|
||||||
|
'@octokit/auth-token': 5.1.1
|
||||||
|
'@octokit/graphql': 8.1.1
|
||||||
|
'@octokit/request': 9.1.3
|
||||||
|
'@octokit/request-error': 6.1.5
|
||||||
|
'@octokit/types': 13.6.2
|
||||||
|
before-after-hook: 3.0.2
|
||||||
|
universal-user-agent: 7.0.2
|
||||||
|
|
||||||
|
'@octokit/endpoint@10.1.1':
|
||||||
|
dependencies:
|
||||||
|
'@octokit/types': 13.6.2
|
||||||
|
universal-user-agent: 7.0.2
|
||||||
|
|
||||||
|
'@octokit/graphql@8.1.1':
|
||||||
|
dependencies:
|
||||||
|
'@octokit/request': 9.1.3
|
||||||
|
'@octokit/types': 13.6.2
|
||||||
|
universal-user-agent: 7.0.2
|
||||||
|
|
||||||
|
'@octokit/openapi-types@22.2.0': {}
|
||||||
|
|
||||||
|
'@octokit/plugin-paginate-rest@11.3.6(@octokit/core@6.1.2)':
|
||||||
|
dependencies:
|
||||||
|
'@octokit/core': 6.1.2
|
||||||
|
'@octokit/types': 13.6.2
|
||||||
|
|
||||||
|
'@octokit/plugin-request-log@5.3.1(@octokit/core@6.1.2)':
|
||||||
|
dependencies:
|
||||||
|
'@octokit/core': 6.1.2
|
||||||
|
|
||||||
|
'@octokit/plugin-rest-endpoint-methods@13.2.6(@octokit/core@6.1.2)':
|
||||||
|
dependencies:
|
||||||
|
'@octokit/core': 6.1.2
|
||||||
|
'@octokit/types': 13.6.2
|
||||||
|
|
||||||
|
'@octokit/request-error@6.1.5':
|
||||||
|
dependencies:
|
||||||
|
'@octokit/types': 13.6.2
|
||||||
|
|
||||||
|
'@octokit/request@9.1.3':
|
||||||
|
dependencies:
|
||||||
|
'@octokit/endpoint': 10.1.1
|
||||||
|
'@octokit/request-error': 6.1.5
|
||||||
|
'@octokit/types': 13.6.2
|
||||||
|
universal-user-agent: 7.0.2
|
||||||
|
|
||||||
|
'@octokit/rest@21.0.2':
|
||||||
|
dependencies:
|
||||||
|
'@octokit/core': 6.1.2
|
||||||
|
'@octokit/plugin-paginate-rest': 11.3.6(@octokit/core@6.1.2)
|
||||||
|
'@octokit/plugin-request-log': 5.3.1(@octokit/core@6.1.2)
|
||||||
|
'@octokit/plugin-rest-endpoint-methods': 13.2.6(@octokit/core@6.1.2)
|
||||||
|
|
||||||
|
'@octokit/types@13.6.2':
|
||||||
|
dependencies:
|
||||||
|
'@octokit/openapi-types': 22.2.0
|
||||||
|
|
||||||
'@one-ini/wasm@0.1.1': {}
|
'@one-ini/wasm@0.1.1': {}
|
||||||
|
|
||||||
'@open-draft/deferred-promise@2.2.0': {}
|
'@open-draft/deferred-promise@2.2.0': {}
|
||||||
@@ -25694,6 +25844,8 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
safe-buffer: 5.1.2
|
safe-buffer: 5.1.2
|
||||||
|
|
||||||
|
before-after-hook@3.0.2: {}
|
||||||
|
|
||||||
better-auth@0.6.2(@vue/devtools-api@7.6.2)(encoding@0.1.13)(react@18.3.1)(solid-js@1.9.3)(vue@3.5.13(typescript@5.6.3)):
|
better-auth@0.6.2(@vue/devtools-api@7.6.2)(encoding@0.1.13)(react@18.3.1)(solid-js@1.9.3)(vue@3.5.13(typescript@5.6.3)):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@better-fetch/fetch': 1.1.12
|
'@better-fetch/fetch': 1.1.12
|
||||||
@@ -29492,6 +29644,8 @@ snapshots:
|
|||||||
|
|
||||||
hey-listen@1.0.8: {}
|
hey-listen@1.0.8: {}
|
||||||
|
|
||||||
|
highlight.js@11.10.0: {}
|
||||||
|
|
||||||
hoist-non-react-statics@3.3.2:
|
hoist-non-react-statics@3.3.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
react-is: 16.13.1
|
react-is: 16.13.1
|
||||||
@@ -29528,6 +29682,8 @@ snapshots:
|
|||||||
htmlparser2: 8.0.2
|
htmlparser2: 8.0.2
|
||||||
selderee: 0.11.0
|
selderee: 0.11.0
|
||||||
|
|
||||||
|
html-url-attributes@3.0.1: {}
|
||||||
|
|
||||||
html-void-elements@3.0.0: {}
|
html-void-elements@3.0.0: {}
|
||||||
|
|
||||||
htmlparser2@8.0.2:
|
htmlparser2@8.0.2:
|
||||||
@@ -30663,6 +30819,12 @@ snapshots:
|
|||||||
|
|
||||||
lowercase-keys@1.0.1: {}
|
lowercase-keys@1.0.1: {}
|
||||||
|
|
||||||
|
lowlight@3.2.0:
|
||||||
|
dependencies:
|
||||||
|
'@types/hast': 3.0.4
|
||||||
|
devlop: 1.1.0
|
||||||
|
highlight.js: 11.10.0
|
||||||
|
|
||||||
lru-cache@10.4.3: {}
|
lru-cache@10.4.3: {}
|
||||||
|
|
||||||
lru-cache@4.1.5:
|
lru-cache@4.1.5:
|
||||||
@@ -33669,6 +33831,23 @@ snapshots:
|
|||||||
|
|
||||||
react-is@18.3.1: {}
|
react-is@18.3.1: {}
|
||||||
|
|
||||||
|
react-markdown@9.0.1(@types/react@18.3.12)(react@18.3.1):
|
||||||
|
dependencies:
|
||||||
|
'@types/hast': 3.0.4
|
||||||
|
'@types/react': 18.3.12
|
||||||
|
devlop: 1.1.0
|
||||||
|
hast-util-to-jsx-runtime: 2.3.2
|
||||||
|
html-url-attributes: 3.0.1
|
||||||
|
mdast-util-to-hast: 13.2.0
|
||||||
|
react: 18.3.1
|
||||||
|
remark-parse: 11.0.0
|
||||||
|
remark-rehype: 11.1.1
|
||||||
|
unified: 11.0.4
|
||||||
|
unist-util-visit: 5.0.0
|
||||||
|
vfile: 6.0.3
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
|
|
||||||
react-medium-image-zoom@5.2.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
|
react-medium-image-zoom@5.2.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
|
||||||
dependencies:
|
dependencies:
|
||||||
react: 18.3.1
|
react: 18.3.1
|
||||||
@@ -34110,6 +34289,14 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
jsesc: 3.0.2
|
jsesc: 3.0.2
|
||||||
|
|
||||||
|
rehype-highlight@7.0.1:
|
||||||
|
dependencies:
|
||||||
|
'@types/hast': 3.0.4
|
||||||
|
hast-util-to-text: 4.0.2
|
||||||
|
lowlight: 3.2.0
|
||||||
|
unist-util-visit: 5.0.0
|
||||||
|
vfile: 6.0.3
|
||||||
|
|
||||||
rehype-mermaid@2.1.0:
|
rehype-mermaid@2.1.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/hast': 3.0.4
|
'@types/hast': 3.0.4
|
||||||
@@ -36009,6 +36196,8 @@ snapshots:
|
|||||||
unist-util-is: 6.0.0
|
unist-util-is: 6.0.0
|
||||||
unist-util-visit-parents: 6.0.1
|
unist-util-visit-parents: 6.0.1
|
||||||
|
|
||||||
|
universal-user-agent@7.0.2: {}
|
||||||
|
|
||||||
universalify@0.1.2: {}
|
universalify@0.1.2: {}
|
||||||
|
|
||||||
universalify@1.0.0: {}
|
universalify@1.0.0: {}
|
||||||
|
|||||||
Reference in New Issue
Block a user