mirror of
https://github.com/jakejarvis/jarv.is.git
synced 2025-06-30 06:36:37 -04:00
simplify theme provider
This commit is contained in:
@ -1 +1 @@
|
||||
22.13.1
|
||||
22.14.0
|
||||
|
@ -13,7 +13,7 @@ import { SiMarkdown } from "react-icons/si";
|
||||
import styles from "./form.module.css";
|
||||
|
||||
const ContactForm = () => {
|
||||
const { activeTheme } = useTheme();
|
||||
const { theme } = useTheme();
|
||||
const [formState, formAction, pending] = useActionState<
|
||||
Partial<{ success: boolean; message: string; payload: FormData }>,
|
||||
FormData
|
||||
@ -81,7 +81,7 @@ const ContactForm = () => {
|
||||
<Turnstile
|
||||
sitekey={process.env.NEXT_PUBLIC_TURNSTILE_SITE_KEY || "1x00000000000000000000AA"}
|
||||
style={{ margin: "1em 0" }}
|
||||
theme={activeTheme === "dark" ? activeTheme : "light"}
|
||||
theme={theme === "dark" ? theme : "light"}
|
||||
fixedSize
|
||||
/>
|
||||
|
||||
|
@ -28,7 +28,7 @@ export async function generateStaticParams() {
|
||||
const slugs = await getPostSlugs();
|
||||
|
||||
// map slugs into a static paths object required by next.js
|
||||
return slugs.map((slug: string) => ({
|
||||
return slugs.map((slug) => ({
|
||||
slug,
|
||||
}));
|
||||
}
|
||||
|
11
app/page.tsx
11
app/page.tsx
@ -283,7 +283,7 @@ export default function Page() {
|
||||
>
|
||||
Bluesky
|
||||
</ColorfulLink>
|
||||
,{" "}
|
||||
, or{" "}
|
||||
<ColorfulLink
|
||||
href="https://fediverse.jarv.is/@jake"
|
||||
rel="me"
|
||||
@ -292,15 +292,6 @@ export default function Page() {
|
||||
darkColor="#7b87ff"
|
||||
>
|
||||
Mastodon
|
||||
</ColorfulLink>
|
||||
, or{" "}
|
||||
<ColorfulLink
|
||||
href="sms:+1-617-917-3737"
|
||||
title="Send SMS to +1 (617) 917-3737"
|
||||
lightColor="#6fcc01"
|
||||
darkColor="#8edb34"
|
||||
>
|
||||
SMS
|
||||
</ColorfulLink>{" "}
|
||||
as well!
|
||||
</p>
|
||||
|
@ -1,11 +1,10 @@
|
||||
import CodeBlock from "../CodeBlock";
|
||||
import CodeInline from "../CodeInline";
|
||||
import type { PropsWithChildren } from "react";
|
||||
import type { ComponentPropsWithoutRef } from "react";
|
||||
|
||||
export type CodeProps = PropsWithChildren<{
|
||||
export type CodeProps = ComponentPropsWithoutRef<"code"> & {
|
||||
forceBlock?: boolean;
|
||||
className?: string;
|
||||
}>;
|
||||
};
|
||||
|
||||
// a simple wrapper component that "intelligently" picks between inline code and code blocks (w/ optional syntax
|
||||
// highlighting & a clipboard button)
|
||||
|
@ -14,7 +14,7 @@ export type CommentsProps = ComponentPropsWithoutRef<"div"> & {
|
||||
};
|
||||
|
||||
const Comments = ({ title, className, ...rest }: CommentsProps) => {
|
||||
const { activeTheme } = useTheme();
|
||||
const { theme } = useTheme();
|
||||
|
||||
// fail silently if giscus isn't configured
|
||||
if (!config.giscusConfig) {
|
||||
@ -36,7 +36,7 @@ const Comments = ({ title, className, ...rest }: CommentsProps) => {
|
||||
emitMetadata="0"
|
||||
inputPosition="top"
|
||||
loading="lazy"
|
||||
theme={activeTheme === "dark" ? activeTheme : "light"}
|
||||
theme={theme === "dark" ? theme : "light"}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
|
@ -14,13 +14,13 @@ export type ThemeToggleProps = {
|
||||
|
||||
const ThemeToggle = ({ className }: ThemeToggleProps) => {
|
||||
const hasMounted = useHasMounted();
|
||||
const { activeTheme, setTheme } = useTheme();
|
||||
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 `activeTheme` might be undefined
|
||||
const safeTheme = activeTheme === "dark" ? activeTheme : "light";
|
||||
// default to light since `theme` might be undefined
|
||||
const safeTheme = theme === "dark" ? theme : "light";
|
||||
|
||||
// accessibility: disable animation if user prefers reduced motion
|
||||
useEffect(() => {
|
||||
|
@ -1,14 +1,14 @@
|
||||
import { formatDate } from "../../lib/helpers/format-date";
|
||||
import type { ComponentPropsWithoutRef } from "react";
|
||||
|
||||
export type TimeProps = {
|
||||
export type TimeProps = ComponentPropsWithoutRef<"time"> & {
|
||||
date: string | number | Date;
|
||||
format?: string;
|
||||
className?: string;
|
||||
};
|
||||
|
||||
const Time = ({ date, format = "MMM D", className }: TimeProps) => {
|
||||
const Time = ({ date, format = "MMM D", ...rest }: TimeProps) => {
|
||||
return (
|
||||
<time dateTime={formatDate(date)} title={formatDate(date, "MMM D, YYYY, h:mm A z")} className={className}>
|
||||
<time dateTime={formatDate(date)} title={formatDate(date, "MMM D, YYYY, h:mm A z")} {...rest}>
|
||||
{formatDate(date, format)}
|
||||
</time>
|
||||
);
|
||||
|
@ -1,43 +1,39 @@
|
||||
"use client";
|
||||
|
||||
import { createContext, useCallback, useEffect, useMemo, useState } from "react";
|
||||
import { createContext, useCallback, useEffect, useState } from "react";
|
||||
import useLocalStorage from "../hooks/useLocalStorage";
|
||||
import useMedia from "../hooks/useMedia";
|
||||
import type { Context, PropsWithChildren } from "react";
|
||||
|
||||
type Themes = "light" | "dark";
|
||||
|
||||
export const ThemeContext: Context<{
|
||||
/**
|
||||
* If the user's theme preference is unset, this returns whether the system preference resolved to "light" or "dark".
|
||||
* If the user's theme preference is set, the preference is returned instead, regardless of their system's theme.
|
||||
*/
|
||||
activeTheme: string;
|
||||
theme: Themes;
|
||||
/** Update the theme manually and save to local storage. */
|
||||
setTheme: (theme: string) => void;
|
||||
setTheme: (theme: Themes) => void;
|
||||
}> = createContext({
|
||||
activeTheme: "",
|
||||
theme: "" as Themes,
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
setTheme: (_) => {},
|
||||
});
|
||||
|
||||
// provider used once in _app.tsx to wrap entire app
|
||||
export const ThemeProvider = ({
|
||||
storageKey = "theme",
|
||||
children,
|
||||
}: PropsWithChildren<{
|
||||
/** Key to use when saving preferred theme to local storage. Defaults to "theme". */
|
||||
storageKey?: string;
|
||||
}>) => {
|
||||
export const ThemeProvider = ({ children }: PropsWithChildren) => {
|
||||
// keep track of if/when the user has set their theme *on this site*
|
||||
const [preferredTheme, setPreferredTheme] = useLocalStorage(storageKey);
|
||||
const [preferredTheme, setPreferredTheme] = useLocalStorage<Themes>("theme");
|
||||
// keep track of changes to the user's OS/browser dark mode setting
|
||||
const [systemTheme, setSystemTheme] = useState("");
|
||||
const [systemTheme, setSystemTheme] = useState<Themes>("" as Themes);
|
||||
// hook into system `prefers-dark-mode` setting
|
||||
// https://web.dev/prefers-color-scheme/#the-prefers-color-scheme-media-query
|
||||
const isSystemDark = useMedia("(prefers-color-scheme: dark)");
|
||||
|
||||
// updates the DOM and optionally saves the new theme to local storage
|
||||
const changeTheme = useCallback(
|
||||
(theme: string, updateStorage?: boolean) => {
|
||||
const applyTheme = useCallback(
|
||||
(theme: Themes, updateStorage?: boolean) => {
|
||||
if (updateStorage) {
|
||||
setPreferredTheme(theme);
|
||||
}
|
||||
@ -57,9 +53,9 @@ export const ThemeProvider = ({
|
||||
|
||||
// only actually change the theme if preference is unset (and *don't* save new theme to storage)
|
||||
if (!preferredTheme) {
|
||||
changeTheme(systemResolved, false);
|
||||
applyTheme(systemResolved, false);
|
||||
}
|
||||
}, [changeTheme, preferredTheme, isSystemDark]);
|
||||
}, [applyTheme, preferredTheme, isSystemDark]);
|
||||
|
||||
// color-scheme handling (tells browser how to render built-in elements like forms, scrollbars, etc.)
|
||||
useEffect(() => {
|
||||
@ -70,16 +66,13 @@ export const ThemeProvider = ({
|
||||
document.documentElement.style?.setProperty("color-scheme", colorScheme);
|
||||
}, [preferredTheme, systemTheme]);
|
||||
|
||||
const providerValues = useMemo(
|
||||
() => ({
|
||||
activeTheme: preferredTheme ?? systemTheme,
|
||||
setTheme: (theme: string) => {
|
||||
// force save to local storage
|
||||
changeTheme(theme, true);
|
||||
},
|
||||
}),
|
||||
[changeTheme, preferredTheme, systemTheme]
|
||||
);
|
||||
const providerValues = {
|
||||
theme: preferredTheme ?? systemTheme,
|
||||
setTheme: (theme: Themes) => {
|
||||
// force save to local storage
|
||||
applyTheme(theme, true);
|
||||
},
|
||||
};
|
||||
|
||||
return <ThemeContext.Provider value={providerValues}>{children}</ThemeContext.Provider>;
|
||||
};
|
||||
|
@ -69,7 +69,7 @@
|
||||
"@eslint/js": "^9.21.0",
|
||||
"@jakejarvis/eslint-config": "~4.0.7",
|
||||
"@types/comma-number": "^2.1.2",
|
||||
"@types/node": "^22.13.5",
|
||||
"@types/node": "^22.13.8",
|
||||
"@types/prop-types": "^15.7.14",
|
||||
"@types/react": "^19.0.10",
|
||||
"@types/react-dom": "^19.0.4",
|
||||
@ -83,9 +83,9 @@
|
||||
"lint-staged": "^15.4.3",
|
||||
"prettier": "^3.5.2",
|
||||
"prisma": "^6.4.1",
|
||||
"schema-dts": "^1.1.2",
|
||||
"schema-dts": "^1.1.5",
|
||||
"simple-git-hooks": "^2.11.1",
|
||||
"typescript": "^5.8.2"
|
||||
"typescript": "5.7.3"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"sharp": "^0.33.5"
|
||||
@ -93,7 +93,7 @@
|
||||
"engines": {
|
||||
"node": ">=20.x"
|
||||
},
|
||||
"packageManager": "pnpm@10.2.1+sha512.398035c7bd696d0ba0b10a688ed558285329d27ea994804a52bad9167d8e3a72bcb993f9699585d3ca25779ac64949ef422757a6c31102c12ab932e5cbe5cc92",
|
||||
"packageManager": "pnpm@10.5.2+sha512.da9dc28cd3ff40d0592188235ab25d3202add8a207afbedc682220e4a0029ffbff4562102b9e6e46b4e3f9e8bd53e6d05de48544b0c57d4b0179e22c76d1199b",
|
||||
"cacheDirectories": [
|
||||
"node_modules",
|
||||
".next/cache"
|
||||
|
120
pnpm-lock.yaml
generated
120
pnpm-lock.yaml
generated
@ -25,7 +25,7 @@ importers:
|
||||
version: 15.26.0
|
||||
'@prisma/client':
|
||||
specifier: ^6.4.1
|
||||
version: 6.4.1(prisma@6.4.1(typescript@5.8.2))(typescript@5.8.2)
|
||||
version: 6.4.1(prisma@6.4.1(typescript@5.7.3))(typescript@5.7.3)
|
||||
'@react-spring/web':
|
||||
specifier: ^9.7.5
|
||||
version: 9.7.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
|
||||
@ -151,8 +151,8 @@ importers:
|
||||
specifier: ^2.1.2
|
||||
version: 2.1.2
|
||||
'@types/node':
|
||||
specifier: ^22.13.5
|
||||
version: 22.13.5
|
||||
specifier: ^22.13.8
|
||||
version: 22.13.8
|
||||
'@types/prop-types':
|
||||
specifier: ^15.7.14
|
||||
version: 15.7.14
|
||||
@ -173,7 +173,7 @@ importers:
|
||||
version: 9.21.0
|
||||
eslint-config-next:
|
||||
specifier: 15.2.1-canary.4
|
||||
version: 15.2.1-canary.4(eslint@9.21.0)(typescript@5.8.2)
|
||||
version: 15.2.1-canary.4(eslint@9.21.0)(typescript@5.7.3)
|
||||
eslint-config-prettier:
|
||||
specifier: ~10.0.2
|
||||
version: 10.0.2(eslint@9.21.0)
|
||||
@ -191,16 +191,16 @@ importers:
|
||||
version: 3.5.2
|
||||
prisma:
|
||||
specifier: ^6.4.1
|
||||
version: 6.4.1(typescript@5.8.2)
|
||||
version: 6.4.1(typescript@5.7.3)
|
||||
schema-dts:
|
||||
specifier: ^1.1.2
|
||||
version: 1.1.2(typescript@5.8.2)
|
||||
specifier: ^1.1.5
|
||||
version: 1.1.5
|
||||
simple-git-hooks:
|
||||
specifier: ^2.11.1
|
||||
version: 2.11.1
|
||||
typescript:
|
||||
specifier: ^5.8.2
|
||||
version: 5.8.2
|
||||
specifier: 5.7.3
|
||||
version: 5.7.3
|
||||
optionalDependencies:
|
||||
sharp:
|
||||
specifier: ^0.33.5
|
||||
@ -820,8 +820,8 @@ packages:
|
||||
'@types/nlcst@2.0.3':
|
||||
resolution: {integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==}
|
||||
|
||||
'@types/node@22.13.5':
|
||||
resolution: {integrity: sha512-+lTU0PxZXn0Dr1NBtC7Y8cR21AJr87dLLU953CWA6pMxxv/UDc7jYAY90upcrie1nRcD6XNG5HOYEDtgW5TxAg==}
|
||||
'@types/node@22.13.8':
|
||||
resolution: {integrity: sha512-G3EfaZS+iOGYWLLRCEAXdWK9my08oHNZ+FHluRiggIYJPOXzhOiDgpVCUHaUvyIC5/fj7C/p637jdzC666AOKQ==}
|
||||
|
||||
'@types/prismjs@1.26.5':
|
||||
resolution: {integrity: sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==}
|
||||
@ -2889,10 +2889,8 @@ packages:
|
||||
scheduler@0.25.0:
|
||||
resolution: {integrity: sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==}
|
||||
|
||||
schema-dts@1.1.2:
|
||||
resolution: {integrity: sha512-MpNwH0dZJHinVxk9bT8XUdjKTxMYrA5bLtrrGmFA6PTLwlOKnhi67XoRd6/ty+Djt6ZC0slR57qFhZDNMI6DhQ==}
|
||||
peerDependencies:
|
||||
typescript: '>=4.1.0'
|
||||
schema-dts@1.1.5:
|
||||
resolution: {integrity: sha512-RJr9EaCmsLzBX2NDiO5Z3ux2BVosNZN5jo0gWgsyKvxKIUL5R3swNvoorulAeL9kLB0iTSX7V6aokhla2m7xbg==}
|
||||
|
||||
section-matter@1.0.0:
|
||||
resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==}
|
||||
@ -3180,8 +3178,8 @@ packages:
|
||||
typedarray@0.0.6:
|
||||
resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==}
|
||||
|
||||
typescript@5.8.2:
|
||||
resolution: {integrity: sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==}
|
||||
typescript@5.7.3:
|
||||
resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==}
|
||||
engines: {node: '>=14.17'}
|
||||
hasBin: true
|
||||
|
||||
@ -3810,10 +3808,10 @@ snapshots:
|
||||
|
||||
'@polka/url@1.0.0-next.28': {}
|
||||
|
||||
'@prisma/client@6.4.1(prisma@6.4.1(typescript@5.8.2))(typescript@5.8.2)':
|
||||
'@prisma/client@6.4.1(prisma@6.4.1(typescript@5.7.3))(typescript@5.7.3)':
|
||||
optionalDependencies:
|
||||
prisma: 6.4.1(typescript@5.8.2)
|
||||
typescript: 5.8.2
|
||||
prisma: 6.4.1(typescript@5.7.3)
|
||||
typescript: 5.7.3
|
||||
|
||||
'@prisma/debug@6.4.1': {}
|
||||
|
||||
@ -3899,7 +3897,7 @@ snapshots:
|
||||
|
||||
'@types/concat-stream@2.0.3':
|
||||
dependencies:
|
||||
'@types/node': 22.13.5
|
||||
'@types/node': 22.13.8
|
||||
|
||||
'@types/debug@4.1.12':
|
||||
dependencies:
|
||||
@ -3941,7 +3939,7 @@ snapshots:
|
||||
dependencies:
|
||||
'@types/unist': 3.0.3
|
||||
|
||||
'@types/node@22.13.5':
|
||||
'@types/node@22.13.8':
|
||||
dependencies:
|
||||
undici-types: 6.20.0
|
||||
|
||||
@ -3969,32 +3967,32 @@ snapshots:
|
||||
|
||||
'@types/unist@3.0.3': {}
|
||||
|
||||
'@typescript-eslint/eslint-plugin@8.25.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.8.2))(eslint@9.21.0)(typescript@5.8.2)':
|
||||
'@typescript-eslint/eslint-plugin@8.25.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.7.3))(eslint@9.21.0)(typescript@5.7.3)':
|
||||
dependencies:
|
||||
'@eslint-community/regexpp': 4.12.1
|
||||
'@typescript-eslint/parser': 8.25.0(eslint@9.21.0)(typescript@5.8.2)
|
||||
'@typescript-eslint/parser': 8.25.0(eslint@9.21.0)(typescript@5.7.3)
|
||||
'@typescript-eslint/scope-manager': 8.25.0
|
||||
'@typescript-eslint/type-utils': 8.25.0(eslint@9.21.0)(typescript@5.8.2)
|
||||
'@typescript-eslint/utils': 8.25.0(eslint@9.21.0)(typescript@5.8.2)
|
||||
'@typescript-eslint/type-utils': 8.25.0(eslint@9.21.0)(typescript@5.7.3)
|
||||
'@typescript-eslint/utils': 8.25.0(eslint@9.21.0)(typescript@5.7.3)
|
||||
'@typescript-eslint/visitor-keys': 8.25.0
|
||||
eslint: 9.21.0
|
||||
graphemer: 1.4.0
|
||||
ignore: 5.3.2
|
||||
natural-compare: 1.4.0
|
||||
ts-api-utils: 2.0.1(typescript@5.8.2)
|
||||
typescript: 5.8.2
|
||||
ts-api-utils: 2.0.1(typescript@5.7.3)
|
||||
typescript: 5.7.3
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.8.2)':
|
||||
'@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.7.3)':
|
||||
dependencies:
|
||||
'@typescript-eslint/scope-manager': 8.25.0
|
||||
'@typescript-eslint/types': 8.25.0
|
||||
'@typescript-eslint/typescript-estree': 8.25.0(typescript@5.8.2)
|
||||
'@typescript-eslint/typescript-estree': 8.25.0(typescript@5.7.3)
|
||||
'@typescript-eslint/visitor-keys': 8.25.0
|
||||
debug: 4.4.0
|
||||
eslint: 9.21.0
|
||||
typescript: 5.8.2
|
||||
typescript: 5.7.3
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
@ -4003,20 +4001,20 @@ snapshots:
|
||||
'@typescript-eslint/types': 8.25.0
|
||||
'@typescript-eslint/visitor-keys': 8.25.0
|
||||
|
||||
'@typescript-eslint/type-utils@8.25.0(eslint@9.21.0)(typescript@5.8.2)':
|
||||
'@typescript-eslint/type-utils@8.25.0(eslint@9.21.0)(typescript@5.7.3)':
|
||||
dependencies:
|
||||
'@typescript-eslint/typescript-estree': 8.25.0(typescript@5.8.2)
|
||||
'@typescript-eslint/utils': 8.25.0(eslint@9.21.0)(typescript@5.8.2)
|
||||
'@typescript-eslint/typescript-estree': 8.25.0(typescript@5.7.3)
|
||||
'@typescript-eslint/utils': 8.25.0(eslint@9.21.0)(typescript@5.7.3)
|
||||
debug: 4.4.0
|
||||
eslint: 9.21.0
|
||||
ts-api-utils: 2.0.1(typescript@5.8.2)
|
||||
typescript: 5.8.2
|
||||
ts-api-utils: 2.0.1(typescript@5.7.3)
|
||||
typescript: 5.7.3
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/types@8.25.0': {}
|
||||
|
||||
'@typescript-eslint/typescript-estree@8.25.0(typescript@5.8.2)':
|
||||
'@typescript-eslint/typescript-estree@8.25.0(typescript@5.7.3)':
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 8.25.0
|
||||
'@typescript-eslint/visitor-keys': 8.25.0
|
||||
@ -4025,19 +4023,19 @@ snapshots:
|
||||
is-glob: 4.0.3
|
||||
minimatch: 9.0.5
|
||||
semver: 7.7.1
|
||||
ts-api-utils: 2.0.1(typescript@5.8.2)
|
||||
typescript: 5.8.2
|
||||
ts-api-utils: 2.0.1(typescript@5.7.3)
|
||||
typescript: 5.7.3
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/utils@8.25.0(eslint@9.21.0)(typescript@5.8.2)':
|
||||
'@typescript-eslint/utils@8.25.0(eslint@9.21.0)(typescript@5.7.3)':
|
||||
dependencies:
|
||||
'@eslint-community/eslint-utils': 4.4.1(eslint@9.21.0)
|
||||
'@typescript-eslint/scope-manager': 8.25.0
|
||||
'@typescript-eslint/types': 8.25.0
|
||||
'@typescript-eslint/typescript-estree': 8.25.0(typescript@5.8.2)
|
||||
'@typescript-eslint/typescript-estree': 8.25.0(typescript@5.7.3)
|
||||
eslint: 9.21.0
|
||||
typescript: 5.8.2
|
||||
typescript: 5.7.3
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
@ -4594,21 +4592,21 @@ snapshots:
|
||||
|
||||
escape-string-regexp@5.0.0: {}
|
||||
|
||||
eslint-config-next@15.2.1-canary.4(eslint@9.21.0)(typescript@5.8.2):
|
||||
eslint-config-next@15.2.1-canary.4(eslint@9.21.0)(typescript@5.7.3):
|
||||
dependencies:
|
||||
'@next/eslint-plugin-next': 15.2.1-canary.4
|
||||
'@rushstack/eslint-patch': 1.10.5
|
||||
'@typescript-eslint/eslint-plugin': 8.25.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.8.2))(eslint@9.21.0)(typescript@5.8.2)
|
||||
'@typescript-eslint/parser': 8.25.0(eslint@9.21.0)(typescript@5.8.2)
|
||||
'@typescript-eslint/eslint-plugin': 8.25.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.7.3))(eslint@9.21.0)(typescript@5.7.3)
|
||||
'@typescript-eslint/parser': 8.25.0(eslint@9.21.0)(typescript@5.7.3)
|
||||
eslint: 9.21.0
|
||||
eslint-import-resolver-node: 0.3.9
|
||||
eslint-import-resolver-typescript: 3.8.3(eslint-plugin-import@2.31.0)(eslint@9.21.0)
|
||||
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.8.2))(eslint-import-resolver-typescript@3.8.3)(eslint@9.21.0)
|
||||
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.7.3))(eslint-import-resolver-typescript@3.8.3)(eslint@9.21.0)
|
||||
eslint-plugin-jsx-a11y: 6.10.2(eslint@9.21.0)
|
||||
eslint-plugin-react: 7.37.4(eslint@9.21.0)
|
||||
eslint-plugin-react-hooks: 5.2.0(eslint@9.21.0)
|
||||
optionalDependencies:
|
||||
typescript: 5.8.2
|
||||
typescript: 5.7.3
|
||||
transitivePeerDependencies:
|
||||
- eslint-import-resolver-webpack
|
||||
- eslint-plugin-import-x
|
||||
@ -4637,7 +4635,7 @@ snapshots:
|
||||
stable-hash: 0.0.4
|
||||
tinyglobby: 0.2.12
|
||||
optionalDependencies:
|
||||
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.8.2))(eslint-import-resolver-typescript@3.8.3)(eslint@9.21.0)
|
||||
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.7.3))(eslint-import-resolver-typescript@3.8.3)(eslint@9.21.0)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
@ -4662,18 +4660,18 @@ snapshots:
|
||||
- bluebird
|
||||
- supports-color
|
||||
|
||||
eslint-module-utils@2.12.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.8.3)(eslint@9.21.0):
|
||||
eslint-module-utils@2.12.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.8.3)(eslint@9.21.0):
|
||||
dependencies:
|
||||
debug: 3.2.7
|
||||
optionalDependencies:
|
||||
'@typescript-eslint/parser': 8.25.0(eslint@9.21.0)(typescript@5.8.2)
|
||||
'@typescript-eslint/parser': 8.25.0(eslint@9.21.0)(typescript@5.7.3)
|
||||
eslint: 9.21.0
|
||||
eslint-import-resolver-node: 0.3.9
|
||||
eslint-import-resolver-typescript: 3.8.3(eslint-plugin-import@2.31.0)(eslint@9.21.0)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.8.2))(eslint-import-resolver-typescript@3.8.3)(eslint@9.21.0):
|
||||
eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.7.3))(eslint-import-resolver-typescript@3.8.3)(eslint@9.21.0):
|
||||
dependencies:
|
||||
'@rtsao/scc': 1.1.0
|
||||
array-includes: 3.1.8
|
||||
@ -4684,7 +4682,7 @@ snapshots:
|
||||
doctrine: 2.1.0
|
||||
eslint: 9.21.0
|
||||
eslint-import-resolver-node: 0.3.9
|
||||
eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.8.3)(eslint@9.21.0)
|
||||
eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.8.3)(eslint@9.21.0)
|
||||
hasown: 2.0.2
|
||||
is-core-module: 2.16.1
|
||||
is-glob: 4.0.3
|
||||
@ -4696,7 +4694,7 @@ snapshots:
|
||||
string.prototype.trimend: 1.0.9
|
||||
tsconfig-paths: 3.15.0
|
||||
optionalDependencies:
|
||||
'@typescript-eslint/parser': 8.25.0(eslint@9.21.0)(typescript@5.8.2)
|
||||
'@typescript-eslint/parser': 8.25.0(eslint@9.21.0)(typescript@5.7.3)
|
||||
transitivePeerDependencies:
|
||||
- eslint-import-resolver-typescript
|
||||
- eslint-import-resolver-webpack
|
||||
@ -6350,14 +6348,14 @@ snapshots:
|
||||
|
||||
prettier@3.5.2: {}
|
||||
|
||||
prisma@6.4.1(typescript@5.8.2):
|
||||
prisma@6.4.1(typescript@5.7.3):
|
||||
dependencies:
|
||||
'@prisma/engines': 6.4.1
|
||||
esbuild: 0.25.0
|
||||
esbuild-register: 3.6.0(esbuild@0.25.0)
|
||||
optionalDependencies:
|
||||
fsevents: 2.3.3
|
||||
typescript: 5.8.2
|
||||
typescript: 5.7.3
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
@ -6700,9 +6698,7 @@ snapshots:
|
||||
|
||||
scheduler@0.25.0: {}
|
||||
|
||||
schema-dts@1.1.2(typescript@5.8.2):
|
||||
dependencies:
|
||||
typescript: 5.8.2
|
||||
schema-dts@1.1.5: {}
|
||||
|
||||
section-matter@1.0.0:
|
||||
dependencies:
|
||||
@ -6999,9 +6995,9 @@ snapshots:
|
||||
|
||||
trough@2.2.0: {}
|
||||
|
||||
ts-api-utils@2.0.1(typescript@5.8.2):
|
||||
ts-api-utils@2.0.1(typescript@5.7.3):
|
||||
dependencies:
|
||||
typescript: 5.8.2
|
||||
typescript: 5.7.3
|
||||
|
||||
tsconfig-paths@3.15.0:
|
||||
dependencies:
|
||||
@ -7053,7 +7049,7 @@ snapshots:
|
||||
|
||||
typedarray@0.0.6: {}
|
||||
|
||||
typescript@5.8.2: {}
|
||||
typescript@5.7.3: {}
|
||||
|
||||
unbox-primitive@1.1.0:
|
||||
dependencies:
|
||||
@ -7069,7 +7065,7 @@ snapshots:
|
||||
'@types/concat-stream': 2.0.3
|
||||
'@types/debug': 4.1.12
|
||||
'@types/is-empty': 1.2.3
|
||||
'@types/node': 22.13.5
|
||||
'@types/node': 22.13.8
|
||||
'@types/unist': 3.0.3
|
||||
concat-stream: 2.0.0
|
||||
debug: 4.4.0
|
||||
|
Reference in New Issue
Block a user