mirror of
https://github.com/jakejarvis/jarv.is.git
synced 2025-04-26 07:45:25 -04:00
add github activity graph to /projects
This commit is contained in:
parent
98ea88dae9
commit
ba62de355f
@ -30,8 +30,6 @@ const ContactSchema = v.object({
|
|||||||
v.nonEmpty("Just do the stinkin CAPTCHA, human! 🤖"),
|
v.nonEmpty("Just do the stinkin CAPTCHA, human! 🤖"),
|
||||||
// very rudimentary length check based on Cloudflare's docs
|
// very rudimentary length check based on Cloudflare's docs
|
||||||
// https://developers.cloudflare.com/turnstile/troubleshooting/testing/
|
// https://developers.cloudflare.com/turnstile/troubleshooting/testing/
|
||||||
v.minLength("XXXX.DUMMY.TOKEN.XXXX".length),
|
|
||||||
// "A Turnstile token can have up to 2048 characters."
|
|
||||||
// https://developers.cloudflare.com/turnstile/get-started/server-side-validation/
|
// https://developers.cloudflare.com/turnstile/get-started/server-side-validation/
|
||||||
v.maxLength(2048),
|
v.maxLength(2048),
|
||||||
v.readonly()
|
v.readonly()
|
||||||
@ -48,7 +46,7 @@ export type ContactState = {
|
|||||||
|
|
||||||
export const send = async (state: ContactState, payload: FormData): Promise<ContactState> => {
|
export const send = async (state: ContactState, payload: FormData): Promise<ContactState> => {
|
||||||
// TODO: remove after debugging why automated spam entries are causing 500 errors
|
// TODO: remove after debugging why automated spam entries are causing 500 errors
|
||||||
console.debug("[contact form] received payload:", payload);
|
console.debug("[/contact] received payload:", payload);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const data = v.safeParse(ContactSchema, Object.fromEntries(payload));
|
const data = v.safeParse(ContactSchema, Object.fromEntries(payload));
|
||||||
@ -80,7 +78,7 @@ export const send = async (state: ContactState, payload: FormData): Promise<Cont
|
|||||||
});
|
});
|
||||||
|
|
||||||
if (!turnstileResponse || !turnstileResponse.ok) {
|
if (!turnstileResponse || !turnstileResponse.ok) {
|
||||||
throw new Error(`[contact form] turnstile validation failed: ${turnstileResponse.status}`);
|
throw new Error(`[/contact] turnstile validation failed: ${turnstileResponse.status}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
const turnstileData = (await turnstileResponse.json()) as { success: boolean };
|
const turnstileData = (await turnstileResponse.json()) as { success: boolean };
|
||||||
@ -92,9 +90,9 @@ export const send = async (state: ContactState, payload: FormData): Promise<Cont
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!env.RESEND_FROM_EMAIL) {
|
if (env.RESEND_FROM_EMAIL === "onboarding@resend.dev") {
|
||||||
// https://resend.com/docs/api-reference/emails/send-email
|
// https://resend.com/docs/api-reference/emails/send-email
|
||||||
console.warn("[contact form] 'RESEND_FROM_EMAIL' is not set, falling back to onboarding@resend.dev.");
|
console.warn("[/contact] 'RESEND_FROM_EMAIL' is not set, falling back to onboarding@resend.dev.");
|
||||||
}
|
}
|
||||||
|
|
||||||
// send email
|
// send email
|
||||||
@ -109,7 +107,7 @@ export const send = async (state: ContactState, payload: FormData): Promise<Cont
|
|||||||
|
|
||||||
return { success: true, message: "Thanks! You should hear from me soon." };
|
return { success: true, message: "Thanks! You should hear from me soon." };
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("[contact form] fatal error:", error);
|
console.error("[/contact] fatal error:", error);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
success: false,
|
success: false,
|
||||||
|
@ -22,7 +22,7 @@ const HitCounter = async ({ slug }: { slug: string }) => {
|
|||||||
</span>
|
</span>
|
||||||
);
|
);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("[hit counter] fatal error:", error);
|
console.error("[/notes/[slug]/counter] fatal error:", error);
|
||||||
|
|
||||||
return <span title="Error getting views! :(">?</span>;
|
return <span title="Error getting views! :(">?</span>;
|
||||||
}
|
}
|
||||||
|
@ -34,7 +34,7 @@ const getLocalImage = async (src: string): Promise<ArrayBuffer | string> => {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
if (!fs.existsSync(imagePath)) {
|
if (!fs.existsSync(imagePath)) {
|
||||||
console.error(`[og-image] couldn't find an image file located at "${imagePath}"`);
|
console.error(`[/notes/[slug]/opengraph-image] couldn't find an image file located at "${imagePath}"`);
|
||||||
|
|
||||||
// return a 1x1 transparent gif if the image doesn't exist instead of crashing
|
// return a 1x1 transparent gif if the image doesn't exist instead of crashing
|
||||||
return NO_IMAGE;
|
return NO_IMAGE;
|
||||||
@ -43,7 +43,7 @@ const getLocalImage = async (src: string): Promise<ArrayBuffer | string> => {
|
|||||||
// return the raw image data as a buffer
|
// return the raw image data as a buffer
|
||||||
return Uint8Array.from(await fs.promises.readFile(imagePath)).buffer;
|
return Uint8Array.from(await fs.promises.readFile(imagePath)).buffer;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(`[og-image] found "${imagePath}" but couldn't read it:`, error);
|
console.error(`[/notes/[slug]/opengraph-image] found "${imagePath}" but couldn't read it:`, error);
|
||||||
|
|
||||||
// fail silently and return a 1x1 transparent gif instead of crashing
|
// fail silently and return a 1x1 transparent gif instead of crashing
|
||||||
return NO_IMAGE;
|
return NO_IMAGE;
|
||||||
@ -256,7 +256,7 @@ const OpenGraphImage = async ({ params }: { params: Promise<{ slug: string }> })
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("[og-image] error generating image:", error);
|
console.error("[/notes/[slug]/opengraph-image] error generating open graph image:", error);
|
||||||
notFound();
|
notFound();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
33
app/projects/calendar.module.css
Normal file
33
app/projects/calendar.module.css
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
.calendar {
|
||||||
|
--activity-0: #ebedf0;
|
||||||
|
--activity-1: #9be9a8;
|
||||||
|
--activity-2: #40c463;
|
||||||
|
--activity-3: #30a14e;
|
||||||
|
--activity-4: #216e39;
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-theme="dark"] .calendar {
|
||||||
|
--activity-0: #252525;
|
||||||
|
--activity-1: #033a16;
|
||||||
|
--activity-2: #196c2e;
|
||||||
|
--activity-3: #2ea043;
|
||||||
|
--activity-4: #56d364;
|
||||||
|
}
|
||||||
|
|
||||||
|
.calendar :global(.react-activity-calendar) {
|
||||||
|
margin: 1em auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.calendar :global(.react-activity-calendar__count),
|
||||||
|
.calendar :global(.react-activity-calendar__legend-month) {
|
||||||
|
color: var(--colors-medium);
|
||||||
|
}
|
||||||
|
|
||||||
|
.calendar :global(.react-activity-calendar__legend-colors) {
|
||||||
|
color: var(--colors-medium-light);
|
||||||
|
}
|
||||||
|
|
||||||
|
.tooltip {
|
||||||
|
background-color: var(--colors-background-header);
|
||||||
|
color: var(--colors-text);
|
||||||
|
}
|
59
app/projects/calendar.tsx
Normal file
59
app/projects/calendar.tsx
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
"use client";
|
||||||
|
|
||||||
|
import { cloneElement } from "react";
|
||||||
|
import { ActivityCalendar } from "react-activity-calendar";
|
||||||
|
import { Tooltip } from "react-tooltip";
|
||||||
|
import clsx from "clsx";
|
||||||
|
import { format } from "date-fns";
|
||||||
|
import type { ComponentPropsWithoutRef } from "react";
|
||||||
|
import type { Activity } from "react-activity-calendar";
|
||||||
|
|
||||||
|
import styles from "./calendar.module.css";
|
||||||
|
import "react-tooltip/dist/react-tooltip.css";
|
||||||
|
|
||||||
|
export type CalendarProps = ComponentPropsWithoutRef<"div"> & {
|
||||||
|
data: Activity[];
|
||||||
|
};
|
||||||
|
|
||||||
|
const Calendar = ({ data, className, ...rest }: CalendarProps) => {
|
||||||
|
// heavily inspired by https://github.com/grubersjoe/react-github-calendar
|
||||||
|
return (
|
||||||
|
<div className={clsx(styles.calendar, className)} {...rest}>
|
||||||
|
<ActivityCalendar
|
||||||
|
data={data}
|
||||||
|
colorScheme="dark"
|
||||||
|
theme={{
|
||||||
|
// this isn't actually locked to dark mode, we just take over theming using CSS like everywhere else
|
||||||
|
dark: [
|
||||||
|
"var(--activity-0)",
|
||||||
|
"var(--activity-1)",
|
||||||
|
"var(--activity-2)",
|
||||||
|
"var(--activity-3)",
|
||||||
|
"var(--activity-4)",
|
||||||
|
],
|
||||||
|
}}
|
||||||
|
labels={{
|
||||||
|
totalCount: `{{count}} contributions in the last year`,
|
||||||
|
}}
|
||||||
|
maxLevel={4}
|
||||||
|
renderBlock={(block, activity) => (
|
||||||
|
<a
|
||||||
|
href={`https://github.com/jakejarvis?tab=overview&from=${activity.date}&to=${activity.date}`}
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener"
|
||||||
|
>
|
||||||
|
{cloneElement(block, {
|
||||||
|
"data-tooltip-id": "activity-tooltip",
|
||||||
|
"data-tooltip-html": `${activity.count === 0 ? "No" : activity.count} contribution${activity.count === 1 ? "" : "s"} on ${format(activity.date, "MMMM do")}`,
|
||||||
|
})}
|
||||||
|
</a>
|
||||||
|
)}
|
||||||
|
fontSize={13}
|
||||||
|
/>
|
||||||
|
|
||||||
|
<Tooltip id="activity-tooltip" className={styles.tooltip} />
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Calendar;
|
@ -1,3 +1,8 @@
|
|||||||
|
.heading {
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 1.4em;
|
||||||
|
}
|
||||||
|
|
||||||
.grid {
|
.grid {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-flow: row wrap;
|
flex-flow: row wrap;
|
||||||
|
@ -1,13 +1,16 @@
|
|||||||
import { env } from "../../lib/env";
|
import { env } from "../../lib/env";
|
||||||
|
import { Suspense } from "react";
|
||||||
import { notFound } from "next/navigation";
|
import { notFound } from "next/navigation";
|
||||||
import { graphql } from "@octokit/graphql";
|
import { graphql } from "@octokit/graphql";
|
||||||
|
import * as cheerio from "cheerio";
|
||||||
import { GitForkIcon, StarIcon } from "lucide-react";
|
import { GitForkIcon, StarIcon } from "lucide-react";
|
||||||
|
import Calendar from "./calendar";
|
||||||
import PageTitle from "../../components/PageTitle";
|
import PageTitle from "../../components/PageTitle";
|
||||||
import Link from "../../components/Link";
|
import Link from "../../components/Link";
|
||||||
import RelativeTime from "../../components/RelativeTime";
|
import RelativeTime from "../../components/RelativeTime";
|
||||||
import { addMetadata } from "../../lib/helpers/metadata";
|
import { addMetadata } from "../../lib/helpers/metadata";
|
||||||
import * as config from "../../lib/config";
|
import * as config from "../../lib/config";
|
||||||
import type { User } from "@octokit/graphql-schema";
|
import type { Repository, User } from "@octokit/graphql-schema";
|
||||||
|
|
||||||
import styles from "./page.module.css";
|
import styles from "./page.module.css";
|
||||||
|
|
||||||
@ -19,15 +22,80 @@ export const metadata = addMetadata({
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
const getRepos = async () => {
|
const getContributions = async (): Promise<
|
||||||
// don't fail the entire site build if the required API key for this page is missing
|
Array<{
|
||||||
if (!env.GITHUB_TOKEN) {
|
date: string;
|
||||||
console.warn(`ERROR: I can't fetch any GitHub projects without "GITHUB_TOKEN" set! Disabling projects page.`);
|
count: number;
|
||||||
|
level: number;
|
||||||
|
}>
|
||||||
|
> => {
|
||||||
|
// thanks @grubersjoe! :) https://github.com/grubersjoe/github-contributions-api/blob/main/src/scrape.ts
|
||||||
|
try {
|
||||||
|
const response = await fetch(`https://github.com/users/${config.authorSocial.github}/contributions`, {
|
||||||
|
headers: {
|
||||||
|
referer: `https://github.com/${config.authorSocial.github}`,
|
||||||
|
"x-requested-with": "XMLHttpRequest",
|
||||||
|
},
|
||||||
|
cache: "force-cache",
|
||||||
|
next: {
|
||||||
|
revalidate: 43200, // 12 hours
|
||||||
|
tags: ["github-contributions"],
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
// just return a 404 since this page would be blank anyways
|
const $ = cheerio.load(await response.text());
|
||||||
notFound();
|
|
||||||
|
const days = $(".js-calendar-graph-table .ContributionCalendar-day")
|
||||||
|
.get()
|
||||||
|
.sort((a, b) => {
|
||||||
|
const dateA = a.attribs["data-date"] ?? "";
|
||||||
|
const dateB = b.attribs["data-date"] ?? "";
|
||||||
|
|
||||||
|
return dateA.localeCompare(dateB, "en");
|
||||||
|
});
|
||||||
|
|
||||||
|
const dayTooltips = $(".js-calendar-graph tool-tip")
|
||||||
|
.toArray()
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||||
|
.reduce<Record<string, any>>((map, elem) => {
|
||||||
|
map[elem.attribs["for"]] = elem;
|
||||||
|
return map;
|
||||||
|
}, {});
|
||||||
|
|
||||||
|
return days.map((day) => {
|
||||||
|
const attr = {
|
||||||
|
id: day.attribs["id"],
|
||||||
|
date: day.attribs["data-date"],
|
||||||
|
level: day.attribs["data-level"],
|
||||||
|
};
|
||||||
|
|
||||||
|
let count = 0;
|
||||||
|
if (dayTooltips[attr.id]) {
|
||||||
|
const text = dayTooltips[attr.id].firstChild;
|
||||||
|
if (text) {
|
||||||
|
const countMatch = text.data.trim().match(/^\d+/);
|
||||||
|
if (countMatch) {
|
||||||
|
count = parseInt(countMatch[0]);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const level = parseInt(attr.level);
|
||||||
|
|
||||||
|
return {
|
||||||
|
date: attr.date,
|
||||||
|
count,
|
||||||
|
level,
|
||||||
|
};
|
||||||
|
});
|
||||||
|
} catch (error) {
|
||||||
|
console.error("[/projects] Failed to fetch contributions:", error);
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const getRepos = async (): Promise<Repository[] | undefined> => {
|
||||||
|
try {
|
||||||
// https://docs.github.com/en/graphql/reference/objects#repository
|
// https://docs.github.com/en/graphql/reference/objects#repository
|
||||||
const { user } = await graphql<{ user: User }>(
|
const { user } = await graphql<{ user: User }>(
|
||||||
`
|
`
|
||||||
@ -75,8 +143,8 @@ const getRepos = async () => {
|
|||||||
...options,
|
...options,
|
||||||
cache: "force-cache",
|
cache: "force-cache",
|
||||||
next: {
|
next: {
|
||||||
revalidate: 600, // 10 minutes
|
revalidate: 1800, // 30 minutes
|
||||||
tags: ["github-api"],
|
tags: ["github-repos"],
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@ -84,16 +152,55 @@ const getRepos = async () => {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
return user.repositories.edges?.map((edge) => edge!.node);
|
return user.repositories.edges?.map((edge) => edge!.node as Repository);
|
||||||
|
} catch (error) {
|
||||||
|
console.error("[/projects] Failed to fetch repositories:", error);
|
||||||
|
return [];
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const Page = async () => {
|
const Page = async () => {
|
||||||
const repos = await getRepos();
|
// don't fail the entire site build if the required config for this page is missing, just return a 404 since this page
|
||||||
|
// would be blank anyways
|
||||||
|
if (!env.GITHUB_TOKEN) {
|
||||||
|
console.warn("[/projects] I can't fetch anything from GitHub without 'GITHUB_TOKEN' set!");
|
||||||
|
notFound();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!config.authorSocial?.github) {
|
||||||
|
console.warn(
|
||||||
|
"[/projects] I can't fetch anything from GitHub without 'authorSocial.github' set in lib/config/index.ts."
|
||||||
|
);
|
||||||
|
notFound();
|
||||||
|
}
|
||||||
|
|
||||||
|
// fetch the repos and contributions in parallel
|
||||||
|
const [contributions, repos] = await Promise.all([getContributions(), getRepos()]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<PageTitle canonical="/projects">Projects</PageTitle>
|
<PageTitle canonical="/projects">Projects</PageTitle>
|
||||||
|
|
||||||
|
<h2 className={styles.heading}>
|
||||||
|
<Link href={`https://github.com/${config.authorSocial.github}`} style={{ color: "inherit" }} plain>
|
||||||
|
Contribution activity
|
||||||
|
</Link>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
<Suspense fallback={null}>
|
||||||
|
<Calendar data={contributions} style={{ marginBottom: "2em" }} />
|
||||||
|
</Suspense>
|
||||||
|
|
||||||
|
<h2 className={styles.heading}>
|
||||||
|
<Link
|
||||||
|
href={`https://github.com/${config.authorSocial.github}?tab=repositories&sort=stargazers`}
|
||||||
|
style={{ color: "inherit" }}
|
||||||
|
plain
|
||||||
|
>
|
||||||
|
Popular repositories
|
||||||
|
</Link>
|
||||||
|
</h2>
|
||||||
|
|
||||||
<div className={styles.grid}>
|
<div className={styles.grid}>
|
||||||
{repos?.map((repo) => (
|
{repos?.map((repo) => (
|
||||||
<div key={repo!.name} className={styles.card}>
|
<div key={repo!.name} className={styles.card}>
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
.hr {
|
.hr {
|
||||||
margin: 1.5em auto;
|
margin: 1.5em auto;
|
||||||
height: 0.175em;
|
max-width: calc(var(--max-width) - 1.5em);
|
||||||
|
height: 1px;
|
||||||
border: 0;
|
border: 0;
|
||||||
background-color: var(--colors-light);
|
background-color: var(--colors-light);
|
||||||
}
|
}
|
||||||
|
@ -31,6 +31,7 @@
|
|||||||
"@t3-oss/env-nextjs": "^0.12.0",
|
"@t3-oss/env-nextjs": "^0.12.0",
|
||||||
"@upstash/redis": "^1.34.8",
|
"@upstash/redis": "^1.34.8",
|
||||||
"@vercel/analytics": "^1.5.0",
|
"@vercel/analytics": "^1.5.0",
|
||||||
|
"cheerio": "^1.0.0",
|
||||||
"clsx": "^2.1.1",
|
"clsx": "^2.1.1",
|
||||||
"copy-to-clipboard": "^3.3.3",
|
"copy-to-clipboard": "^3.3.3",
|
||||||
"date-fns": "^4.1.0",
|
"date-fns": "^4.1.0",
|
||||||
@ -43,6 +44,7 @@
|
|||||||
"polished": "^4.3.1",
|
"polished": "^4.3.1",
|
||||||
"prop-types": "^15.8.1",
|
"prop-types": "^15.8.1",
|
||||||
"react": "19.1.0",
|
"react": "19.1.0",
|
||||||
|
"react-activity-calendar": "^2.7.10",
|
||||||
"react-countup": "^6.5.3",
|
"react-countup": "^6.5.3",
|
||||||
"react-dom": "19.1.0",
|
"react-dom": "19.1.0",
|
||||||
"react-innertext": "^1.1.5",
|
"react-innertext": "^1.1.5",
|
||||||
@ -51,6 +53,7 @@
|
|||||||
"react-schemaorg": "^2.0.0",
|
"react-schemaorg": "^2.0.0",
|
||||||
"react-textarea-autosize": "^8.5.9",
|
"react-textarea-autosize": "^8.5.9",
|
||||||
"react-timeago": "^8.2.0",
|
"react-timeago": "^8.2.0",
|
||||||
|
"react-tooltip": "^5.28.1",
|
||||||
"react-turnstile": "^1.1.4",
|
"react-turnstile": "^1.1.4",
|
||||||
"react-tweet": "^3.2.2",
|
"react-tweet": "^3.2.2",
|
||||||
"rehype-mdx-import-media": "^1.2.0",
|
"rehype-mdx-import-media": "^1.2.0",
|
||||||
@ -71,7 +74,7 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@eslint/eslintrc": "^3.3.1",
|
"@eslint/eslintrc": "^3.3.1",
|
||||||
"@eslint/js": "^9.24.0",
|
"@eslint/js": "^9.25.0",
|
||||||
"@jakejarvis/eslint-config": "^4.0.7",
|
"@jakejarvis/eslint-config": "^4.0.7",
|
||||||
"@types/mdx": "^2.0.13",
|
"@types/mdx": "^2.0.13",
|
||||||
"@types/node": "^22.14.1",
|
"@types/node": "^22.14.1",
|
||||||
@ -81,7 +84,7 @@
|
|||||||
"@types/react-is": "^19.0.0",
|
"@types/react-is": "^19.0.0",
|
||||||
"babel-plugin-react-compiler": "19.0.0-beta-ebf51a3-20250411",
|
"babel-plugin-react-compiler": "19.0.0-beta-ebf51a3-20250411",
|
||||||
"cross-env": "^7.0.3",
|
"cross-env": "^7.0.3",
|
||||||
"eslint": "^9.24.0",
|
"eslint": "^9.25.0",
|
||||||
"eslint-config-next": "15.3.1-canary.13",
|
"eslint-config-next": "15.3.1-canary.13",
|
||||||
"eslint-config-prettier": "^10.1.2",
|
"eslint-config-prettier": "^10.1.2",
|
||||||
"eslint-plugin-css-modules": "^2.12.0",
|
"eslint-plugin-css-modules": "^2.12.0",
|
||||||
|
352
pnpm-lock.yaml
generated
352
pnpm-lock.yaml
generated
@ -47,6 +47,9 @@ importers:
|
|||||||
'@vercel/analytics':
|
'@vercel/analytics':
|
||||||
specifier: ^1.5.0
|
specifier: ^1.5.0
|
||||||
version: 1.5.0(next@15.3.1-canary.13(@babel/core@7.26.10)(babel-plugin-react-compiler@19.0.0-beta-ebf51a3-20250411)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)
|
version: 1.5.0(next@15.3.1-canary.13(@babel/core@7.26.10)(babel-plugin-react-compiler@19.0.0-beta-ebf51a3-20250411)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)
|
||||||
|
cheerio:
|
||||||
|
specifier: ^1.0.0
|
||||||
|
version: 1.0.0
|
||||||
clsx:
|
clsx:
|
||||||
specifier: ^2.1.1
|
specifier: ^2.1.1
|
||||||
version: 2.1.1
|
version: 2.1.1
|
||||||
@ -83,6 +86,9 @@ importers:
|
|||||||
react:
|
react:
|
||||||
specifier: 19.1.0
|
specifier: 19.1.0
|
||||||
version: 19.1.0
|
version: 19.1.0
|
||||||
|
react-activity-calendar:
|
||||||
|
specifier: ^2.7.10
|
||||||
|
version: 2.7.10(react@19.1.0)
|
||||||
react-countup:
|
react-countup:
|
||||||
specifier: ^6.5.3
|
specifier: ^6.5.3
|
||||||
version: 6.5.3(react@19.1.0)
|
version: 6.5.3(react@19.1.0)
|
||||||
@ -107,6 +113,9 @@ importers:
|
|||||||
react-timeago:
|
react-timeago:
|
||||||
specifier: ^8.2.0
|
specifier: ^8.2.0
|
||||||
version: 8.2.0(react@19.1.0)
|
version: 8.2.0(react@19.1.0)
|
||||||
|
react-tooltip:
|
||||||
|
specifier: ^5.28.1
|
||||||
|
version: 5.28.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||||
react-turnstile:
|
react-turnstile:
|
||||||
specifier: ^1.1.4
|
specifier: ^1.1.4
|
||||||
version: 1.1.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
version: 1.1.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||||
@ -163,11 +172,11 @@ importers:
|
|||||||
specifier: ^3.3.1
|
specifier: ^3.3.1
|
||||||
version: 3.3.1
|
version: 3.3.1
|
||||||
'@eslint/js':
|
'@eslint/js':
|
||||||
specifier: ^9.24.0
|
specifier: ^9.25.0
|
||||||
version: 9.24.0
|
version: 9.25.0
|
||||||
'@jakejarvis/eslint-config':
|
'@jakejarvis/eslint-config':
|
||||||
specifier: ^4.0.7
|
specifier: ^4.0.7
|
||||||
version: 4.0.7(eslint@9.24.0)
|
version: 4.0.7(eslint@9.25.0)
|
||||||
'@types/mdx':
|
'@types/mdx':
|
||||||
specifier: ^2.0.13
|
specifier: ^2.0.13
|
||||||
version: 2.0.13
|
version: 2.0.13
|
||||||
@ -193,38 +202,38 @@ importers:
|
|||||||
specifier: ^7.0.3
|
specifier: ^7.0.3
|
||||||
version: 7.0.3
|
version: 7.0.3
|
||||||
eslint:
|
eslint:
|
||||||
specifier: ^9.24.0
|
specifier: ^9.25.0
|
||||||
version: 9.24.0
|
version: 9.25.0
|
||||||
eslint-config-next:
|
eslint-config-next:
|
||||||
specifier: 15.3.1-canary.13
|
specifier: 15.3.1-canary.13
|
||||||
version: 15.3.1-canary.13(eslint@9.24.0)(typescript@5.8.3)
|
version: 15.3.1-canary.13(eslint@9.25.0)(typescript@5.8.3)
|
||||||
eslint-config-prettier:
|
eslint-config-prettier:
|
||||||
specifier: ^10.1.2
|
specifier: ^10.1.2
|
||||||
version: 10.1.2(eslint@9.24.0)
|
version: 10.1.2(eslint@9.25.0)
|
||||||
eslint-plugin-css-modules:
|
eslint-plugin-css-modules:
|
||||||
specifier: ^2.12.0
|
specifier: ^2.12.0
|
||||||
version: 2.12.0(eslint@9.24.0)
|
version: 2.12.0(eslint@9.25.0)
|
||||||
eslint-plugin-import:
|
eslint-plugin-import:
|
||||||
specifier: ^2.31.0
|
specifier: ^2.31.0
|
||||||
version: 2.31.0(@typescript-eslint/parser@8.30.1(eslint@9.24.0)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0)(eslint@9.24.0)
|
version: 2.31.0(@typescript-eslint/parser@8.30.1(eslint@9.25.0)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0)(eslint@9.25.0)
|
||||||
eslint-plugin-jsx-a11y:
|
eslint-plugin-jsx-a11y:
|
||||||
specifier: ^6.10.2
|
specifier: ^6.10.2
|
||||||
version: 6.10.2(eslint@9.24.0)
|
version: 6.10.2(eslint@9.25.0)
|
||||||
eslint-plugin-mdx:
|
eslint-plugin-mdx:
|
||||||
specifier: ^3.4.0
|
specifier: ^3.4.0
|
||||||
version: 3.4.0(eslint@9.24.0)
|
version: 3.4.0(eslint@9.25.0)
|
||||||
eslint-plugin-prettier:
|
eslint-plugin-prettier:
|
||||||
specifier: ^5.2.6
|
specifier: ^5.2.6
|
||||||
version: 5.2.6(eslint-config-prettier@10.1.2(eslint@9.24.0))(eslint@9.24.0)(prettier@3.5.3)
|
version: 5.2.6(eslint-config-prettier@10.1.2(eslint@9.25.0))(eslint@9.25.0)(prettier@3.5.3)
|
||||||
eslint-plugin-react:
|
eslint-plugin-react:
|
||||||
specifier: ^7.37.5
|
specifier: ^7.37.5
|
||||||
version: 7.37.5(eslint@9.24.0)
|
version: 7.37.5(eslint@9.25.0)
|
||||||
eslint-plugin-react-compiler:
|
eslint-plugin-react-compiler:
|
||||||
specifier: 19.0.0-beta-ebf51a3-20250411
|
specifier: 19.0.0-beta-ebf51a3-20250411
|
||||||
version: 19.0.0-beta-ebf51a3-20250411(eslint@9.24.0)
|
version: 19.0.0-beta-ebf51a3-20250411(eslint@9.25.0)
|
||||||
eslint-plugin-react-hooks:
|
eslint-plugin-react-hooks:
|
||||||
specifier: ^5.2.0
|
specifier: ^5.2.0
|
||||||
version: 5.2.0(eslint@9.24.0)
|
version: 5.2.0(eslint@9.25.0)
|
||||||
husky:
|
husky:
|
||||||
specifier: ^9.1.7
|
specifier: ^9.1.7
|
||||||
version: 9.1.7
|
version: 9.1.7
|
||||||
@ -435,10 +444,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-RI17tsD2frtDu/3dmI7QRrD4bedNKPM08ziRYaC5AhkGrzIAJelm9kJU1TznK+apx6V+cqRz8tfpEeG3oIyjxw==}
|
resolution: {integrity: sha512-RI17tsD2frtDu/3dmI7QRrD4bedNKPM08ziRYaC5AhkGrzIAJelm9kJU1TznK+apx6V+cqRz8tfpEeG3oIyjxw==}
|
||||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||||
|
|
||||||
'@eslint/core@0.12.0':
|
|
||||||
resolution: {integrity: sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==}
|
|
||||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
|
||||||
|
|
||||||
'@eslint/core@0.13.0':
|
'@eslint/core@0.13.0':
|
||||||
resolution: {integrity: sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==}
|
resolution: {integrity: sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==}
|
||||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||||
@ -447,8 +452,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==}
|
resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==}
|
||||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||||
|
|
||||||
'@eslint/js@9.24.0':
|
'@eslint/js@9.25.0':
|
||||||
resolution: {integrity: sha512-uIY/y3z0uvOGX8cp1C2fiC4+ZmBhp6yZWkojtHL1YEMnRt1Y63HB9TM17proGEmeG7HeUY+UP36F0aknKYTpYA==}
|
resolution: {integrity: sha512-iWhsUS8Wgxz9AXNfvfOPFSW4VfMXdVhp1hjkZVhXCrpgh/aLcc45rX6MPu+tIVUWDw0HfNwth7O28M1xDxNf9w==}
|
||||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||||
|
|
||||||
'@eslint/object-schema@2.1.6':
|
'@eslint/object-schema@2.1.6':
|
||||||
@ -459,6 +464,15 @@ packages:
|
|||||||
resolution: {integrity: sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==}
|
resolution: {integrity: sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==}
|
||||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||||
|
|
||||||
|
'@floating-ui/core@1.6.9':
|
||||||
|
resolution: {integrity: sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==}
|
||||||
|
|
||||||
|
'@floating-ui/dom@1.6.13':
|
||||||
|
resolution: {integrity: sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==}
|
||||||
|
|
||||||
|
'@floating-ui/utils@0.2.9':
|
||||||
|
resolution: {integrity: sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==}
|
||||||
|
|
||||||
'@giscus/react@3.1.0':
|
'@giscus/react@3.1.0':
|
||||||
resolution: {integrity: sha512-0TCO2TvL43+oOdyVVGHDItwxD1UMKP2ZYpT6gXmhFOqfAJtZxTzJ9hkn34iAF/b6YzyJ4Um89QIt9z/ajmAEeg==}
|
resolution: {integrity: sha512-0TCO2TvL43+oOdyVVGHDItwxD1UMKP2ZYpT6gXmhFOqfAJtZxTzJ9hkn34iAF/b6YzyJ4Um89QIt9z/ajmAEeg==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@ -1228,6 +1242,9 @@ packages:
|
|||||||
base64-js@1.5.1:
|
base64-js@1.5.1:
|
||||||
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
|
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
|
||||||
|
|
||||||
|
boolbase@1.0.0:
|
||||||
|
resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
|
||||||
|
|
||||||
brace-expansion@1.1.11:
|
brace-expansion@1.1.11:
|
||||||
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
|
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
|
||||||
|
|
||||||
@ -1298,10 +1315,20 @@ packages:
|
|||||||
character-reference-invalid@2.0.1:
|
character-reference-invalid@2.0.1:
|
||||||
resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==}
|
resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==}
|
||||||
|
|
||||||
|
cheerio-select@2.1.0:
|
||||||
|
resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==}
|
||||||
|
|
||||||
|
cheerio@1.0.0:
|
||||||
|
resolution: {integrity: sha512-quS9HgjQpdaXOvsZz82Oz7uxtXiy6UIsIQcpBj7HRw2M63Skasm9qlDocAM7jNuaxdhpPU7c4kJN+gA5MCu4ww==}
|
||||||
|
engines: {node: '>=18.17'}
|
||||||
|
|
||||||
ci-info@4.2.0:
|
ci-info@4.2.0:
|
||||||
resolution: {integrity: sha512-cYY9mypksY8NRqgDB1XD1RiJL338v/551niynFTGkZOO2LHuB2OmOYxDIe/ttN9AHwrqdum1360G3ald0W9kCg==}
|
resolution: {integrity: sha512-cYY9mypksY8NRqgDB1XD1RiJL338v/551niynFTGkZOO2LHuB2OmOYxDIe/ttN9AHwrqdum1360G3ald0W9kCg==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
|
|
||||||
|
classnames@2.5.1:
|
||||||
|
resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==}
|
||||||
|
|
||||||
cli-cursor@5.0.0:
|
cli-cursor@5.0.0:
|
||||||
resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==}
|
resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
@ -1392,10 +1419,17 @@ packages:
|
|||||||
resolution: {integrity: sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA==}
|
resolution: {integrity: sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA==}
|
||||||
engines: {node: '>=12 || >=16'}
|
engines: {node: '>=12 || >=16'}
|
||||||
|
|
||||||
|
css-select@5.1.0:
|
||||||
|
resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==}
|
||||||
|
|
||||||
css-tree@3.1.0:
|
css-tree@3.1.0:
|
||||||
resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==}
|
resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==}
|
||||||
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
|
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
|
||||||
|
|
||||||
|
css-what@6.1.0:
|
||||||
|
resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
|
||||||
|
engines: {node: '>= 6'}
|
||||||
|
|
||||||
cssesc@3.0.0:
|
cssesc@3.0.0:
|
||||||
resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
|
resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
|
||||||
engines: {node: '>=4'}
|
engines: {node: '>=4'}
|
||||||
@ -1521,6 +1555,9 @@ packages:
|
|||||||
emoji-regex@9.2.2:
|
emoji-regex@9.2.2:
|
||||||
resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
|
resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
|
||||||
|
|
||||||
|
encoding-sniffer@0.2.0:
|
||||||
|
resolution: {integrity: sha512-ju7Wq1kg04I3HtiYIOrUrdfdDvkyO9s5XM8QAj/bN61Yo/Vb4vgJxy5vi4Yxk01gWHbrofpPtpxM8bKger9jhg==}
|
||||||
|
|
||||||
entities@4.5.0:
|
entities@4.5.0:
|
||||||
resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
|
resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
|
||||||
engines: {node: '>=0.12'}
|
engines: {node: '>=0.12'}
|
||||||
@ -1723,8 +1760,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==}
|
resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==}
|
||||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||||
|
|
||||||
eslint@9.24.0:
|
eslint@9.25.0:
|
||||||
resolution: {integrity: sha512-eh/jxIEJyZrvbWRe4XuVclLPDYSYYYgLy5zXGGxD6j8zjSAxFEzI2fL/8xNq6O2yKqVt+eF2YhV+hxjV6UKXwQ==}
|
resolution: {integrity: sha512-MsBdObhM4cEwkzCiraDv7A6txFXEqtNXOb877TsSp2FCkBNl8JfVQrmiuDqC1IkejT6JLPzYBXx/xAiYhyzgGA==}
|
||||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@ -2090,6 +2127,9 @@ packages:
|
|||||||
htmlparser2@8.0.2:
|
htmlparser2@8.0.2:
|
||||||
resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==}
|
resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==}
|
||||||
|
|
||||||
|
htmlparser2@9.1.0:
|
||||||
|
resolution: {integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==}
|
||||||
|
|
||||||
human-signals@5.0.0:
|
human-signals@5.0.0:
|
||||||
resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
|
resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
|
||||||
engines: {node: '>=16.17.0'}
|
engines: {node: '>=16.17.0'}
|
||||||
@ -2099,6 +2139,10 @@ packages:
|
|||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
|
iconv-lite@0.6.3:
|
||||||
|
resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
|
||||||
ieee754@1.2.1:
|
ieee754@1.2.1:
|
||||||
resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
|
resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
|
||||||
|
|
||||||
@ -2740,6 +2784,9 @@ packages:
|
|||||||
resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
|
resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
|
||||||
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||||
|
|
||||||
|
nth-check@2.1.1:
|
||||||
|
resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
|
||||||
|
|
||||||
object-assign@4.1.1:
|
object-assign@4.1.1:
|
||||||
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
|
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
@ -2833,6 +2880,12 @@ packages:
|
|||||||
parse-srcset@1.0.2:
|
parse-srcset@1.0.2:
|
||||||
resolution: {integrity: sha512-/2qh0lav6CmI15FzA3i/2Bzk2zCgQhGMkvhOhKNcBVQ1ldgpbfiNTVslmooUmWJcADi1f1kIeynbDRVzNlfR6Q==}
|
resolution: {integrity: sha512-/2qh0lav6CmI15FzA3i/2Bzk2zCgQhGMkvhOhKNcBVQ1ldgpbfiNTVslmooUmWJcADi1f1kIeynbDRVzNlfR6Q==}
|
||||||
|
|
||||||
|
parse5-htmlparser2-tree-adapter@7.1.0:
|
||||||
|
resolution: {integrity: sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==}
|
||||||
|
|
||||||
|
parse5-parser-stream@7.1.2:
|
||||||
|
resolution: {integrity: sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==}
|
||||||
|
|
||||||
parse5@7.2.1:
|
parse5@7.2.1:
|
||||||
resolution: {integrity: sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==}
|
resolution: {integrity: sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==}
|
||||||
|
|
||||||
@ -2958,6 +3011,11 @@ packages:
|
|||||||
queue-microtask@1.2.3:
|
queue-microtask@1.2.3:
|
||||||
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
|
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
|
||||||
|
|
||||||
|
react-activity-calendar@2.7.10:
|
||||||
|
resolution: {integrity: sha512-O6ev2JxbsbmF7hPpRCkiXxQ+vGwXS5iUVwOCqtvlJnGhpyJ3ZJap7/qfIZA0WZcDj4gpQh2Dcvkmwh3yBXRrPQ==}
|
||||||
|
peerDependencies:
|
||||||
|
react: ^18.0.0 || ^19.0.0
|
||||||
|
|
||||||
react-countup@6.5.3:
|
react-countup@6.5.3:
|
||||||
resolution: {integrity: sha512-udnqVQitxC7QWADSPDOxVWULkLvKUWrDapn5i53HE4DPRVgs+Y5rr4bo25qEl8jSh+0l2cToJgGMx+clxPM3+w==}
|
resolution: {integrity: sha512-udnqVQitxC7QWADSPDOxVWULkLvKUWrDapn5i53HE4DPRVgs+Y5rr4bo25qEl8jSh+0l2cToJgGMx+clxPM3+w==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@ -3008,6 +3066,12 @@ packages:
|
|||||||
peerDependencies:
|
peerDependencies:
|
||||||
react: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
|
react: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
|
||||||
|
|
||||||
|
react-tooltip@5.28.1:
|
||||||
|
resolution: {integrity: sha512-ZA4oHwoIIK09TS7PvSLFcRlje1wGZaxw6xHvfrzn6T82UcMEfEmHVCad16Gnr4NDNDh93HyN037VK4HDi5odfQ==}
|
||||||
|
peerDependencies:
|
||||||
|
react: '>=16.14.0'
|
||||||
|
react-dom: '>=16.14.0'
|
||||||
|
|
||||||
react-turnstile@1.1.4:
|
react-turnstile@1.1.4:
|
||||||
resolution: {integrity: sha512-oluyRWADdsufCt5eMqacW4gfw8/csr6Tk+fmuaMx0PWMKP1SX1iCviLvD2D5w92eAzIYDHi/krUWGHhlfzxTpQ==}
|
resolution: {integrity: sha512-oluyRWADdsufCt5eMqacW4gfw8/csr6Tk+fmuaMx0PWMKP1SX1iCviLvD2D5w92eAzIYDHi/krUWGHhlfzxTpQ==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@ -3190,6 +3254,9 @@ packages:
|
|||||||
resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==}
|
resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==}
|
||||||
engines: {node: '>= 0.4'}
|
engines: {node: '>= 0.4'}
|
||||||
|
|
||||||
|
safer-buffer@2.1.2:
|
||||||
|
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
|
||||||
|
|
||||||
sax@1.4.1:
|
sax@1.4.1:
|
||||||
resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==}
|
resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==}
|
||||||
|
|
||||||
@ -3541,6 +3608,10 @@ packages:
|
|||||||
undici-types@6.21.0:
|
undici-types@6.21.0:
|
||||||
resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
|
resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
|
||||||
|
|
||||||
|
undici@6.21.2:
|
||||||
|
resolution: {integrity: sha512-uROZWze0R0itiAKVPsYhFov9LxrPMHLMEQFszeI2gCN6bnIIZ8twzBCJcN2LJrBBLfrP0t1FW0g+JmKVl8Vk1g==}
|
||||||
|
engines: {node: '>=18.17'}
|
||||||
|
|
||||||
unified-engine@11.2.2:
|
unified-engine@11.2.2:
|
||||||
resolution: {integrity: sha512-15g/gWE7qQl9tQ3nAEbMd5h9HV1EACtFs6N9xaRBZICoCwnNGbal1kOs++ICf4aiTdItZxU2s/kYWhW7htlqJg==}
|
resolution: {integrity: sha512-15g/gWE7qQl9tQ3nAEbMd5h9HV1EACtFs6N9xaRBZICoCwnNGbal1kOs++ICf4aiTdItZxU2s/kYWhW7htlqJg==}
|
||||||
|
|
||||||
@ -3676,6 +3747,14 @@ packages:
|
|||||||
engines: {node: '>= 10.13.0'}
|
engines: {node: '>= 10.13.0'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
|
whatwg-encoding@3.1.1:
|
||||||
|
resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
|
||||||
|
whatwg-mimetype@4.0.0:
|
||||||
|
resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
|
||||||
which-boxed-primitive@1.1.1:
|
which-boxed-primitive@1.1.1:
|
||||||
resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==}
|
resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==}
|
||||||
engines: {node: '>= 0.4'}
|
engines: {node: '>= 0.4'}
|
||||||
@ -3970,9 +4049,9 @@ snapshots:
|
|||||||
|
|
||||||
'@emotion/hash@0.9.2': {}
|
'@emotion/hash@0.9.2': {}
|
||||||
|
|
||||||
'@eslint-community/eslint-utils@4.6.1(eslint@9.24.0)':
|
'@eslint-community/eslint-utils@4.6.1(eslint@9.25.0)':
|
||||||
dependencies:
|
dependencies:
|
||||||
eslint: 9.24.0
|
eslint: 9.25.0
|
||||||
eslint-visitor-keys: 3.4.3
|
eslint-visitor-keys: 3.4.3
|
||||||
|
|
||||||
'@eslint-community/regexpp@4.12.1': {}
|
'@eslint-community/regexpp@4.12.1': {}
|
||||||
@ -3987,10 +4066,6 @@ snapshots:
|
|||||||
|
|
||||||
'@eslint/config-helpers@0.2.1': {}
|
'@eslint/config-helpers@0.2.1': {}
|
||||||
|
|
||||||
'@eslint/core@0.12.0':
|
|
||||||
dependencies:
|
|
||||||
'@types/json-schema': 7.0.15
|
|
||||||
|
|
||||||
'@eslint/core@0.13.0':
|
'@eslint/core@0.13.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/json-schema': 7.0.15
|
'@types/json-schema': 7.0.15
|
||||||
@ -4009,7 +4084,7 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@eslint/js@9.24.0': {}
|
'@eslint/js@9.25.0': {}
|
||||||
|
|
||||||
'@eslint/object-schema@2.1.6': {}
|
'@eslint/object-schema@2.1.6': {}
|
||||||
|
|
||||||
@ -4018,6 +4093,17 @@ snapshots:
|
|||||||
'@eslint/core': 0.13.0
|
'@eslint/core': 0.13.0
|
||||||
levn: 0.4.1
|
levn: 0.4.1
|
||||||
|
|
||||||
|
'@floating-ui/core@1.6.9':
|
||||||
|
dependencies:
|
||||||
|
'@floating-ui/utils': 0.2.9
|
||||||
|
|
||||||
|
'@floating-ui/dom@1.6.13':
|
||||||
|
dependencies:
|
||||||
|
'@floating-ui/core': 1.6.9
|
||||||
|
'@floating-ui/utils': 0.2.9
|
||||||
|
|
||||||
|
'@floating-ui/utils@0.2.9': {}
|
||||||
|
|
||||||
'@giscus/react@3.1.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
|
'@giscus/react@3.1.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
|
||||||
dependencies:
|
dependencies:
|
||||||
giscus: 1.6.0
|
giscus: 1.6.0
|
||||||
@ -4124,9 +4210,9 @@ snapshots:
|
|||||||
wrap-ansi: 8.1.0
|
wrap-ansi: 8.1.0
|
||||||
wrap-ansi-cjs: wrap-ansi@7.0.0
|
wrap-ansi-cjs: wrap-ansi@7.0.0
|
||||||
|
|
||||||
'@jakejarvis/eslint-config@4.0.7(eslint@9.24.0)':
|
'@jakejarvis/eslint-config@4.0.7(eslint@9.25.0)':
|
||||||
dependencies:
|
dependencies:
|
||||||
eslint: 9.24.0
|
eslint: 9.25.0
|
||||||
|
|
||||||
'@jridgewell/gen-mapping@0.3.8':
|
'@jridgewell/gen-mapping@0.3.8':
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -4498,15 +4584,15 @@ snapshots:
|
|||||||
|
|
||||||
'@types/unist@3.0.3': {}
|
'@types/unist@3.0.3': {}
|
||||||
|
|
||||||
'@typescript-eslint/eslint-plugin@8.30.1(@typescript-eslint/parser@8.30.1(eslint@9.24.0)(typescript@5.8.3))(eslint@9.24.0)(typescript@5.8.3)':
|
'@typescript-eslint/eslint-plugin@8.30.1(@typescript-eslint/parser@8.30.1(eslint@9.25.0)(typescript@5.8.3))(eslint@9.25.0)(typescript@5.8.3)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@eslint-community/regexpp': 4.12.1
|
'@eslint-community/regexpp': 4.12.1
|
||||||
'@typescript-eslint/parser': 8.30.1(eslint@9.24.0)(typescript@5.8.3)
|
'@typescript-eslint/parser': 8.30.1(eslint@9.25.0)(typescript@5.8.3)
|
||||||
'@typescript-eslint/scope-manager': 8.30.1
|
'@typescript-eslint/scope-manager': 8.30.1
|
||||||
'@typescript-eslint/type-utils': 8.30.1(eslint@9.24.0)(typescript@5.8.3)
|
'@typescript-eslint/type-utils': 8.30.1(eslint@9.25.0)(typescript@5.8.3)
|
||||||
'@typescript-eslint/utils': 8.30.1(eslint@9.24.0)(typescript@5.8.3)
|
'@typescript-eslint/utils': 8.30.1(eslint@9.25.0)(typescript@5.8.3)
|
||||||
'@typescript-eslint/visitor-keys': 8.30.1
|
'@typescript-eslint/visitor-keys': 8.30.1
|
||||||
eslint: 9.24.0
|
eslint: 9.25.0
|
||||||
graphemer: 1.4.0
|
graphemer: 1.4.0
|
||||||
ignore: 5.3.2
|
ignore: 5.3.2
|
||||||
natural-compare: 1.4.0
|
natural-compare: 1.4.0
|
||||||
@ -4515,14 +4601,14 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@typescript-eslint/parser@8.30.1(eslint@9.24.0)(typescript@5.8.3)':
|
'@typescript-eslint/parser@8.30.1(eslint@9.25.0)(typescript@5.8.3)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/scope-manager': 8.30.1
|
'@typescript-eslint/scope-manager': 8.30.1
|
||||||
'@typescript-eslint/types': 8.30.1
|
'@typescript-eslint/types': 8.30.1
|
||||||
'@typescript-eslint/typescript-estree': 8.30.1(typescript@5.8.3)
|
'@typescript-eslint/typescript-estree': 8.30.1(typescript@5.8.3)
|
||||||
'@typescript-eslint/visitor-keys': 8.30.1
|
'@typescript-eslint/visitor-keys': 8.30.1
|
||||||
debug: 4.4.0
|
debug: 4.4.0
|
||||||
eslint: 9.24.0
|
eslint: 9.25.0
|
||||||
typescript: 5.8.3
|
typescript: 5.8.3
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
@ -4532,12 +4618,12 @@ snapshots:
|
|||||||
'@typescript-eslint/types': 8.30.1
|
'@typescript-eslint/types': 8.30.1
|
||||||
'@typescript-eslint/visitor-keys': 8.30.1
|
'@typescript-eslint/visitor-keys': 8.30.1
|
||||||
|
|
||||||
'@typescript-eslint/type-utils@8.30.1(eslint@9.24.0)(typescript@5.8.3)':
|
'@typescript-eslint/type-utils@8.30.1(eslint@9.25.0)(typescript@5.8.3)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/typescript-estree': 8.30.1(typescript@5.8.3)
|
'@typescript-eslint/typescript-estree': 8.30.1(typescript@5.8.3)
|
||||||
'@typescript-eslint/utils': 8.30.1(eslint@9.24.0)(typescript@5.8.3)
|
'@typescript-eslint/utils': 8.30.1(eslint@9.25.0)(typescript@5.8.3)
|
||||||
debug: 4.4.0
|
debug: 4.4.0
|
||||||
eslint: 9.24.0
|
eslint: 9.25.0
|
||||||
ts-api-utils: 2.1.0(typescript@5.8.3)
|
ts-api-utils: 2.1.0(typescript@5.8.3)
|
||||||
typescript: 5.8.3
|
typescript: 5.8.3
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
@ -4559,13 +4645,13 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@typescript-eslint/utils@8.30.1(eslint@9.24.0)(typescript@5.8.3)':
|
'@typescript-eslint/utils@8.30.1(eslint@9.25.0)(typescript@5.8.3)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@eslint-community/eslint-utils': 4.6.1(eslint@9.24.0)
|
'@eslint-community/eslint-utils': 4.6.1(eslint@9.25.0)
|
||||||
'@typescript-eslint/scope-manager': 8.30.1
|
'@typescript-eslint/scope-manager': 8.30.1
|
||||||
'@typescript-eslint/types': 8.30.1
|
'@typescript-eslint/types': 8.30.1
|
||||||
'@typescript-eslint/typescript-estree': 8.30.1(typescript@5.8.3)
|
'@typescript-eslint/typescript-estree': 8.30.1(typescript@5.8.3)
|
||||||
eslint: 9.24.0
|
eslint: 9.25.0
|
||||||
typescript: 5.8.3
|
typescript: 5.8.3
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
@ -4777,6 +4863,8 @@ snapshots:
|
|||||||
|
|
||||||
base64-js@1.5.1: {}
|
base64-js@1.5.1: {}
|
||||||
|
|
||||||
|
boolbase@1.0.0: {}
|
||||||
|
|
||||||
brace-expansion@1.1.11:
|
brace-expansion@1.1.11:
|
||||||
dependencies:
|
dependencies:
|
||||||
balanced-match: 1.0.2
|
balanced-match: 1.0.2
|
||||||
@ -4851,8 +4939,33 @@ snapshots:
|
|||||||
|
|
||||||
character-reference-invalid@2.0.1: {}
|
character-reference-invalid@2.0.1: {}
|
||||||
|
|
||||||
|
cheerio-select@2.1.0:
|
||||||
|
dependencies:
|
||||||
|
boolbase: 1.0.0
|
||||||
|
css-select: 5.1.0
|
||||||
|
css-what: 6.1.0
|
||||||
|
domelementtype: 2.3.0
|
||||||
|
domhandler: 5.0.3
|
||||||
|
domutils: 3.2.2
|
||||||
|
|
||||||
|
cheerio@1.0.0:
|
||||||
|
dependencies:
|
||||||
|
cheerio-select: 2.1.0
|
||||||
|
dom-serializer: 2.0.0
|
||||||
|
domhandler: 5.0.3
|
||||||
|
domutils: 3.2.2
|
||||||
|
encoding-sniffer: 0.2.0
|
||||||
|
htmlparser2: 9.1.0
|
||||||
|
parse5: 7.2.1
|
||||||
|
parse5-htmlparser2-tree-adapter: 7.1.0
|
||||||
|
parse5-parser-stream: 7.1.2
|
||||||
|
undici: 6.21.2
|
||||||
|
whatwg-mimetype: 4.0.0
|
||||||
|
|
||||||
ci-info@4.2.0: {}
|
ci-info@4.2.0: {}
|
||||||
|
|
||||||
|
classnames@2.5.1: {}
|
||||||
|
|
||||||
cli-cursor@5.0.0:
|
cli-cursor@5.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
restore-cursor: 5.1.0
|
restore-cursor: 5.1.0
|
||||||
@ -4936,11 +5049,21 @@ snapshots:
|
|||||||
|
|
||||||
css-functions-list@3.2.3: {}
|
css-functions-list@3.2.3: {}
|
||||||
|
|
||||||
|
css-select@5.1.0:
|
||||||
|
dependencies:
|
||||||
|
boolbase: 1.0.0
|
||||||
|
css-what: 6.1.0
|
||||||
|
domhandler: 5.0.3
|
||||||
|
domutils: 3.2.2
|
||||||
|
nth-check: 2.1.1
|
||||||
|
|
||||||
css-tree@3.1.0:
|
css-tree@3.1.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
mdn-data: 2.12.2
|
mdn-data: 2.12.2
|
||||||
source-map-js: 1.2.1
|
source-map-js: 1.2.1
|
||||||
|
|
||||||
|
css-what@6.1.0: {}
|
||||||
|
|
||||||
cssesc@3.0.0: {}
|
cssesc@3.0.0: {}
|
||||||
|
|
||||||
csstype@3.1.3: {}
|
csstype@3.1.3: {}
|
||||||
@ -5054,6 +5177,11 @@ snapshots:
|
|||||||
|
|
||||||
emoji-regex@9.2.2: {}
|
emoji-regex@9.2.2: {}
|
||||||
|
|
||||||
|
encoding-sniffer@0.2.0:
|
||||||
|
dependencies:
|
||||||
|
iconv-lite: 0.6.3
|
||||||
|
whatwg-encoding: 3.1.1
|
||||||
|
|
||||||
entities@4.5.0: {}
|
entities@4.5.0: {}
|
||||||
|
|
||||||
env-paths@2.2.1: {}
|
env-paths@2.2.1: {}
|
||||||
@ -5184,19 +5312,19 @@ snapshots:
|
|||||||
|
|
||||||
escape-string-regexp@5.0.0: {}
|
escape-string-regexp@5.0.0: {}
|
||||||
|
|
||||||
eslint-config-next@15.3.1-canary.13(eslint@9.24.0)(typescript@5.8.3):
|
eslint-config-next@15.3.1-canary.13(eslint@9.25.0)(typescript@5.8.3):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@next/eslint-plugin-next': 15.3.1-canary.13
|
'@next/eslint-plugin-next': 15.3.1-canary.13
|
||||||
'@rushstack/eslint-patch': 1.11.0
|
'@rushstack/eslint-patch': 1.11.0
|
||||||
'@typescript-eslint/eslint-plugin': 8.30.1(@typescript-eslint/parser@8.30.1(eslint@9.24.0)(typescript@5.8.3))(eslint@9.24.0)(typescript@5.8.3)
|
'@typescript-eslint/eslint-plugin': 8.30.1(@typescript-eslint/parser@8.30.1(eslint@9.25.0)(typescript@5.8.3))(eslint@9.25.0)(typescript@5.8.3)
|
||||||
'@typescript-eslint/parser': 8.30.1(eslint@9.24.0)(typescript@5.8.3)
|
'@typescript-eslint/parser': 8.30.1(eslint@9.25.0)(typescript@5.8.3)
|
||||||
eslint: 9.24.0
|
eslint: 9.25.0
|
||||||
eslint-import-resolver-node: 0.3.9
|
eslint-import-resolver-node: 0.3.9
|
||||||
eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0)(eslint@9.24.0)
|
eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0)(eslint@9.25.0)
|
||||||
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.30.1(eslint@9.24.0)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0)(eslint@9.24.0)
|
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.30.1(eslint@9.25.0)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0)(eslint@9.25.0)
|
||||||
eslint-plugin-jsx-a11y: 6.10.2(eslint@9.24.0)
|
eslint-plugin-jsx-a11y: 6.10.2(eslint@9.25.0)
|
||||||
eslint-plugin-react: 7.37.5(eslint@9.24.0)
|
eslint-plugin-react: 7.37.5(eslint@9.25.0)
|
||||||
eslint-plugin-react-hooks: 5.2.0(eslint@9.24.0)
|
eslint-plugin-react-hooks: 5.2.0(eslint@9.25.0)
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
typescript: 5.8.3
|
typescript: 5.8.3
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
@ -5204,9 +5332,9 @@ snapshots:
|
|||||||
- eslint-plugin-import-x
|
- eslint-plugin-import-x
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
eslint-config-prettier@10.1.2(eslint@9.24.0):
|
eslint-config-prettier@10.1.2(eslint@9.25.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
eslint: 9.24.0
|
eslint: 9.25.0
|
||||||
|
|
||||||
eslint-import-resolver-node@0.3.9:
|
eslint-import-resolver-node@0.3.9:
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -5216,26 +5344,26 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0)(eslint@9.24.0):
|
eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0)(eslint@9.25.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@nolyfill/is-core-module': 1.0.39
|
'@nolyfill/is-core-module': 1.0.39
|
||||||
debug: 4.4.0
|
debug: 4.4.0
|
||||||
eslint: 9.24.0
|
eslint: 9.25.0
|
||||||
get-tsconfig: 4.10.0
|
get-tsconfig: 4.10.0
|
||||||
is-bun-module: 2.0.0
|
is-bun-module: 2.0.0
|
||||||
stable-hash: 0.0.5
|
stable-hash: 0.0.5
|
||||||
tinyglobby: 0.2.12
|
tinyglobby: 0.2.12
|
||||||
unrs-resolver: 1.5.0
|
unrs-resolver: 1.5.0
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.30.1(eslint@9.24.0)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0)(eslint@9.24.0)
|
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.30.1(eslint@9.25.0)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0)(eslint@9.25.0)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
eslint-mdx@3.4.0(eslint@9.24.0):
|
eslint-mdx@3.4.0(eslint@9.25.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
acorn: 8.14.1
|
acorn: 8.14.1
|
||||||
acorn-jsx: 5.3.2(acorn@8.14.1)
|
acorn-jsx: 5.3.2(acorn@8.14.1)
|
||||||
eslint: 9.24.0
|
eslint: 9.25.0
|
||||||
espree: 10.3.0
|
espree: 10.3.0
|
||||||
estree-util-visit: 2.0.0
|
estree-util-visit: 2.0.0
|
||||||
remark-mdx: 3.1.0
|
remark-mdx: 3.1.0
|
||||||
@ -5252,24 +5380,24 @@ snapshots:
|
|||||||
- bluebird
|
- bluebird
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
eslint-module-utils@2.12.0(@typescript-eslint/parser@8.30.1(eslint@9.24.0)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0)(eslint@9.24.0):
|
eslint-module-utils@2.12.0(@typescript-eslint/parser@8.30.1(eslint@9.25.0)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0)(eslint@9.25.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
debug: 3.2.7
|
debug: 3.2.7
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@typescript-eslint/parser': 8.30.1(eslint@9.24.0)(typescript@5.8.3)
|
'@typescript-eslint/parser': 8.30.1(eslint@9.25.0)(typescript@5.8.3)
|
||||||
eslint: 9.24.0
|
eslint: 9.25.0
|
||||||
eslint-import-resolver-node: 0.3.9
|
eslint-import-resolver-node: 0.3.9
|
||||||
eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0)(eslint@9.24.0)
|
eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0)(eslint@9.25.0)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
eslint-plugin-css-modules@2.12.0(eslint@9.24.0):
|
eslint-plugin-css-modules@2.12.0(eslint@9.25.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
eslint: 9.24.0
|
eslint: 9.25.0
|
||||||
gonzales-pe: 4.3.0
|
gonzales-pe: 4.3.0
|
||||||
lodash: 4.17.21
|
lodash: 4.17.21
|
||||||
|
|
||||||
eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.30.1(eslint@9.24.0)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0)(eslint@9.24.0):
|
eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.30.1(eslint@9.25.0)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0)(eslint@9.25.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@rtsao/scc': 1.1.0
|
'@rtsao/scc': 1.1.0
|
||||||
array-includes: 3.1.8
|
array-includes: 3.1.8
|
||||||
@ -5278,9 +5406,9 @@ snapshots:
|
|||||||
array.prototype.flatmap: 1.3.3
|
array.prototype.flatmap: 1.3.3
|
||||||
debug: 3.2.7
|
debug: 3.2.7
|
||||||
doctrine: 2.1.0
|
doctrine: 2.1.0
|
||||||
eslint: 9.24.0
|
eslint: 9.25.0
|
||||||
eslint-import-resolver-node: 0.3.9
|
eslint-import-resolver-node: 0.3.9
|
||||||
eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.30.1(eslint@9.24.0)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0)(eslint@9.24.0)
|
eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.30.1(eslint@9.25.0)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0)(eslint@9.25.0)
|
||||||
hasown: 2.0.2
|
hasown: 2.0.2
|
||||||
is-core-module: 2.16.1
|
is-core-module: 2.16.1
|
||||||
is-glob: 4.0.3
|
is-glob: 4.0.3
|
||||||
@ -5292,13 +5420,13 @@ snapshots:
|
|||||||
string.prototype.trimend: 1.0.9
|
string.prototype.trimend: 1.0.9
|
||||||
tsconfig-paths: 3.15.0
|
tsconfig-paths: 3.15.0
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@typescript-eslint/parser': 8.30.1(eslint@9.24.0)(typescript@5.8.3)
|
'@typescript-eslint/parser': 8.30.1(eslint@9.25.0)(typescript@5.8.3)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- eslint-import-resolver-typescript
|
- eslint-import-resolver-typescript
|
||||||
- eslint-import-resolver-webpack
|
- eslint-import-resolver-webpack
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
eslint-plugin-jsx-a11y@6.10.2(eslint@9.24.0):
|
eslint-plugin-jsx-a11y@6.10.2(eslint@9.25.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
aria-query: 5.3.2
|
aria-query: 5.3.2
|
||||||
array-includes: 3.1.8
|
array-includes: 3.1.8
|
||||||
@ -5308,7 +5436,7 @@ snapshots:
|
|||||||
axobject-query: 4.1.0
|
axobject-query: 4.1.0
|
||||||
damerau-levenshtein: 1.0.8
|
damerau-levenshtein: 1.0.8
|
||||||
emoji-regex: 9.2.2
|
emoji-regex: 9.2.2
|
||||||
eslint: 9.24.0
|
eslint: 9.25.0
|
||||||
hasown: 2.0.2
|
hasown: 2.0.2
|
||||||
jsx-ast-utils: 3.3.5
|
jsx-ast-utils: 3.3.5
|
||||||
language-tags: 1.0.9
|
language-tags: 1.0.9
|
||||||
@ -5317,10 +5445,10 @@ snapshots:
|
|||||||
safe-regex-test: 1.1.0
|
safe-regex-test: 1.1.0
|
||||||
string.prototype.includes: 2.0.1
|
string.prototype.includes: 2.0.1
|
||||||
|
|
||||||
eslint-plugin-mdx@3.4.0(eslint@9.24.0):
|
eslint-plugin-mdx@3.4.0(eslint@9.25.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
eslint: 9.24.0
|
eslint: 9.25.0
|
||||||
eslint-mdx: 3.4.0(eslint@9.24.0)
|
eslint-mdx: 3.4.0(eslint@9.25.0)
|
||||||
mdast-util-from-markdown: 2.0.2
|
mdast-util-from-markdown: 2.0.2
|
||||||
mdast-util-mdx: 3.0.0
|
mdast-util-mdx: 3.0.0
|
||||||
micromark-extension-mdxjs: 3.0.0
|
micromark-extension-mdxjs: 3.0.0
|
||||||
@ -5336,32 +5464,32 @@ snapshots:
|
|||||||
- remark-lint-file-extension
|
- remark-lint-file-extension
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
eslint-plugin-prettier@5.2.6(eslint-config-prettier@10.1.2(eslint@9.24.0))(eslint@9.24.0)(prettier@3.5.3):
|
eslint-plugin-prettier@5.2.6(eslint-config-prettier@10.1.2(eslint@9.25.0))(eslint@9.25.0)(prettier@3.5.3):
|
||||||
dependencies:
|
dependencies:
|
||||||
eslint: 9.24.0
|
eslint: 9.25.0
|
||||||
prettier: 3.5.3
|
prettier: 3.5.3
|
||||||
prettier-linter-helpers: 1.0.0
|
prettier-linter-helpers: 1.0.0
|
||||||
synckit: 0.11.4
|
synckit: 0.11.4
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
eslint-config-prettier: 10.1.2(eslint@9.24.0)
|
eslint-config-prettier: 10.1.2(eslint@9.25.0)
|
||||||
|
|
||||||
eslint-plugin-react-compiler@19.0.0-beta-ebf51a3-20250411(eslint@9.24.0):
|
eslint-plugin-react-compiler@19.0.0-beta-ebf51a3-20250411(eslint@9.25.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/core': 7.26.10
|
'@babel/core': 7.26.10
|
||||||
'@babel/parser': 7.27.0
|
'@babel/parser': 7.27.0
|
||||||
'@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.26.10)
|
'@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.26.10)
|
||||||
eslint: 9.24.0
|
eslint: 9.25.0
|
||||||
hermes-parser: 0.25.1
|
hermes-parser: 0.25.1
|
||||||
zod: 3.24.3
|
zod: 3.24.3
|
||||||
zod-validation-error: 3.4.0(zod@3.24.3)
|
zod-validation-error: 3.4.0(zod@3.24.3)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
eslint-plugin-react-hooks@5.2.0(eslint@9.24.0):
|
eslint-plugin-react-hooks@5.2.0(eslint@9.25.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
eslint: 9.24.0
|
eslint: 9.25.0
|
||||||
|
|
||||||
eslint-plugin-react@7.37.5(eslint@9.24.0):
|
eslint-plugin-react@7.37.5(eslint@9.25.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
array-includes: 3.1.8
|
array-includes: 3.1.8
|
||||||
array.prototype.findlast: 1.2.5
|
array.prototype.findlast: 1.2.5
|
||||||
@ -5369,7 +5497,7 @@ snapshots:
|
|||||||
array.prototype.tosorted: 1.1.4
|
array.prototype.tosorted: 1.1.4
|
||||||
doctrine: 2.1.0
|
doctrine: 2.1.0
|
||||||
es-iterator-helpers: 1.2.1
|
es-iterator-helpers: 1.2.1
|
||||||
eslint: 9.24.0
|
eslint: 9.25.0
|
||||||
estraverse: 5.3.0
|
estraverse: 5.3.0
|
||||||
hasown: 2.0.2
|
hasown: 2.0.2
|
||||||
jsx-ast-utils: 3.3.5
|
jsx-ast-utils: 3.3.5
|
||||||
@ -5392,15 +5520,15 @@ snapshots:
|
|||||||
|
|
||||||
eslint-visitor-keys@4.2.0: {}
|
eslint-visitor-keys@4.2.0: {}
|
||||||
|
|
||||||
eslint@9.24.0:
|
eslint@9.25.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@eslint-community/eslint-utils': 4.6.1(eslint@9.24.0)
|
'@eslint-community/eslint-utils': 4.6.1(eslint@9.25.0)
|
||||||
'@eslint-community/regexpp': 4.12.1
|
'@eslint-community/regexpp': 4.12.1
|
||||||
'@eslint/config-array': 0.20.0
|
'@eslint/config-array': 0.20.0
|
||||||
'@eslint/config-helpers': 0.2.1
|
'@eslint/config-helpers': 0.2.1
|
||||||
'@eslint/core': 0.12.0
|
'@eslint/core': 0.13.0
|
||||||
'@eslint/eslintrc': 3.3.1
|
'@eslint/eslintrc': 3.3.1
|
||||||
'@eslint/js': 9.24.0
|
'@eslint/js': 9.25.0
|
||||||
'@eslint/plugin-kit': 0.2.8
|
'@eslint/plugin-kit': 0.2.8
|
||||||
'@humanfs/node': 0.16.6
|
'@humanfs/node': 0.16.6
|
||||||
'@humanwhocodes/module-importer': 1.0.1
|
'@humanwhocodes/module-importer': 1.0.1
|
||||||
@ -5899,10 +6027,21 @@ snapshots:
|
|||||||
domutils: 3.2.2
|
domutils: 3.2.2
|
||||||
entities: 4.5.0
|
entities: 4.5.0
|
||||||
|
|
||||||
|
htmlparser2@9.1.0:
|
||||||
|
dependencies:
|
||||||
|
domelementtype: 2.3.0
|
||||||
|
domhandler: 5.0.3
|
||||||
|
domutils: 3.2.2
|
||||||
|
entities: 4.5.0
|
||||||
|
|
||||||
human-signals@5.0.0: {}
|
human-signals@5.0.0: {}
|
||||||
|
|
||||||
husky@9.1.7: {}
|
husky@9.1.7: {}
|
||||||
|
|
||||||
|
iconv-lite@0.6.3:
|
||||||
|
dependencies:
|
||||||
|
safer-buffer: 2.1.2
|
||||||
|
|
||||||
ieee754@1.2.1: {}
|
ieee754@1.2.1: {}
|
||||||
|
|
||||||
ignore@5.3.2: {}
|
ignore@5.3.2: {}
|
||||||
@ -6806,6 +6945,10 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
path-key: 4.0.0
|
path-key: 4.0.0
|
||||||
|
|
||||||
|
nth-check@2.1.1:
|
||||||
|
dependencies:
|
||||||
|
boolbase: 1.0.0
|
||||||
|
|
||||||
object-assign@4.1.1: {}
|
object-assign@4.1.1: {}
|
||||||
|
|
||||||
object-inspect@1.13.4: {}
|
object-inspect@1.13.4: {}
|
||||||
@ -6934,6 +7077,15 @@ snapshots:
|
|||||||
|
|
||||||
parse-srcset@1.0.2: {}
|
parse-srcset@1.0.2: {}
|
||||||
|
|
||||||
|
parse5-htmlparser2-tree-adapter@7.1.0:
|
||||||
|
dependencies:
|
||||||
|
domhandler: 5.0.3
|
||||||
|
parse5: 7.2.1
|
||||||
|
|
||||||
|
parse5-parser-stream@7.1.2:
|
||||||
|
dependencies:
|
||||||
|
parse5: 7.2.1
|
||||||
|
|
||||||
parse5@7.2.1:
|
parse5@7.2.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
entities: 4.5.0
|
entities: 4.5.0
|
||||||
@ -7031,6 +7183,11 @@ snapshots:
|
|||||||
|
|
||||||
queue-microtask@1.2.3: {}
|
queue-microtask@1.2.3: {}
|
||||||
|
|
||||||
|
react-activity-calendar@2.7.10(react@19.1.0):
|
||||||
|
dependencies:
|
||||||
|
date-fns: 4.1.0
|
||||||
|
react: 19.1.0
|
||||||
|
|
||||||
react-countup@6.5.3(react@19.1.0):
|
react-countup@6.5.3(react@19.1.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
countup.js: 2.8.0
|
countup.js: 2.8.0
|
||||||
@ -7078,6 +7235,13 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
react: 19.1.0
|
react: 19.1.0
|
||||||
|
|
||||||
|
react-tooltip@5.28.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0):
|
||||||
|
dependencies:
|
||||||
|
'@floating-ui/dom': 1.6.13
|
||||||
|
classnames: 2.5.1
|
||||||
|
react: 19.1.0
|
||||||
|
react-dom: 19.1.0(react@19.1.0)
|
||||||
|
|
||||||
react-turnstile@1.1.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0):
|
react-turnstile@1.1.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
react: 19.1.0
|
react: 19.1.0
|
||||||
@ -7381,6 +7545,8 @@ snapshots:
|
|||||||
es-errors: 1.3.0
|
es-errors: 1.3.0
|
||||||
is-regex: 1.2.1
|
is-regex: 1.2.1
|
||||||
|
|
||||||
|
safer-buffer@2.1.2: {}
|
||||||
|
|
||||||
sax@1.4.1: {}
|
sax@1.4.1: {}
|
||||||
|
|
||||||
scheduler@0.26.0: {}
|
scheduler@0.26.0: {}
|
||||||
@ -7855,6 +8021,8 @@ snapshots:
|
|||||||
|
|
||||||
undici-types@6.21.0: {}
|
undici-types@6.21.0: {}
|
||||||
|
|
||||||
|
undici@6.21.2: {}
|
||||||
|
|
||||||
unified-engine@11.2.2:
|
unified-engine@11.2.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/concat-stream': 2.0.3
|
'@types/concat-stream': 2.0.3
|
||||||
@ -8075,6 +8243,12 @@ snapshots:
|
|||||||
- bufferutil
|
- bufferutil
|
||||||
- utf-8-validate
|
- utf-8-validate
|
||||||
|
|
||||||
|
whatwg-encoding@3.1.1:
|
||||||
|
dependencies:
|
||||||
|
iconv-lite: 0.6.3
|
||||||
|
|
||||||
|
whatwg-mimetype@4.0.0: {}
|
||||||
|
|
||||||
which-boxed-primitive@1.1.1:
|
which-boxed-primitive@1.1.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
is-bigint: 1.1.0
|
is-bigint: 1.1.0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user