mirror of
https://github.com/jakejarvis/jarv.is.git
synced 2025-04-26 06:45:23 -04:00
remove react-spring dependency
This commit is contained in:
parent
6f31bc53c8
commit
e166c63988
@ -6,7 +6,6 @@
|
||||
border-radius: var(--radii-corner);
|
||||
color: var(--colors-text);
|
||||
background-color: var(--colors-superDuperLight);
|
||||
transition: background var(--transitions-fade);
|
||||
}
|
||||
|
||||
.input:focus {
|
||||
|
@ -1,7 +1,6 @@
|
||||
body {
|
||||
font-family: var(--fonts-sans) !important;
|
||||
background-color: var(--colors-backgroundInner);
|
||||
transition: background var(--transitions-fade);
|
||||
}
|
||||
|
||||
code,
|
||||
|
@ -34,16 +34,11 @@
|
||||
display: inline-block;
|
||||
margin-left: 0.1em;
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion: no-preference) {
|
||||
.wave {
|
||||
animation: wave 5s ease 1s infinite;
|
||||
transform-origin: 65% 80%;
|
||||
will-change: transform;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes wave {
|
||||
@keyframes wave {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
@ -69,7 +64,6 @@
|
||||
100% {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
|
132
app/page.tsx
132
app/page.tsx
@ -1,38 +1,36 @@
|
||||
import { useId } from "react";
|
||||
import { GoLock } from "react-icons/go";
|
||||
import hash from "@emotion/hash";
|
||||
import { rgba } from "polished";
|
||||
import Link from "../components/Link";
|
||||
import { GoLock } from "react-icons/go";
|
||||
import UnstyledLink from "../components/Link";
|
||||
import type { ComponentPropsWithoutRef } from "react";
|
||||
import type { Route } from "next";
|
||||
|
||||
import styles from "./page.module.css";
|
||||
|
||||
const ColorfulLink = ({
|
||||
const Link = ({
|
||||
lightColor,
|
||||
darkColor,
|
||||
children,
|
||||
...rest
|
||||
}: ComponentPropsWithoutRef<typeof Link> & {
|
||||
}: ComponentPropsWithoutRef<typeof UnstyledLink> & {
|
||||
lightColor: string;
|
||||
darkColor: string;
|
||||
}) => {
|
||||
const uniqueId = `styled_${useId().replaceAll(":", "")}`;
|
||||
const uniqueId = hash(`${lightColor},${darkColor}`);
|
||||
|
||||
return (
|
||||
<>
|
||||
<Link id={uniqueId} {...rest}>
|
||||
<UnstyledLink className={`t_${uniqueId}`} {...rest}>
|
||||
{children}
|
||||
</Link>
|
||||
|
||||
<style
|
||||
// workaround to have react combine all of the inline styles into a single <style> tag in the <head>, see:
|
||||
// workaround to have react combine all of these inline styles into a single <style> tag up top, see:
|
||||
// https://react.dev/reference/react-dom/components/style#rendering-an-inline-css-stylesheet
|
||||
href={uniqueId}
|
||||
precedence={styles.page}
|
||||
>
|
||||
{`.${styles.page} #${uniqueId}{--colors-link:${lightColor};--colors-linkUnderline:${rgba(lightColor, 0.4)}}[data-theme="dark"] .${styles.page} #${uniqueId}{--colors-link:${darkColor};--colors-linkUnderline:${rgba(darkColor, 0.4)}}`}
|
||||
{`.t_${uniqueId}{--colors-link:${lightColor};--colors-linkUnderline:${rgba(lightColor, 0.4)}}[data-theme="dark"] .t_${uniqueId}{--colors-link:${darkColor};--colors-linkUnderline:${rgba(darkColor, 0.4)}}`}
|
||||
</style>
|
||||
</>
|
||||
</UnstyledLink>
|
||||
);
|
||||
};
|
||||
|
||||
@ -45,113 +43,103 @@ export default function Page() {
|
||||
|
||||
<h2>
|
||||
I'm a frontend web developer based in the{" "}
|
||||
<ColorfulLink
|
||||
<Link
|
||||
href="https://www.youtube-nocookie.com/embed/rLwbzGyC6t4?hl=en&fs=1&showinfo=1&rel=0&iv_load_policy=3"
|
||||
title='"Boston Accent Trailer - Late Night with Seth Meyers" on YouTube'
|
||||
lightColor="#fb4d42"
|
||||
darkColor="#ff5146"
|
||||
>
|
||||
Boston
|
||||
</ColorfulLink>{" "}
|
||||
</Link>{" "}
|
||||
area.
|
||||
</h2>
|
||||
|
||||
<p>
|
||||
I specialize in{" "}
|
||||
<ColorfulLink
|
||||
href="https://reactjs.org/"
|
||||
title="React Official Website"
|
||||
lightColor="#1091b3"
|
||||
darkColor="#6fcbe3"
|
||||
>
|
||||
<Link href="https://reactjs.org/" title="React Official Website" lightColor="#1091b3" darkColor="#6fcbe3">
|
||||
React
|
||||
</ColorfulLink>{" "}
|
||||
</Link>{" "}
|
||||
and{" "}
|
||||
<ColorfulLink
|
||||
<Link
|
||||
href="https://timkadlec.com/remembers/2020-04-21-the-cost-of-javascript-frameworks/"
|
||||
title='"The Cost of Javascript Frameworks" by Tim Kadlec'
|
||||
lightColor="#f48024"
|
||||
darkColor="#e18431"
|
||||
>
|
||||
vanilla JavaScript
|
||||
</ColorfulLink>{" "}
|
||||
</Link>{" "}
|
||||
to make nifty{" "}
|
||||
<ColorfulLink href="https://jamstack.wtf/" title="WTF is Jamstack?" lightColor="#04a699" darkColor="#08bbac">
|
||||
<Link href="https://jamstack.wtf/" title="WTF is Jamstack?" lightColor="#04a699" darkColor="#08bbac">
|
||||
Jamstack sites
|
||||
</ColorfulLink>{" "}
|
||||
</Link>{" "}
|
||||
with dynamic{" "}
|
||||
<ColorfulLink
|
||||
href="https://nodejs.org/en/"
|
||||
title="Node.js Official Website"
|
||||
lightColor="#6fbc4e"
|
||||
darkColor="#84d95f"
|
||||
>
|
||||
<Link href="https://nodejs.org/en/" title="Node.js Official Website" lightColor="#6fbc4e" darkColor="#84d95f">
|
||||
Node.js
|
||||
</ColorfulLink>{" "}
|
||||
</Link>{" "}
|
||||
services. But I still know my way around less buzzwordy stacks like{" "}
|
||||
<ColorfulLink
|
||||
<Link
|
||||
href="https://www.jetbrains.com/lp/php-25/"
|
||||
title="25 Years of PHP History"
|
||||
lightColor="#8892bf"
|
||||
darkColor="#a4afe3"
|
||||
>
|
||||
LAMP
|
||||
</ColorfulLink>
|
||||
</Link>
|
||||
, too.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Whenever possible, I also apply my experience in{" "}
|
||||
<ColorfulLink
|
||||
<Link
|
||||
href="https://bugcrowd.com/jakejarvis"
|
||||
title="Jake Jarvis on Bugcrowd"
|
||||
lightColor="#00b81a"
|
||||
darkColor="#57f06d"
|
||||
>
|
||||
application security
|
||||
</ColorfulLink>
|
||||
</Link>
|
||||
,{" "}
|
||||
<ColorfulLink
|
||||
<Link
|
||||
href="https://www.cloudflare.com/learning/serverless/what-is-serverless/"
|
||||
title='"What is serverless computing?" on Cloudflare'
|
||||
lightColor="#0098ec"
|
||||
darkColor="#43b9fb"
|
||||
>
|
||||
serverless stacks
|
||||
</ColorfulLink>
|
||||
</Link>
|
||||
, and{" "}
|
||||
<ColorfulLink
|
||||
<Link
|
||||
href="https://github.com/jakejarvis?tab=repositories&q=github-actions&type=source&language=&sort=stargazers"
|
||||
title='My repositories tagged with "github-actions" on GitHub'
|
||||
lightColor="#ff6200"
|
||||
darkColor="#f46c16"
|
||||
>
|
||||
DevOps automation
|
||||
</ColorfulLink>
|
||||
</Link>
|
||||
.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
I fell in love with{" "}
|
||||
<ColorfulLink
|
||||
<Link
|
||||
href="/previously"
|
||||
title="My Terrible, Horrible, No Good, Very Bad First Websites"
|
||||
lightColor="#4169e1"
|
||||
darkColor="#8ca9ff"
|
||||
>
|
||||
frontend web design
|
||||
</ColorfulLink>{" "}
|
||||
</Link>{" "}
|
||||
and{" "}
|
||||
<ColorfulLink
|
||||
<Link
|
||||
href={"/notes/my-first-code" as Route}
|
||||
title="Jake's Bulletin Board, circa 2003"
|
||||
lightColor="#9932cc"
|
||||
darkColor="#d588fb"
|
||||
>
|
||||
backend programming
|
||||
</ColorfulLink>{" "}
|
||||
</Link>{" "}
|
||||
when my only source of income was{" "}
|
||||
<ColorfulLink
|
||||
<Link
|
||||
href="/birthday"
|
||||
title="🎉 Cranky Birthday Boy on VHS Tape 📼"
|
||||
lightColor="#e40088"
|
||||
@ -161,74 +149,74 @@ export default function Page() {
|
||||
}}
|
||||
>
|
||||
the Tooth Fairy
|
||||
</ColorfulLink>
|
||||
</Link>
|
||||
. <span style={{ color: "var(--colors-mediumLight)" }}>I've improved a bit since then, I think? 🤷</span>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Over the years, some of my side projects{" "}
|
||||
<ColorfulLink
|
||||
<Link
|
||||
href="/leo"
|
||||
title="Powncer segment on The Lab with Leo Laporte (G4techTV)"
|
||||
lightColor="#ff1b1b"
|
||||
darkColor="#f06060"
|
||||
>
|
||||
have
|
||||
</ColorfulLink>{" "}
|
||||
<ColorfulLink
|
||||
</Link>{" "}
|
||||
<Link
|
||||
href="https://tuftsdaily.com/news/2012/04/06/student-designs-iphone-joeytracker-app/"
|
||||
title='"Student designs iPhone JoeyTracker app" on The Tufts Daily'
|
||||
lightColor="#f78200"
|
||||
darkColor="#fd992a"
|
||||
>
|
||||
been
|
||||
</ColorfulLink>{" "}
|
||||
<ColorfulLink
|
||||
</Link>{" "}
|
||||
<Link
|
||||
href="https://www.google.com/books/edition/The_Facebook_Effect/RRUkLhyGZVgC?hl=en&gbpv=1&dq=%22jake%20jarvis%22&pg=PA226&printsec=frontcover&bsq=%22jake%20jarvis%22"
|
||||
title='"The Facebook Effect" by David Kirkpatrick (Google Books)'
|
||||
lightColor="#f2b702"
|
||||
darkColor="#ffcc2e"
|
||||
>
|
||||
featured
|
||||
</ColorfulLink>{" "}
|
||||
<ColorfulLink
|
||||
</Link>{" "}
|
||||
<Link
|
||||
href="https://money.cnn.com/2007/06/01/technology/facebookplatform.fortune/index.htm"
|
||||
title='"The new Facebook is on a roll" on CNN Money'
|
||||
lightColor="#5ebd3e"
|
||||
darkColor="#78df55"
|
||||
>
|
||||
by
|
||||
</ColorfulLink>{" "}
|
||||
<ColorfulLink
|
||||
</Link>{" "}
|
||||
<Link
|
||||
href="https://www.wired.com/2007/04/our-web-servers/"
|
||||
title='"Middio: A YouTube Scraper for Major Label Music Videos" on Wired'
|
||||
lightColor="#009cdf"
|
||||
darkColor="#29bfff"
|
||||
>
|
||||
various
|
||||
</ColorfulLink>{" "}
|
||||
<ColorfulLink
|
||||
</Link>{" "}
|
||||
<Link
|
||||
href="https://gigaom.com/2009/10/06/fresh-faces-in-tech-10-kid-entrepreneurs-to-watch/6/"
|
||||
title='"Fresh Faces in Tech: 10 Kid Entrepreneurs to Watch" on Gigaom'
|
||||
lightColor="#3e49bb"
|
||||
darkColor="#7b87ff"
|
||||
>
|
||||
media
|
||||
</ColorfulLink>{" "}
|
||||
<ColorfulLink
|
||||
</Link>{" "}
|
||||
<Link
|
||||
href="https://adage.com/article/small-agency-diary/client-ceo-s-son/116723/"
|
||||
title='"Your Next Client? The CEO's Son" on Advertising Age'
|
||||
lightColor="#973999"
|
||||
darkColor="#db60dd"
|
||||
>
|
||||
outlets
|
||||
</ColorfulLink>
|
||||
</Link>
|
||||
.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
You can find my work on{" "}
|
||||
<ColorfulLink
|
||||
<Link
|
||||
href="https://github.com/jakejarvis"
|
||||
rel="me"
|
||||
title="Jake Jarvis on GitHub"
|
||||
@ -236,9 +224,9 @@ export default function Page() {
|
||||
darkColor="#a379f0"
|
||||
>
|
||||
GitHub
|
||||
</ColorfulLink>{" "}
|
||||
</Link>{" "}
|
||||
and{" "}
|
||||
<ColorfulLink
|
||||
<Link
|
||||
href="https://www.linkedin.com/in/jakejarvis/"
|
||||
rel="me"
|
||||
title="Jake Jarvis on LinkedIn"
|
||||
@ -246,13 +234,13 @@ export default function Page() {
|
||||
darkColor="#3b9dd2"
|
||||
>
|
||||
LinkedIn
|
||||
</ColorfulLink>
|
||||
</Link>
|
||||
. I'm always available to connect over{" "}
|
||||
<ColorfulLink href="/contact" title="Send an email" lightColor="#de0c0c" darkColor="#ff5050">
|
||||
<Link href="/contact" title="Send an email" lightColor="#de0c0c" darkColor="#ff5050">
|
||||
email
|
||||
</ColorfulLink>{" "}
|
||||
</Link>{" "}
|
||||
<sup>
|
||||
<ColorfulLink
|
||||
<Link
|
||||
href={"/pubkey.asc" as Route}
|
||||
rel="pgpkey authn"
|
||||
title="My Public Key"
|
||||
@ -278,10 +266,10 @@ export default function Page() {
|
||||
>
|
||||
2B0C 9CF2 51E6 9A39
|
||||
</span>
|
||||
</ColorfulLink>
|
||||
</Link>
|
||||
</sup>
|
||||
,{" "}
|
||||
<ColorfulLink
|
||||
<Link
|
||||
href="https://bsky.app/profile/jarv.is"
|
||||
rel="me"
|
||||
title="Jake Jarvis on Bluesky"
|
||||
@ -289,9 +277,9 @@ export default function Page() {
|
||||
darkColor="#208bfe"
|
||||
>
|
||||
Bluesky
|
||||
</ColorfulLink>
|
||||
</Link>
|
||||
, or{" "}
|
||||
<ColorfulLink
|
||||
<Link
|
||||
href="https://fediverse.jarv.is/@jake"
|
||||
rel="me"
|
||||
title="Jake Jarvis on Mastodon"
|
||||
@ -299,7 +287,7 @@ export default function Page() {
|
||||
darkColor="#7b87ff"
|
||||
>
|
||||
Mastodon
|
||||
</ColorfulLink>{" "}
|
||||
</Link>{" "}
|
||||
as well!
|
||||
</p>
|
||||
</div>
|
||||
|
@ -16,7 +16,6 @@
|
||||
border-radius: var(--radii-corner);
|
||||
font-size: 0.9em;
|
||||
color: var(--colors-mediumDark);
|
||||
transition: border var(--transitions-fade);
|
||||
}
|
||||
|
||||
.card .name {
|
||||
|
@ -28,7 +28,6 @@
|
||||
--colors-codeDeletion: #ff1b1b;
|
||||
--sizes-maxLayoutWidth: 865px;
|
||||
--radii-corner: 0.6rem;
|
||||
--transitions-fade: 0.25s ease;
|
||||
}
|
||||
|
||||
[data-theme="dark"] {
|
||||
|
@ -14,9 +14,6 @@
|
||||
background-color: var(--colors-codeBackground);
|
||||
border: 1px solid var(--colors-kindaLight);
|
||||
border-radius: var(--radii-corner);
|
||||
transition:
|
||||
background var(--transitions-fade),
|
||||
border var(--transitions-fade);
|
||||
}
|
||||
|
||||
.codeBlock :global(.line-number)::before {
|
||||
@ -99,7 +96,4 @@
|
||||
border: 1px solid var(--colors-kindaLight);
|
||||
border-top-right-radius: var(--radii-corner);
|
||||
border-bottom-left-radius: var(--radii-corner);
|
||||
transition:
|
||||
background var(--transitions-fade),
|
||||
border var(--transitions-fade);
|
||||
}
|
||||
|
@ -5,7 +5,4 @@
|
||||
background-color: var(--colors-codeBackground);
|
||||
border: 1px solid var(--colors-kindaLight);
|
||||
border-radius: var(--radii-corner);
|
||||
transition:
|
||||
background var(--transitions-fade),
|
||||
border var(--transitions-fade);
|
||||
}
|
||||
|
@ -5,9 +5,6 @@
|
||||
border-top: 1px solid var(--colors-kindaLight);
|
||||
background-color: var(--colors-backgroundOuter);
|
||||
color: var(--colors-mediumDark);
|
||||
transition:
|
||||
background var(--transitions-fade),
|
||||
border var(--transitions-fade);
|
||||
}
|
||||
|
||||
.row {
|
||||
@ -50,15 +47,10 @@
|
||||
.heart {
|
||||
display: inline-block;
|
||||
color: var(--colors-error);
|
||||
animation: pulse 10s ease 7.5s infinite;
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion: no-preference) {
|
||||
.heart {
|
||||
animation: pulse 10s ease 7.5s infinite;
|
||||
will-change: transform;
|
||||
}
|
||||
|
||||
@keyframes pulse {
|
||||
@keyframes pulse {
|
||||
0% {
|
||||
transform: scale(1);
|
||||
}
|
||||
@ -78,7 +70,6 @@
|
||||
100% {
|
||||
transform: scale(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
|
@ -4,9 +4,6 @@
|
||||
padding: 0.7em 1.5em;
|
||||
border-bottom: 1px solid var(--colors-kindaLight);
|
||||
background-color: var(--colors-backgroundHeader);
|
||||
transition:
|
||||
background var(--transitions-fade),
|
||||
border var(--transitions-fade);
|
||||
|
||||
/* make sticky */
|
||||
position: sticky;
|
||||
|
@ -20,9 +20,3 @@
|
||||
background: none !important;
|
||||
transition: none !important;
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
.link {
|
||||
transition: none !important;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
"use client";
|
||||
|
||||
import { useEffect, useId } from "react";
|
||||
import { animated, Globals, useSpring, useReducedMotion } from "@react-spring/web";
|
||||
import { useFirstMountState, useHasMounted, useTheme } from "../../hooks";
|
||||
import { useHasMounted, useTheme } from "../../hooks";
|
||||
import { FiSun, FiMoon } from "react-icons/fi";
|
||||
import { BsThreeDots } from "react-icons/bs";
|
||||
|
||||
import styles from "./ThemeToggle.module.css";
|
||||
|
||||
@ -13,140 +13,24 @@ export type ThemeToggleProps = {
|
||||
const ThemeToggle = ({ className }: ThemeToggleProps) => {
|
||||
const hasMounted = useHasMounted();
|
||||
const { theme, setTheme } = useTheme();
|
||||
const isFirstMount = useFirstMountState();
|
||||
const prefersReducedMotion = useReducedMotion() ?? false;
|
||||
const maskId = useId(); // SSR-safe ID to cross-reference areas of the SVG
|
||||
|
||||
// default to light since `theme` might be undefined
|
||||
const safeTheme = theme === "dark" ? theme : "light";
|
||||
|
||||
// accessibility: disable animation if user prefers reduced motion
|
||||
useEffect(() => {
|
||||
Globals.assign({
|
||||
skipAnimation: isFirstMount || prefersReducedMotion,
|
||||
});
|
||||
}, [isFirstMount, prefersReducedMotion]);
|
||||
|
||||
// modified from https://jfelix.info/blog/using-react-spring-to-animate-svg-icons-dark-mode-toggle
|
||||
const springProperties = {
|
||||
light: {
|
||||
svg: {
|
||||
transform: "rotate(90deg)",
|
||||
},
|
||||
circle: {
|
||||
r: 5,
|
||||
},
|
||||
mask: {
|
||||
cx: "100%",
|
||||
cy: "0%",
|
||||
},
|
||||
lines: {
|
||||
opacity: 1,
|
||||
},
|
||||
},
|
||||
dark: {
|
||||
svg: {
|
||||
transform: "rotate(40deg)",
|
||||
},
|
||||
circle: {
|
||||
r: 9,
|
||||
},
|
||||
mask: {
|
||||
cx: "50%",
|
||||
cy: "23%",
|
||||
},
|
||||
lines: {
|
||||
opacity: 0,
|
||||
},
|
||||
},
|
||||
springConfig: { mass: 4, tension: 250, friction: 35 },
|
||||
};
|
||||
|
||||
const { svg, circle, mask, lines } = springProperties[safeTheme];
|
||||
|
||||
const svgContainerProps = useSpring({
|
||||
...svg,
|
||||
config: springProperties.springConfig,
|
||||
});
|
||||
const centerCircleProps = useSpring({
|
||||
...circle,
|
||||
config: springProperties.springConfig,
|
||||
});
|
||||
const maskedCircleProps = useSpring({
|
||||
...mask,
|
||||
config: springProperties.springConfig,
|
||||
});
|
||||
const linesProps = useSpring({
|
||||
...lines,
|
||||
config: springProperties.springConfig,
|
||||
});
|
||||
|
||||
// render a blank div of the same size to avoid layout shifting until we're fully mounted and self-aware
|
||||
// render a placeholder icon to avoid layout shifting until we're fully mounted and self-aware
|
||||
if (!hasMounted) {
|
||||
return (
|
||||
<div className={styles.toggle}>
|
||||
<div className={className} />
|
||||
<BsThreeDots className={className} style={{ fill: "var(--colors-mediumLight)" }} />
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<button
|
||||
onClick={() => setTheme(safeTheme === "light" ? "dark" : "light")}
|
||||
onClick={() => setTheme(theme === "light" ? "dark" : "light")}
|
||||
className={styles.toggle}
|
||||
title={safeTheme === "light" ? "Toggle Dark Mode" : "Toggle Light Mode"}
|
||||
aria-label={safeTheme === "light" ? "Toggle Dark Mode" : "Toggle Light Mode"}
|
||||
title={theme === "light" ? "Toggle Dark Mode" : "Toggle Light Mode"}
|
||||
aria-label={theme === "light" ? "Toggle Dark Mode" : "Toggle Light Mode"}
|
||||
>
|
||||
{/* @ts-ignore */}
|
||||
<animated.svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="1em"
|
||||
height="1em"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
strokeWidth="2"
|
||||
strokeLinecap="round"
|
||||
strokeLinejoin="round"
|
||||
style={{
|
||||
...svgContainerProps,
|
||||
}}
|
||||
className={className}
|
||||
aria-hidden
|
||||
>
|
||||
<mask id={`mask-${maskId}`}>
|
||||
<rect x="0" y="0" width="100%" height="100%" fill="white" />
|
||||
<animated.circle
|
||||
r="9"
|
||||
fill="black"
|
||||
// @ts-ignore
|
||||
style={maskedCircleProps}
|
||||
/>
|
||||
</mask>
|
||||
|
||||
{/* circle shared by both the sun and crescent moon */}
|
||||
<animated.circle
|
||||
cx="12"
|
||||
cy="12"
|
||||
fill="currentColor"
|
||||
mask={`url(#mask-${maskId})`}
|
||||
// @ts-ignore
|
||||
style={centerCircleProps}
|
||||
/>
|
||||
|
||||
{/* sunrays pulled from https://github.com/feathericons/feather/blob/734f3f51144e383cfdc6d0916831be8d1ad2a749/icons/sun.svg?short_path=fea872c#L13 */}
|
||||
{/* @ts-ignore */}
|
||||
<animated.g stroke="currentColor" style={linesProps}>
|
||||
<line x1="12" y1="1" x2="12" y2="3" />
|
||||
<line x1="12" y1="21" x2="12" y2="23" />
|
||||
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64" />
|
||||
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78" />
|
||||
<line x1="1" y1="12" x2="3" y2="12" />
|
||||
<line x1="21" y1="12" x2="23" y2="12" />
|
||||
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36" />
|
||||
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22" />
|
||||
</animated.g>
|
||||
</animated.svg>
|
||||
{theme === "light" ? <FiSun className={className} /> : <FiMoon className={className} />}
|
||||
</button>
|
||||
);
|
||||
};
|
||||
|
@ -76,6 +76,7 @@ export const ThemeProvider = ({ children }: PropsWithChildren) => {
|
||||
return (
|
||||
<ThemeContext.Provider value={providerValues}>
|
||||
<script
|
||||
id="restore-theme"
|
||||
// unminified: https://gist.github.com/jakejarvis/79b0ec8506bc843023546d0d29861bf0
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: `(()=>{try{const e=document.documentElement,t="undefined"!=typeof Storage?window.localStorage.getItem("theme"):null,a=(t&&"dark"===t)??window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";e.dataset.theme=a,e.style.colorScheme=a}catch(e){}})()`,
|
||||
|
@ -1,4 +1,3 @@
|
||||
export { default as useFirstMountState } from "./useFirstMountState";
|
||||
export { default as useHasMounted } from "./useHasMounted";
|
||||
export { default as useLocalStorage } from "./useLocalStorage";
|
||||
export { default as useMediaQuery } from "./useMediaQuery";
|
||||
|
@ -1,15 +0,0 @@
|
||||
import { useRef } from "react";
|
||||
|
||||
const useFirstMountState = (): boolean => {
|
||||
const isFirstMount = useRef(true);
|
||||
|
||||
if (isFirstMount.current) {
|
||||
isFirstMount.current = false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return isFirstMount.current;
|
||||
};
|
||||
|
||||
export default useFirstMountState;
|
@ -20,6 +20,6 @@ export function middleware(request: NextRequest) {
|
||||
export const config = {
|
||||
// save compute time by skipping middleware for static and metadata files
|
||||
matcher: [
|
||||
"/((?!_next/static|_next/image|_vercel/|static|.well-known|favicon.ico|icon.png|apple-icon.png|manifest.webmanifest).*)",
|
||||
"/((?!_next/static|_next/image|_vercel|static|.well-known|favicon.ico|icon.png|apple-icon.png|manifest.webmanifest).*)",
|
||||
],
|
||||
};
|
||||
|
13
package.json
13
package.json
@ -19,16 +19,16 @@
|
||||
"postinstall": "prisma generate"
|
||||
},
|
||||
"dependencies": {
|
||||
"@emotion/hash": "^0.9.2",
|
||||
"@giscus/react": "^3.1.0",
|
||||
"@mdx-js/loader": "^3.1.0",
|
||||
"@mdx-js/react": "^3.1.0",
|
||||
"@next/bundle-analyzer": "15.2.2-canary.4",
|
||||
"@next/mdx": "15.2.2-canary.4",
|
||||
"@next/third-parties": "15.2.2-canary.4",
|
||||
"@next/bundle-analyzer": "15.2.2-canary.5",
|
||||
"@next/mdx": "15.2.2-canary.5",
|
||||
"@next/third-parties": "15.2.2-canary.5",
|
||||
"@octokit/graphql": "^8.2.1",
|
||||
"@octokit/graphql-schema": "^15.26.0",
|
||||
"@prisma/client": "^6.4.1",
|
||||
"@react-spring/web": "^9.7.5",
|
||||
"@vercel/analytics": "^1.5.0",
|
||||
"clsx": "^2.1.1",
|
||||
"comma-number": "^2.1.0",
|
||||
@ -36,9 +36,8 @@
|
||||
"dayjs": "^1.11.13",
|
||||
"fast-glob": "^3.3.3",
|
||||
"feed": "^4.2.2",
|
||||
"gray-matter": "^4.0.3",
|
||||
"modern-normalize": "^3.0.1",
|
||||
"next": "15.2.2-canary.4",
|
||||
"next": "15.2.2-canary.5",
|
||||
"obj-str": "^1.1.0",
|
||||
"p-map": "^7.0.3",
|
||||
"p-memoize": "^7.1.1",
|
||||
@ -80,7 +79,7 @@
|
||||
"@types/react-is": "^19.0.0",
|
||||
"cross-env": "^7.0.3",
|
||||
"eslint": "^9.22.0",
|
||||
"eslint-config-next": "15.2.2-canary.4",
|
||||
"eslint-config-next": "15.2.2-canary.5",
|
||||
"eslint-config-prettier": "^10.1.1",
|
||||
"eslint-plugin-import": "^2.31.0",
|
||||
"eslint-plugin-jsx-a11y": "^6.10.2",
|
||||
|
285
pnpm-lock.yaml
generated
285
pnpm-lock.yaml
generated
@ -8,6 +8,9 @@ importers:
|
||||
|
||||
.:
|
||||
dependencies:
|
||||
'@emotion/hash':
|
||||
specifier: ^0.9.2
|
||||
version: 0.9.2
|
||||
'@giscus/react':
|
||||
specifier: ^3.1.0
|
||||
version: 3.1.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
|
||||
@ -18,14 +21,14 @@ importers:
|
||||
specifier: ^3.1.0
|
||||
version: 3.1.0(@types/react@19.0.10)(react@19.0.0)
|
||||
'@next/bundle-analyzer':
|
||||
specifier: 15.2.2-canary.4
|
||||
version: 15.2.2-canary.4
|
||||
specifier: 15.2.2-canary.5
|
||||
version: 15.2.2-canary.5
|
||||
'@next/mdx':
|
||||
specifier: 15.2.2-canary.4
|
||||
version: 15.2.2-canary.4(@mdx-js/loader@3.1.0(acorn@8.14.1))(@mdx-js/react@3.1.0(@types/react@19.0.10)(react@19.0.0))
|
||||
specifier: 15.2.2-canary.5
|
||||
version: 15.2.2-canary.5(@mdx-js/loader@3.1.0(acorn@8.14.1))(@mdx-js/react@3.1.0(@types/react@19.0.10)(react@19.0.0))
|
||||
'@next/third-parties':
|
||||
specifier: 15.2.2-canary.4
|
||||
version: 15.2.2-canary.4(next@15.2.2-canary.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)
|
||||
specifier: 15.2.2-canary.5
|
||||
version: 15.2.2-canary.5(next@15.2.2-canary.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)
|
||||
'@octokit/graphql':
|
||||
specifier: ^8.2.1
|
||||
version: 8.2.1
|
||||
@ -35,12 +38,9 @@ importers:
|
||||
'@prisma/client':
|
||||
specifier: ^6.4.1
|
||||
version: 6.4.1(prisma@6.4.1(typescript@5.8.2))(typescript@5.8.2)
|
||||
'@react-spring/web':
|
||||
specifier: ^9.7.5
|
||||
version: 9.7.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
|
||||
'@vercel/analytics':
|
||||
specifier: ^1.5.0
|
||||
version: 1.5.0(next@15.2.2-canary.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)
|
||||
version: 1.5.0(next@15.2.2-canary.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)
|
||||
clsx:
|
||||
specifier: ^2.1.1
|
||||
version: 2.1.1
|
||||
@ -59,15 +59,12 @@ importers:
|
||||
feed:
|
||||
specifier: ^4.2.2
|
||||
version: 4.2.2
|
||||
gray-matter:
|
||||
specifier: ^4.0.3
|
||||
version: 4.0.3
|
||||
modern-normalize:
|
||||
specifier: ^3.0.1
|
||||
version: 3.0.1
|
||||
next:
|
||||
specifier: 15.2.2-canary.4
|
||||
version: 15.2.2-canary.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
|
||||
specifier: 15.2.2-canary.5
|
||||
version: 15.2.2-canary.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
|
||||
obj-str:
|
||||
specifier: ^1.1.0
|
||||
version: 1.1.0
|
||||
@ -187,8 +184,8 @@ importers:
|
||||
specifier: ^9.22.0
|
||||
version: 9.22.0
|
||||
eslint-config-next:
|
||||
specifier: 15.2.2-canary.4
|
||||
version: 15.2.2-canary.4(eslint@9.22.0)(typescript@5.8.2)
|
||||
specifier: 15.2.2-canary.5
|
||||
version: 15.2.2-canary.5(eslint@9.22.0)(typescript@5.8.2)
|
||||
eslint-config-prettier:
|
||||
specifier: ^10.1.1
|
||||
version: 10.1.1(eslint@9.22.0)
|
||||
@ -254,6 +251,9 @@ packages:
|
||||
'@emnapi/runtime@1.3.1':
|
||||
resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==}
|
||||
|
||||
'@emotion/hash@0.9.2':
|
||||
resolution: {integrity: sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==}
|
||||
|
||||
'@esbuild/aix-ppc64@0.25.0':
|
||||
resolution: {integrity: sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ==}
|
||||
engines: {node: '>=18'}
|
||||
@ -605,17 +605,17 @@ packages:
|
||||
'@types/react': '>=16'
|
||||
react: '>=16'
|
||||
|
||||
'@next/bundle-analyzer@15.2.2-canary.4':
|
||||
resolution: {integrity: sha512-gRn3n9RIZxOrf7rSP55XwxZ5luyd5URgggoEWinEMgSWBaVMnlyIemv8dDCMc4rrQnqBwdVMUe2GgR9UQPZ3+g==}
|
||||
'@next/bundle-analyzer@15.2.2-canary.5':
|
||||
resolution: {integrity: sha512-Toc7NVyQ3NNsynV/LYUecxtcuY+WPptPz2WbbA6Ym0ltYjeKoR8x3QMlJyHVMSO0iaEoF3Nbbu2+E//g4dV5TQ==}
|
||||
|
||||
'@next/env@15.2.2-canary.4':
|
||||
resolution: {integrity: sha512-m4jjOoJwFv6bmGq1KiAT6me8pkIvjPA6qWc1aRyUxzVzg/7Pm3b5BP2ze8jNwdjIwPmMQGtV0Lv50vLeDUlC0A==}
|
||||
'@next/env@15.2.2-canary.5':
|
||||
resolution: {integrity: sha512-4ccIKIftEwHvGR7o5caeQhn89rCkh/6SD3ijDPWIWe/8IAnuFJ27GouOfxdMJF8Md0aOeVn0qsJyMVRjPoyr4Q==}
|
||||
|
||||
'@next/eslint-plugin-next@15.2.2-canary.4':
|
||||
resolution: {integrity: sha512-EZyiA2gkgJzUMZhU73sv998+s96YAoElfZrGwjXkb4XuXAAmdvsfuqzNGBZWGk4M4t3AojuTYZOZA24eQVGlgQ==}
|
||||
'@next/eslint-plugin-next@15.2.2-canary.5':
|
||||
resolution: {integrity: sha512-htXMNd6JY+CwRpiRqViwnGQg3p14Z+MK8/IrunlhgO5a44UqC4wXJ+MuL/PFqajmcLVIcMYNdx3dQg/2yDdizA==}
|
||||
|
||||
'@next/mdx@15.2.2-canary.4':
|
||||
resolution: {integrity: sha512-c3TYNwqE7TJmgZKMru5+lVV92lTkVdxqw4C4rTKCJhDLZZ9OkLi4mUE78BcG+gbNen86gGHau4+yhJKATI1otQ==}
|
||||
'@next/mdx@15.2.2-canary.5':
|
||||
resolution: {integrity: sha512-raRuk2KaroLw4LMBPdsbuyZFb/nrsyuzHdqIi7oNbRmxZUIAo8GLMoOD8lNc3z7kwKL1GbXYvUmAs1AcM+Ldag==}
|
||||
peerDependencies:
|
||||
'@mdx-js/loader': '>=0.15.0'
|
||||
'@mdx-js/react': '>=0.15.0'
|
||||
@ -625,56 +625,56 @@ packages:
|
||||
'@mdx-js/react':
|
||||
optional: true
|
||||
|
||||
'@next/swc-darwin-arm64@15.2.2-canary.4':
|
||||
resolution: {integrity: sha512-NI4UlAkBsnUXT8KDI0tncL6pGqmYY7uhQhghxhulBADO44wNn6Ktg7HLky9NOz2NnTB54XUcITN3IJ7g7LsfAw==}
|
||||
'@next/swc-darwin-arm64@15.2.2-canary.5':
|
||||
resolution: {integrity: sha512-zr+j2B+ZqddFoxwn7/Vnh0Q986GFz1DlEy7xkvtMgBk4ciM917NZOjcOpez380XXC4OOb8fmk+t6EXwBwYzZgg==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
'@next/swc-darwin-x64@15.2.2-canary.4':
|
||||
resolution: {integrity: sha512-r41aXyIdLe7kM2GZDRpxdO8EmwGykV9MNY1JxZgI09ON+3j/0+jd89IhtJauWWlPdUgAkJtJ2HJ6a0oCycHbRw==}
|
||||
'@next/swc-darwin-x64@15.2.2-canary.5':
|
||||
resolution: {integrity: sha512-Y9idAkGryVuUsQ1ZnIyyaEkKWoTnc5yrwGYh8bC4szezleLi/zZphSQL/BIprZlMTveZ5co8+eyRyiSCAEPn0g==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
'@next/swc-linux-arm64-gnu@15.2.2-canary.4':
|
||||
resolution: {integrity: sha512-WCvmjDAPuiFsmpfamn6taJYvqBjYwzRPCw6ZfYNxmsDYU84em70KL9HmNe72jTfOa95IK5u7JROyg7k3t5LvqA==}
|
||||
'@next/swc-linux-arm64-gnu@15.2.2-canary.5':
|
||||
resolution: {integrity: sha512-NLEG8fki60/hyjz/u9QPLPl5ljyntgbY3GFiABMD75geTyeb6GNrpXHq8hOsPx9RviTSRXZQLni1MQoNRiId7w==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@next/swc-linux-arm64-musl@15.2.2-canary.4':
|
||||
resolution: {integrity: sha512-22LJu9qVTgyYrzv4J8H00OQ/jgJHZiH676FMhzvgkncyISPeMFq56ZrH2gu98Ifv57AV2l78aHPGCMS/vad3UA==}
|
||||
'@next/swc-linux-arm64-musl@15.2.2-canary.5':
|
||||
resolution: {integrity: sha512-GM5Yg8dvCLkhCI/IBmvqQSUiApW8Bz7fFND/hDx+jtja+sV9sCcINpf5xTxGklKcKYIZTi7iNTS7dvi69P43AA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@next/swc-linux-x64-gnu@15.2.2-canary.4':
|
||||
resolution: {integrity: sha512-EjEIwHcldoJgiuwYTiaXI/H/B+U3FkNac552aPWQF9Up97fJwOiEEDaaBR9q/+b7KU4Qlr/l1XlfRJz+s/DeeA==}
|
||||
'@next/swc-linux-x64-gnu@15.2.2-canary.5':
|
||||
resolution: {integrity: sha512-2M6Ly6xQkexLxuooP7/R6ut75VgLinO93YVawSnfmS0hhjAeD5Q0ZVCZLg6hEz9BwxhfdzA7DyUR14c5J5fWCQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@next/swc-linux-x64-musl@15.2.2-canary.4':
|
||||
resolution: {integrity: sha512-Vfs+HDa3W+y9lXYnGxYIyu9JHYwKQVDmweXULACMxDVyEicrKyRlcsdn97yRzoccMbDUjOlCgBYn8Hw0191oqA==}
|
||||
'@next/swc-linux-x64-musl@15.2.2-canary.5':
|
||||
resolution: {integrity: sha512-692Hj3Blwn311gb9TLM6VcQBA2BPP8eoRSTfUZTbLUBaMAEmUfSrT7qvDdL60h3vUTkFARYmxObwFMxWeis4eQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@next/swc-win32-arm64-msvc@15.2.2-canary.4':
|
||||
resolution: {integrity: sha512-otcVJ2p66X1RrXqj+l6mJRXNNYUnSbEJTOHXgq4IKbvxbO1MsiXF/43jRo1O3kcwl8XmkMVlJgpsjOhooCf4Sg==}
|
||||
'@next/swc-win32-arm64-msvc@15.2.2-canary.5':
|
||||
resolution: {integrity: sha512-wCEbR0LUuwG8KEQwoVnE0gNwtRMyd3a3i3N+nHToTO7hWZXV5wVDEs+zDHaIO8H2RrufyrskB8apLidwwH5t/g==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
'@next/swc-win32-x64-msvc@15.2.2-canary.4':
|
||||
resolution: {integrity: sha512-mt3OtYuIK8HqON//39UP5SRwDxCFv7+P3zgpMoYC+nJGivraAlGkloQJnx1vVA5QNbUtuCvgwnyPZYPSGVisvA==}
|
||||
'@next/swc-win32-x64-msvc@15.2.2-canary.5':
|
||||
resolution: {integrity: sha512-2uL0I2xO87SUQjJVo0YDUBXUvIFZo8wRpNIxiAJBg8cJyn0E9Nnb5ET9J5HI2W1JnqEDD7wLO6CvqOJ4q+j9sQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
'@next/third-parties@15.2.2-canary.4':
|
||||
resolution: {integrity: sha512-NmVhfb22o8E1/d7X58AC6kpcHnufJTy7JLYkff2jMBKqTJelio+mQWupujSkjc46qysmGBxwrRXVybyLVvfFtw==}
|
||||
'@next/third-parties@15.2.2-canary.5':
|
||||
resolution: {integrity: sha512-HrUTYKSb29bqbgIwNuexH/SAX9riQQzXxjeyWiZ/htNXeBcTk3PzFAXGPyXwSbr2s81GUfBUXUwR8sbCPn47HQ==}
|
||||
peerDependencies:
|
||||
next: ^13.0.0 || ^14.0.0 || ^15.0.0
|
||||
react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
|
||||
@ -792,33 +792,6 @@ packages:
|
||||
react: ^18.0 || ^19.0 || ^19.0.0-rc
|
||||
react-dom: ^18.0 || ^19.0 || ^19.0.0-rc
|
||||
|
||||
'@react-spring/animated@9.7.5':
|
||||
resolution: {integrity: sha512-Tqrwz7pIlsSDITzxoLS3n/v/YCUHQdOIKtOJf4yL6kYVSDTSmVK1LI1Q3M/uu2Sx4X3pIWF3xLUhlsA6SPNTNg==}
|
||||
peerDependencies:
|
||||
react: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
|
||||
'@react-spring/core@9.7.5':
|
||||
resolution: {integrity: sha512-rmEqcxRcu7dWh7MnCcMXLvrf6/SDlSokLaLTxiPlAYi11nN3B5oiCUAblO72o+9z/87j2uzxa2Inm8UbLjXA+w==}
|
||||
peerDependencies:
|
||||
react: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
|
||||
'@react-spring/rafz@9.7.5':
|
||||
resolution: {integrity: sha512-5ZenDQMC48wjUzPAm1EtwQ5Ot3bLIAwwqP2w2owG5KoNdNHpEJV263nGhCeKKmuA3vG2zLLOdu3or6kuDjA6Aw==}
|
||||
|
||||
'@react-spring/shared@9.7.5':
|
||||
resolution: {integrity: sha512-wdtoJrhUeeyD/PP/zo+np2s1Z820Ohr/BbuVYv+3dVLW7WctoiN7std8rISoYoHpUXtbkpesSKuPIw/6U1w1Pw==}
|
||||
peerDependencies:
|
||||
react: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
|
||||
'@react-spring/types@9.7.5':
|
||||
resolution: {integrity: sha512-HVj7LrZ4ReHWBimBvu2SKND3cDVUPWKLqRTmWe/fNY6o1owGOX0cAHbdPDTMelgBlVbrTKrre6lFkhqGZErK/g==}
|
||||
|
||||
'@react-spring/web@9.7.5':
|
||||
resolution: {integrity: sha512-lmvqGwpe+CSttsWNZVr+Dg62adtKhauGwLyGE/RRyZ8AAMLgb9x3NDMA5RMElXo+IMyTkPp7nxTB8ZQlmhb6JQ==}
|
||||
peerDependencies:
|
||||
react: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
|
||||
'@rtsao/scc@1.1.0':
|
||||
resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==}
|
||||
|
||||
@ -1028,9 +1001,6 @@ packages:
|
||||
resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
argparse@1.0.10:
|
||||
resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
|
||||
|
||||
argparse@2.0.1:
|
||||
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
|
||||
|
||||
@ -1429,8 +1399,8 @@ packages:
|
||||
resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
eslint-config-next@15.2.2-canary.4:
|
||||
resolution: {integrity: sha512-4ObuFJ84oceK+4pB0bcZM66LiFhuBtd4g9skry3GtD486aWI/q9XZMI5HtBK7g080J+7Uul8nbyaOukQ17QQzA==}
|
||||
eslint-config-next@15.2.2-canary.5:
|
||||
resolution: {integrity: sha512-fG0yRdIVz1ZtsUyUL5hSKuFy1EWlnir1oGokz31YN0mZUn3xQ7UgmeVFBiQWOjGhAnEPewQrRRO3WV8DSTVpaw==}
|
||||
peerDependencies:
|
||||
eslint: ^7.23.0 || ^8.0.0 || ^9.0.0
|
||||
typescript: '>=3.3.1'
|
||||
@ -1565,11 +1535,6 @@ packages:
|
||||
resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
|
||||
esprima@4.0.1:
|
||||
resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
|
||||
engines: {node: '>=4'}
|
||||
hasBin: true
|
||||
|
||||
esquery@1.6.0:
|
||||
resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
|
||||
engines: {node: '>=0.10'}
|
||||
@ -1617,10 +1582,6 @@ packages:
|
||||
resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
|
||||
engines: {node: '>=16.17'}
|
||||
|
||||
extend-shallow@2.0.1:
|
||||
resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
extend@3.0.2:
|
||||
resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
|
||||
|
||||
@ -1776,10 +1737,6 @@ packages:
|
||||
resolution: {integrity: sha512-AjqGKbDGUFRKIRCP9tCKiIGHyriz2oHEbPIbEtcSLSs4YjReZOIPQQWek4+6hjw62H9QShXHyaGivGiYVLeYFQ==}
|
||||
engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0}
|
||||
|
||||
gray-matter@4.0.3:
|
||||
resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==}
|
||||
engines: {node: '>=6.0'}
|
||||
|
||||
gzip-size@6.0.0:
|
||||
resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==}
|
||||
engines: {node: '>=10'}
|
||||
@ -1969,10 +1926,6 @@ packages:
|
||||
is-empty@1.2.0:
|
||||
resolution: {integrity: sha512-F2FnH/otLNJv0J6wc73A5Xo7oHLNnqplYqZhUu01tD54DIPvxIRSTSLkrUB/M0nHO4vo1O9PDfN4KoTxCzLh/w==}
|
||||
|
||||
is-extendable@0.1.1:
|
||||
resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
is-extglob@2.1.1:
|
||||
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
@ -2093,10 +2046,6 @@ packages:
|
||||
js-tokens@4.0.0:
|
||||
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
|
||||
|
||||
js-yaml@3.14.1:
|
||||
resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
|
||||
hasBin: true
|
||||
|
||||
js-yaml@4.1.0:
|
||||
resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
|
||||
hasBin: true
|
||||
@ -2125,10 +2074,6 @@ packages:
|
||||
keyv@4.5.4:
|
||||
resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
|
||||
|
||||
kind-of@6.0.3:
|
||||
resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
kleur@4.1.5:
|
||||
resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
|
||||
engines: {node: '>=6'}
|
||||
@ -2421,8 +2366,8 @@ packages:
|
||||
natural-compare@1.4.0:
|
||||
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
|
||||
|
||||
next@15.2.2-canary.4:
|
||||
resolution: {integrity: sha512-Apju+VEC86qN6gvM0JvsyCd46mEAlqupBz3apheFEoAjJBY+tsgFGLGFH+nqt/YJ2D1UEKh1g/HqqIqkQIDAog==}
|
||||
next@15.2.2-canary.5:
|
||||
resolution: {integrity: sha512-GF6u1RCx1/OvtIjF03Hd29Qypcxd0Sa0awGnElA/UMWye4DOkbGa/Ar85qWwuj6m686Qqvc3hMAsA3TdMOvZdA==}
|
||||
engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
@ -2890,10 +2835,6 @@ packages:
|
||||
schema-dts@1.1.5:
|
||||
resolution: {integrity: sha512-RJr9EaCmsLzBX2NDiO5Z3ux2BVosNZN5jo0gWgsyKvxKIUL5R3swNvoorulAeL9kLB0iTSX7V6aokhla2m7xbg==}
|
||||
|
||||
section-matter@1.0.0:
|
||||
resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==}
|
||||
engines: {node: '>=4'}
|
||||
|
||||
selderee@0.11.0:
|
||||
resolution: {integrity: sha512-5TF+l7p4+OsnP8BCCvSyZiSPc4x4//p5uPwK8TCnVPJYRmU2aYKMpOXvw8zM5a5JvuuCGN1jmsMwuU2W02ukfA==}
|
||||
|
||||
@ -2992,9 +2933,6 @@ packages:
|
||||
spdx-license-ids@3.0.21:
|
||||
resolution: {integrity: sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==}
|
||||
|
||||
sprintf-js@1.0.3:
|
||||
resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
|
||||
|
||||
stable-hash@0.0.4:
|
||||
resolution: {integrity: sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==}
|
||||
|
||||
@ -3059,10 +2997,6 @@ packages:
|
||||
resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
strip-bom-string@1.0.0:
|
||||
resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
strip-bom@3.0.0:
|
||||
resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
|
||||
engines: {node: '>=4'}
|
||||
@ -3406,6 +3340,8 @@ snapshots:
|
||||
tslib: 2.8.1
|
||||
optional: true
|
||||
|
||||
'@emotion/hash@0.9.2': {}
|
||||
|
||||
'@esbuild/aix-ppc64@0.25.0':
|
||||
optional: true
|
||||
|
||||
@ -3682,53 +3618,53 @@ snapshots:
|
||||
'@types/react': 19.0.10
|
||||
react: 19.0.0
|
||||
|
||||
'@next/bundle-analyzer@15.2.2-canary.4':
|
||||
'@next/bundle-analyzer@15.2.2-canary.5':
|
||||
dependencies:
|
||||
webpack-bundle-analyzer: 4.10.1
|
||||
transitivePeerDependencies:
|
||||
- bufferutil
|
||||
- utf-8-validate
|
||||
|
||||
'@next/env@15.2.2-canary.4': {}
|
||||
'@next/env@15.2.2-canary.5': {}
|
||||
|
||||
'@next/eslint-plugin-next@15.2.2-canary.4':
|
||||
'@next/eslint-plugin-next@15.2.2-canary.5':
|
||||
dependencies:
|
||||
fast-glob: 3.3.1
|
||||
|
||||
'@next/mdx@15.2.2-canary.4(@mdx-js/loader@3.1.0(acorn@8.14.1))(@mdx-js/react@3.1.0(@types/react@19.0.10)(react@19.0.0))':
|
||||
'@next/mdx@15.2.2-canary.5(@mdx-js/loader@3.1.0(acorn@8.14.1))(@mdx-js/react@3.1.0(@types/react@19.0.10)(react@19.0.0))':
|
||||
dependencies:
|
||||
source-map: 0.7.4
|
||||
optionalDependencies:
|
||||
'@mdx-js/loader': 3.1.0(acorn@8.14.1)
|
||||
'@mdx-js/react': 3.1.0(@types/react@19.0.10)(react@19.0.0)
|
||||
|
||||
'@next/swc-darwin-arm64@15.2.2-canary.4':
|
||||
'@next/swc-darwin-arm64@15.2.2-canary.5':
|
||||
optional: true
|
||||
|
||||
'@next/swc-darwin-x64@15.2.2-canary.4':
|
||||
'@next/swc-darwin-x64@15.2.2-canary.5':
|
||||
optional: true
|
||||
|
||||
'@next/swc-linux-arm64-gnu@15.2.2-canary.4':
|
||||
'@next/swc-linux-arm64-gnu@15.2.2-canary.5':
|
||||
optional: true
|
||||
|
||||
'@next/swc-linux-arm64-musl@15.2.2-canary.4':
|
||||
'@next/swc-linux-arm64-musl@15.2.2-canary.5':
|
||||
optional: true
|
||||
|
||||
'@next/swc-linux-x64-gnu@15.2.2-canary.4':
|
||||
'@next/swc-linux-x64-gnu@15.2.2-canary.5':
|
||||
optional: true
|
||||
|
||||
'@next/swc-linux-x64-musl@15.2.2-canary.4':
|
||||
'@next/swc-linux-x64-musl@15.2.2-canary.5':
|
||||
optional: true
|
||||
|
||||
'@next/swc-win32-arm64-msvc@15.2.2-canary.4':
|
||||
'@next/swc-win32-arm64-msvc@15.2.2-canary.5':
|
||||
optional: true
|
||||
|
||||
'@next/swc-win32-x64-msvc@15.2.2-canary.4':
|
||||
'@next/swc-win32-x64-msvc@15.2.2-canary.5':
|
||||
optional: true
|
||||
|
||||
'@next/third-parties@15.2.2-canary.4(next@15.2.2-canary.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)':
|
||||
'@next/third-parties@15.2.2-canary.5(next@15.2.2-canary.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)':
|
||||
dependencies:
|
||||
next: 15.2.2-canary.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
|
||||
next: 15.2.2-canary.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
|
||||
react: 19.0.0
|
||||
third-party-capital: 1.0.20
|
||||
|
||||
@ -3875,38 +3811,6 @@ snapshots:
|
||||
react-dom: 19.0.0(react@19.0.0)
|
||||
react-promise-suspense: 0.3.4
|
||||
|
||||
'@react-spring/animated@9.7.5(react@19.0.0)':
|
||||
dependencies:
|
||||
'@react-spring/shared': 9.7.5(react@19.0.0)
|
||||
'@react-spring/types': 9.7.5
|
||||
react: 19.0.0
|
||||
|
||||
'@react-spring/core@9.7.5(react@19.0.0)':
|
||||
dependencies:
|
||||
'@react-spring/animated': 9.7.5(react@19.0.0)
|
||||
'@react-spring/shared': 9.7.5(react@19.0.0)
|
||||
'@react-spring/types': 9.7.5
|
||||
react: 19.0.0
|
||||
|
||||
'@react-spring/rafz@9.7.5': {}
|
||||
|
||||
'@react-spring/shared@9.7.5(react@19.0.0)':
|
||||
dependencies:
|
||||
'@react-spring/rafz': 9.7.5
|
||||
'@react-spring/types': 9.7.5
|
||||
react: 19.0.0
|
||||
|
||||
'@react-spring/types@9.7.5': {}
|
||||
|
||||
'@react-spring/web@9.7.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
|
||||
dependencies:
|
||||
'@react-spring/animated': 9.7.5(react@19.0.0)
|
||||
'@react-spring/core': 9.7.5(react@19.0.0)
|
||||
'@react-spring/shared': 9.7.5(react@19.0.0)
|
||||
'@react-spring/types': 9.7.5
|
||||
react: 19.0.0
|
||||
react-dom: 19.0.0(react@19.0.0)
|
||||
|
||||
'@rtsao/scc@1.1.0': {}
|
||||
|
||||
'@rushstack/eslint-patch@1.10.5': {}
|
||||
@ -4075,9 +3979,9 @@ snapshots:
|
||||
|
||||
'@ungap/structured-clone@1.3.0': {}
|
||||
|
||||
'@vercel/analytics@1.5.0(next@15.2.2-canary.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)':
|
||||
'@vercel/analytics@1.5.0(next@15.2.2-canary.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)':
|
||||
optionalDependencies:
|
||||
next: 15.2.2-canary.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
|
||||
next: 15.2.2-canary.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
|
||||
react: 19.0.0
|
||||
|
||||
abbrev@2.0.0: {}
|
||||
@ -4113,10 +4017,6 @@ snapshots:
|
||||
|
||||
ansi-styles@6.2.1: {}
|
||||
|
||||
argparse@1.0.10:
|
||||
dependencies:
|
||||
sprintf-js: 1.0.3
|
||||
|
||||
argparse@2.0.1: {}
|
||||
|
||||
aria-query@5.3.2: {}
|
||||
@ -4613,9 +4513,9 @@ snapshots:
|
||||
|
||||
escape-string-regexp@5.0.0: {}
|
||||
|
||||
eslint-config-next@15.2.2-canary.4(eslint@9.22.0)(typescript@5.8.2):
|
||||
eslint-config-next@15.2.2-canary.5(eslint@9.22.0)(typescript@5.8.2):
|
||||
dependencies:
|
||||
'@next/eslint-plugin-next': 15.2.2-canary.4
|
||||
'@next/eslint-plugin-next': 15.2.2-canary.5
|
||||
'@rushstack/eslint-patch': 1.10.5
|
||||
'@typescript-eslint/eslint-plugin': 8.26.0(@typescript-eslint/parser@8.26.0(eslint@9.22.0)(typescript@5.8.2))(eslint@9.22.0)(typescript@5.8.2)
|
||||
'@typescript-eslint/parser': 8.26.0(eslint@9.22.0)(typescript@5.8.2)
|
||||
@ -4852,8 +4752,6 @@ snapshots:
|
||||
acorn-jsx: 5.3.2(acorn@8.14.1)
|
||||
eslint-visitor-keys: 3.4.3
|
||||
|
||||
esprima@4.0.1: {}
|
||||
|
||||
esquery@1.6.0:
|
||||
dependencies:
|
||||
estraverse: 5.3.0
|
||||
@ -4917,10 +4815,6 @@ snapshots:
|
||||
signal-exit: 4.1.0
|
||||
strip-final-newline: 3.0.0
|
||||
|
||||
extend-shallow@2.0.1:
|
||||
dependencies:
|
||||
is-extendable: 0.1.1
|
||||
|
||||
extend@3.0.2: {}
|
||||
|
||||
fast-content-type-parse@2.0.1: {}
|
||||
@ -5083,13 +4977,6 @@ snapshots:
|
||||
|
||||
graphql@16.10.0: {}
|
||||
|
||||
gray-matter@4.0.3:
|
||||
dependencies:
|
||||
js-yaml: 3.14.1
|
||||
kind-of: 6.0.3
|
||||
section-matter: 1.0.0
|
||||
strip-bom-string: 1.0.0
|
||||
|
||||
gzip-size@6.0.0:
|
||||
dependencies:
|
||||
duplexer: 0.1.2
|
||||
@ -5367,8 +5254,6 @@ snapshots:
|
||||
|
||||
is-empty@1.2.0: {}
|
||||
|
||||
is-extendable@0.1.1: {}
|
||||
|
||||
is-extglob@2.1.1: {}
|
||||
|
||||
is-finalizationregistry@1.1.1:
|
||||
@ -5483,11 +5368,6 @@ snapshots:
|
||||
|
||||
js-tokens@4.0.0: {}
|
||||
|
||||
js-yaml@3.14.1:
|
||||
dependencies:
|
||||
argparse: 1.0.10
|
||||
esprima: 4.0.1
|
||||
|
||||
js-yaml@4.1.0:
|
||||
dependencies:
|
||||
argparse: 2.0.1
|
||||
@ -5515,8 +5395,6 @@ snapshots:
|
||||
dependencies:
|
||||
json-buffer: 3.0.1
|
||||
|
||||
kind-of@6.0.3: {}
|
||||
|
||||
kleur@4.1.5: {}
|
||||
|
||||
language-subtag-registry@0.3.23: {}
|
||||
@ -6081,9 +5959,9 @@ snapshots:
|
||||
|
||||
natural-compare@1.4.0: {}
|
||||
|
||||
next@15.2.2-canary.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
|
||||
next@15.2.2-canary.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
|
||||
dependencies:
|
||||
'@next/env': 15.2.2-canary.4
|
||||
'@next/env': 15.2.2-canary.5
|
||||
'@swc/counter': 0.1.3
|
||||
'@swc/helpers': 0.5.15
|
||||
busboy: 1.6.0
|
||||
@ -6093,14 +5971,14 @@ snapshots:
|
||||
react-dom: 19.0.0(react@19.0.0)
|
||||
styled-jsx: 5.1.6(react@19.0.0)
|
||||
optionalDependencies:
|
||||
'@next/swc-darwin-arm64': 15.2.2-canary.4
|
||||
'@next/swc-darwin-x64': 15.2.2-canary.4
|
||||
'@next/swc-linux-arm64-gnu': 15.2.2-canary.4
|
||||
'@next/swc-linux-arm64-musl': 15.2.2-canary.4
|
||||
'@next/swc-linux-x64-gnu': 15.2.2-canary.4
|
||||
'@next/swc-linux-x64-musl': 15.2.2-canary.4
|
||||
'@next/swc-win32-arm64-msvc': 15.2.2-canary.4
|
||||
'@next/swc-win32-x64-msvc': 15.2.2-canary.4
|
||||
'@next/swc-darwin-arm64': 15.2.2-canary.5
|
||||
'@next/swc-darwin-x64': 15.2.2-canary.5
|
||||
'@next/swc-linux-arm64-gnu': 15.2.2-canary.5
|
||||
'@next/swc-linux-arm64-musl': 15.2.2-canary.5
|
||||
'@next/swc-linux-x64-gnu': 15.2.2-canary.5
|
||||
'@next/swc-linux-x64-musl': 15.2.2-canary.5
|
||||
'@next/swc-win32-arm64-msvc': 15.2.2-canary.5
|
||||
'@next/swc-win32-x64-msvc': 15.2.2-canary.5
|
||||
sharp: 0.33.5
|
||||
transitivePeerDependencies:
|
||||
- '@babel/core'
|
||||
@ -6674,11 +6552,6 @@ snapshots:
|
||||
|
||||
schema-dts@1.1.5: {}
|
||||
|
||||
section-matter@1.0.0:
|
||||
dependencies:
|
||||
extend-shallow: 2.0.1
|
||||
kind-of: 6.0.3
|
||||
|
||||
selderee@0.11.0:
|
||||
dependencies:
|
||||
parseley: 0.12.1
|
||||
@ -6815,8 +6688,6 @@ snapshots:
|
||||
|
||||
spdx-license-ids@3.0.21: {}
|
||||
|
||||
sprintf-js@1.0.3: {}
|
||||
|
||||
stable-hash@0.0.4: {}
|
||||
|
||||
streamsearch@1.1.0: {}
|
||||
@ -6914,8 +6785,6 @@ snapshots:
|
||||
dependencies:
|
||||
ansi-regex: 6.1.0
|
||||
|
||||
strip-bom-string@1.0.0: {}
|
||||
|
||||
strip-bom@3.0.0: {}
|
||||
|
||||
strip-final-newline@3.0.0: {}
|
||||
|
Loading…
x
Reference in New Issue
Block a user