diff --git a/packages/viewer/package.json b/packages/viewer/package.json
index b3d1816..099db2f 100644
--- a/packages/viewer/package.json
+++ b/packages/viewer/package.json
@@ -15,7 +15,7 @@
"highlight.js": "^11.8.0",
"jsdom": "^22.1.0",
"katex": "^0.16.8",
- "next": "^13.5.2",
+ "next": "^13.5.3",
"puppeteer": "^21.3.1",
"react": "^18.2.0",
"react-dom": "^18.2.0",
@@ -38,7 +38,7 @@
"eslint": "^8.49.0",
"eslint-config-airbnb": "^19.0.4",
"eslint-config-airbnb-typescript": "^17.1.0",
- "eslint-config-next": "^13.5.2",
+ "eslint-config-next": "^13.5.3",
"eslint-import-resolver-typescript": "^3.6.0",
"eslint-plugin-import": "^2.28.1",
"eslint-plugin-react": "^7.33.2",
diff --git a/packages/viewer/src/app/r/[rid]/get-reply-raw.ts b/packages/viewer/src/app/r/[rid]/get-reply-raw.ts
index b82b139..5cabf92 100644
--- a/packages/viewer/src/app/r/[rid]/get-reply-raw.ts
+++ b/packages/viewer/src/app/r/[rid]/get-reply-raw.ts
@@ -1,14 +1,15 @@
import { notFound } from "next/navigation";
import prisma from "@/lib/prisma";
+import { selectReply } from "@/lib/reply";
export default async (id: number) =>
(await prisma.reply.findUnique({
select: {
- id: true,
- author: true,
- time: true,
- content: true,
- discussion: {
+ ...selectReply.withLatestContent,
+ ...selectReply.withTakedown,
+ ...selectReply.withBasic,
+ postId: undefined,
+ post: {
select: {
id: true,
snapshots: {
@@ -18,17 +19,6 @@ export default async (id: number) =>
},
},
},
- takedown: {
- select: {
- submitter: {
- select: {
- id: true,
- username: true,
- },
- },
- reason: true,
- },
- },
},
where: { id },
})) ?? notFound();
diff --git a/packages/viewer/src/app/r/[rid]/image/template-default.ts b/packages/viewer/src/app/r/[rid]/image/template-default.ts
index 2fe7f54..02f2d7e 100644
--- a/packages/viewer/src/app/r/[rid]/image/template-default.ts
+++ b/packages/viewer/src/app/r/[rid]/image/template-default.ts
@@ -100,7 +100,7 @@ export default (
position: relative;
"
>
- ${reply.content}
+ ${reply.snapshots[0].content}
抱歉,本功能暂未完成 TAT>;
-
+ // return <>抱歉,本功能暂未完成 TAT>;
const id = parseInt(params.rid, 10);
if (Number.isNaN(id)) notFound();
- const replyRaw = await getReplyRaw(id);
- const reply = {
- ...replyRaw,
- ...(await serializeReply(replyRaw.discussion.id, replyRaw)),
- };
+ const reply = await getReplyRaw(id);
const pages = Math.ceil(
(await prisma.reply.count({
- where: { id: { lte: id }, discussionId: reply.discussion.id },
+ where: { id: { lte: id }, postId: reply.post.id },
})) / REPLIES_PER_PAGE,
);
// return redirect(`/${discussionId}/${pages}#${params.rid}`);
@@ -37,15 +33,15 @@ export default async function Page({ params }: { params: { rid: string } }) {
- {reply.time}
+ {stringifyTime(reply.time)}
@@ -53,28 +49,28 @@ export default async function Page({ params }: { params: { rid: string } }) {
className="position-absolute"
style={{ bottom: "-1.6em", left: ".8em" }}
>
-
+
-
+
- {reply.time}
+ {stringifyTime(reply.time)}
于帖子{" "}
- {reply.discussion.snapshots[0].title}
+ {reply.post.snapshots[0].title}
(第 {pages} 页)
@@ -85,9 +81,9 @@ export default async function Page({ params }: { params: { rid: string } }) {
于帖子{" "}
- {reply.discussion.snapshots[0].title}
+ {reply.post.snapshots[0].title}
(第 {pages} 页)
diff --git a/packages/viewer/src/app/user/[uid]/discussions/UserDiscussions.tsx b/packages/viewer/src/app/user/[uid]/discussions/UserDiscussions.tsx
index 4ab932a..9f22904 100644
--- a/packages/viewer/src/app/user/[uid]/discussions/UserDiscussions.tsx
+++ b/packages/viewer/src/app/user/[uid]/discussions/UserDiscussions.tsx
@@ -72,7 +72,7 @@ export default function UserDiscussions({ uid }: { uid: string }) {
)),
diff --git a/packages/viewer/src/app/user/[uid]/judgements/UserJudgements.tsx b/packages/viewer/src/app/user/[uid]/judgements/UserJudgements.tsx
index 4a0c930..449b05a 100644
--- a/packages/viewer/src/app/user/[uid]/judgements/UserJudgements.tsx
+++ b/packages/viewer/src/app/user/[uid]/judgements/UserJudgements.tsx
@@ -2,13 +2,13 @@
import useSWRInfinite from "swr/infinite";
import InfiniteScroll from "react-infinite-scroll-component";
-import { User } from "@prisma/client";
import fetcher from "@/lib/fetcher";
import Spinner from "@/components/Spinner";
import Ostracon from "@/components/Ostracon";
+import type { LatestUser } from "@/lib/user";
interface PageData {
- data: { time: string; user: User; content: string }[];
+ data: { time: string; user: LatestUser; content: string }[];
nextCursor: string;
}
diff --git a/packages/viewer/src/app/user/[uid]/judgements/data/route.ts b/packages/viewer/src/app/user/[uid]/judgements/data/route.ts
index bca4da1..660162c 100644
--- a/packages/viewer/src/app/user/[uid]/judgements/data/route.ts
+++ b/packages/viewer/src/app/user/[uid]/judgements/data/route.ts
@@ -1,17 +1,18 @@
import { NextResponse, type NextRequest } from "next/server";
import prisma from "@/lib/prisma";
import { NUM_PER_PAGE } from "../../constants";
+import { selectUser } from "@/lib/user";
export async function GET(
request: NextRequest,
- { params }: { params: { uid: string } },
+ { params }: { params: { uid: string } }
) {
const uid = parseInt(params.uid, 10);
const cursor = request.nextUrl.searchParams.get("cursor");
const judgements = await prisma.judgement.findMany({
select: {
time: true,
- user: true,
+ user: { select: selectUser.withLatest },
content: true,
},
where: {
diff --git a/packages/viewer/src/app/user/[uid]/layout.tsx b/packages/viewer/src/app/user/[uid]/layout.tsx
index 9c7d322..c0925bc 100644
--- a/packages/viewer/src/app/user/[uid]/layout.tsx
+++ b/packages/viewer/src/app/user/[uid]/layout.tsx
@@ -6,6 +6,7 @@ import UserInfo from "@/components/UserInfo";
import "@/components/markdown.css";
import TabNavigation from "./TabNavigation";
import UserStatistics from "./UserStatistics";
+import { selectUser } from "@/lib/user";
export async function generateMetadata({
params,
@@ -28,6 +29,7 @@ export default async function Layout({
const user =
(await prisma.user.findUnique({
where: { id: parseInt(params.uid, 10) },
+ select: selectUser.withLatest,
})) ?? notFound();
return (
diff --git a/packages/viewer/src/app/user/[uid]/participated/UserParticipated.tsx b/packages/viewer/src/app/user/[uid]/participated/UserParticipated.tsx
index 43c4eae..86072f0 100644
--- a/packages/viewer/src/app/user/[uid]/participated/UserParticipated.tsx
+++ b/packages/viewer/src/app/user/[uid]/participated/UserParticipated.tsx
@@ -4,7 +4,7 @@ import Link from "next/link";
import useSWRInfinite from "swr/infinite";
import InfiniteScroll from "react-infinite-scroll-component";
import type { PostWithLatestContent } from "@/lib/post";
-import type { UserMetioned } from "@/lib/serialize-reply";
+// import type { UserMetioned } from "@/lib/serialize-reply";
import UserAvatar from "@/components/UserAvatar";
import UserInfo from "@/components/UserInfo";
import Content from "@/components/replies/Content";
@@ -12,21 +12,12 @@ import fetcher from "@/lib/fetcher";
import Spinner from "@/components/Spinner";
import { NUM_MAX_REPLIES_SHOWED_DEFAULT } from "../constants";
import { LatestUser } from "@/lib/user";
+import { ReplyWithLatestContentPostMeta } from "@/lib/reply";
+import stringifyTime from "@/lib/time";
interface PageData {
data: (PostWithLatestContent & {
- content: string;
- time: string;
- usersMetioned: UserMetioned[];
- } & {
- replies: {
- content: string;
- time: string;
- usersMetioned: UserMetioned[];
- id: number;
- discussionId: number;
- authorId: number;
- }[];
+ replies: ReplyWithLatestContentPostMeta[];
})[];
nextCursor: number;
}
@@ -45,7 +36,7 @@ export default function UserParticipated({
: `/user/${uid}/participated/data${
pageIndex ? `?cursor=${previousPageData.nextCursor}` : ""
}`,
- fetcher,
+ fetcher
);
return (
@@ -136,7 +127,7 @@ export default function UserParticipated({
@@ -185,7 +176,7 @@ export default function UserParticipated({
- {reply.authorId ===
+ {reply.snapshots[0].author.id ===
discussion.snapshots[0].author.id ? (
- {reply.time}
+ {stringifyTime(reply.time)}
- {reply.time}
+ {stringifyTime(reply.time)}
@@ -288,12 +279,12 @@ export default function UserParticipated({
{" "}
{discussion.replyCount}
-
{discussion.time}
+
{stringifyTime(discussion.time)}
- )),
+ ))
)}
{isValidating && }
diff --git a/packages/viewer/src/app/user/[uid]/participated/data/route.ts b/packages/viewer/src/app/user/[uid]/participated/data/route.ts
index 73bc5fb..3dae923 100644
--- a/packages/viewer/src/app/user/[uid]/participated/data/route.ts
+++ b/packages/viewer/src/app/user/[uid]/participated/data/route.ts
@@ -1,7 +1,7 @@
import { NextResponse, type NextRequest } from "next/server";
import prisma from "@/lib/prisma";
import { getPost } from "@/lib/post";
-import serializeReply from "@/lib/serialize-reply";
+// import serializeReply from "@/lib/serialize-reply";
import { getReply } from "@/lib/reply";
import { NUM_PER_PAGE } from "../../constants";
@@ -11,7 +11,7 @@ export async function GET(
) {
const uid = parseInt(params.uid, 10);
const cursor = request.nextUrl.searchParams.get("cursor");
- const discussions = await prisma.post
+ const posts = await prisma.post
.findMany({
select: {
...getPost.latestWithContent,
@@ -34,27 +34,10 @@ export async function GET(
orderBy: { id: "desc" },
take: NUM_PER_PAGE,
})
- .then((d) =>
- Promise.all(
- d.map(async (discussion) => ({
- ...discussion,
- ...(await serializeReply(discussion.id, {
- content: discussion.snapshots[0].content,
- time: discussion.time,
- })),
- replies: await Promise.all(
- discussion.replies.map(async (reply) => ({
- ...reply,
- ...(await serializeReply(discussion.id, reply)),
- })),
- ),
- })),
- ),
- );
return NextResponse.json({
- data: discussions,
- nextCursor: discussions.length
- ? discussions[discussions.length - 1].id
+ data: posts,
+ nextCursor: posts.length
+ ? posts[posts.length - 1].id
: null,
});
}
diff --git a/packages/viewer/src/app/user/[uid]/replies/UserReplies.tsx b/packages/viewer/src/app/user/[uid]/replies/UserReplies.tsx
index 0849587..798395d 100644
--- a/packages/viewer/src/app/user/[uid]/replies/UserReplies.tsx
+++ b/packages/viewer/src/app/user/[uid]/replies/UserReplies.tsx
@@ -3,27 +3,15 @@
import Link from "next/link";
import useSWRInfinite from "swr/infinite";
import InfiniteScroll from "react-infinite-scroll-component";
-import type { User } from "@prisma/client";
-import type { UserMetioned } from "@/lib/serialize-reply";
+// import type { User } from "@prisma/client";
+// import type { UserMetioned } from "@/lib/serialize-reply";
import fetcher from "@/lib/fetcher";
import Reply from "@/components/replies/Reply";
import Spinner from "@/components/Spinner";
+import { ReplyWithLatestContentPostMeta } from "@/lib/reply";
interface PageData {
- data: {
- id: number;
- time: string;
- author: User;
- content: string;
- usersMetioned: UserMetioned[];
- discussion: {
- id: number;
- snapshots: {
- title: string;
- authorId: number;
- }[];
- };
- }[];
+ data: ReplyWithLatestContentPostMeta[];
nextCursor: number;
}
@@ -57,19 +45,22 @@ export default function UserReplies({ uid }: { uid: string }) {
replies.map((reply) => (
于帖子{" "}
- {reply.discussion.snapshots[0].title}
+ {reply.post.snapshots[0].title}
:
diff --git a/packages/viewer/src/app/user/[uid]/replies/data/route.ts b/packages/viewer/src/app/user/[uid]/replies/data/route.ts
index bb66c9e..9495134 100644
--- a/packages/viewer/src/app/user/[uid]/replies/data/route.ts
+++ b/packages/viewer/src/app/user/[uid]/replies/data/route.ts
@@ -1,8 +1,8 @@
import { NextResponse, type NextRequest } from "next/server";
import { getPost } from "@/lib/post";
-import { getReply } from "@/lib/reply";
+import { getReply, selectReply } from "@/lib/reply";
import prisma from "@/lib/prisma";
-import serializeReply from "@/lib/serialize-reply";
+// import serializeReply from "@/lib/serialize-reply";
import { NUM_PER_PAGE } from "../../constants";
export async function GET(
@@ -15,9 +15,8 @@ export async function GET(
.findMany({
select: {
...getReply.latestWithContent,
- post: {
- select: getPost.latestNoContent,
- },
+ ...selectReply.withPostMeta,
+ // postId: undefined,
},
where: {
post: { takedown: { is: null } },
@@ -32,13 +31,13 @@ export async function GET(
orderBy: { id: "desc" },
take: NUM_PER_PAGE,
})
- .then((r) =>
- r.map(async (reply) => ({
- ...reply,
- ...(await serializeReply(reply.post.id, reply.snapshots[0])),
- })),
- )
- .then((r) => Promise.all(r));
+ // .then((r) =>
+ // r.map(async (reply) => ({
+ // ...reply,
+ // ...(await serializeReply(reply.post.id, reply.snapshots[0])),
+ // })),
+ // )
+ // .then((r) => Promise.all(r));
return NextResponse.json({
data: replies,
nextCursor: replies.length ? replies[replies.length - 1].id : null,
diff --git a/packages/viewer/src/components/Ostracon.tsx b/packages/viewer/src/components/Ostracon.tsx
index 8de8736..d4ee03b 100644
--- a/packages/viewer/src/components/Ostracon.tsx
+++ b/packages/viewer/src/components/Ostracon.tsx
@@ -1,13 +1,13 @@
-import type { User } from "@prisma/client";
import UserAvatar from "@/components/UserAvatar";
import UserInfo from "@/components/UserInfo";
+import type { LatestUser } from "@/lib/user";
export default function Ostracon({
ostracon,
}: {
ostracon: {
time: Date;
- user: User;
+ user: LatestUser;
content: string;
};
}) {
diff --git a/packages/viewer/src/lib/reply.ts b/packages/viewer/src/lib/reply.ts
index 67106fb..ae09268 100644
--- a/packages/viewer/src/lib/reply.ts
+++ b/packages/viewer/src/lib/reply.ts
@@ -1,5 +1,6 @@
import { Prisma } from "@prisma/client";
import { selectUser } from "./user";
+import { get } from "http";
export const selectReply = {
withBasic: Prisma.validator()({
@@ -44,6 +45,23 @@ export const selectReply = {
},
},
}).select,
+ withPostMeta: Prisma.validator()({
+ select: {
+ postId: undefined,
+ post: {
+ select: {
+ id: true,
+ snapshots: {
+ select: {
+ forum: true,
+ title: true,
+ author: { select: selectUser.withLatest },
+ },
+ },
+ },
+ },
+ },
+ }).select,
};
export const getReply = {
@@ -55,6 +73,15 @@ export const getReply = {
...selectReply.withBasic,
...selectReply.withLatestContent,
},
+ latestWithPostMeta: {
+ ...selectReply.withBasic,
+ ...selectReply.withPostMeta,
+ },
+ latestContentWithPostMeta: {
+ ...selectReply.withBasic,
+ ...selectReply.withPostMeta,
+ ...selectReply.withLatestContent,
+ },
};
export const selectReplyWithLatestSnapshotMeta =
@@ -67,6 +94,11 @@ export const selectReplyWithLatestContent =
select: getReply.latestWithContent,
});
+export const selectReplyWithLatestContentPostMeta =
+ Prisma.validator()({
+ select: getReply.latestContentWithPostMeta,
+ });
+
export type ReplyWithLatestSnapshotMeta = Prisma.ReplyGetPayload<
typeof selectReplyWithLatestSnapshotMeta
>;
@@ -74,3 +106,7 @@ export type ReplyWithLatestSnapshotMeta = Prisma.ReplyGetPayload<
export type ReplyWithLatestContent = Prisma.ReplyGetPayload<
typeof selectReplyWithLatestContent
>;
+
+export type ReplyWithLatestContentPostMeta = Prisma.ReplyGetPayload<
+ typeof selectReplyWithLatestContentPostMeta
+>;
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 96a5a43..5f56a0c 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -117,8 +117,8 @@ importers:
specifier: ^0.16.8
version: 0.16.8
next:
- specifier: ^13.5.2
- version: 13.5.2(react-dom@18.2.0)(react@18.2.0)(sass@1.68.0)
+ specifier: ^13.5.3
+ version: 13.5.3(react-dom@18.2.0)(react@18.2.0)(sass@1.68.0)
puppeteer:
specifier: ^21.3.1
version: 21.3.1(typescript@5.2.2)
@@ -185,8 +185,8 @@ importers:
specifier: ^17.1.0
version: 17.1.0(@typescript-eslint/eslint-plugin@6.7.2)(@typescript-eslint/parser@6.7.2)(eslint-plugin-import@2.28.1)(eslint@8.49.0)
eslint-config-next:
- specifier: ^13.5.2
- version: 13.5.2(eslint@8.49.0)(typescript@5.2.2)
+ specifier: ^13.5.3
+ version: 13.5.3(eslint@8.49.0)(typescript@5.2.2)
eslint-import-resolver-typescript:
specifier: ^3.6.0
version: 3.6.0(@typescript-eslint/parser@6.7.2)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.28.1)(eslint@8.49.0)
@@ -442,18 +442,18 @@ packages:
- utf-8-validate
dev: true
- /@next/env@13.5.2:
- resolution: {integrity: sha512-dUseBIQVax+XtdJPzhwww4GetTjlkRSsXeQnisIJWBaHsnxYcN2RGzsPHi58D6qnkATjnhuAtQTJmR1hKYQQPg==}
+ /@next/env@13.5.3:
+ resolution: {integrity: sha512-X4te86vsbjsB7iO4usY9jLPtZ827Mbx+WcwNBGUOIuswuTAKQtzsuoxc/6KLxCMvogKG795MhrR1LDhYgDvasg==}
dev: false
- /@next/eslint-plugin-next@13.5.2:
- resolution: {integrity: sha512-Ew8DOUerJYGRo8pI84SVwn9wxxx8sH92AanCXSkkLJM2W0RJEWy+BqWSCfrlA/3ZIczEl4l4o4lOeTGBPYfBJg==}
+ /@next/eslint-plugin-next@13.5.3:
+ resolution: {integrity: sha512-lbZOoEjzSuTtpk9UgV9rOmxYw+PsSfNR+00mZcInqooiDMZ1u+RqT1YQYLsEZPW1kumZoQe5+exkCBtZ2xn0uw==}
dependencies:
glob: 7.1.7
dev: true
- /@next/swc-darwin-arm64@13.5.2:
- resolution: {integrity: sha512-7eAyunAWq6yFwdSQliWMmGhObPpHTesiKxMw4DWVxhm5yLotBj8FCR4PXGkpRP2tf8QhaWuVba+/fyAYggqfQg==}
+ /@next/swc-darwin-arm64@13.5.3:
+ resolution: {integrity: sha512-6hiYNJxJmyYvvKGrVThzo4nTcqvqUTA/JvKim7Auaj33NexDqSNwN5YrrQu+QhZJCIpv2tULSHt+lf+rUflLSw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
@@ -461,8 +461,8 @@ packages:
dev: false
optional: true
- /@next/swc-darwin-x64@13.5.2:
- resolution: {integrity: sha512-WxXYWE7zF1ch8rrNh5xbIWzhMVas6Vbw+9BCSyZvu7gZC5EEiyZNJsafsC89qlaSA7BnmsDXVWQmc+s1feSYbQ==}
+ /@next/swc-darwin-x64@13.5.3:
+ resolution: {integrity: sha512-UpBKxu2ob9scbpJyEq/xPgpdrgBgN3aLYlxyGqlYX5/KnwpJpFuIHU2lx8upQQ7L+MEmz+fA1XSgesoK92ppwQ==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
@@ -470,8 +470,8 @@ packages:
dev: false
optional: true
- /@next/swc-linux-arm64-gnu@13.5.2:
- resolution: {integrity: sha512-URSwhRYrbj/4MSBjLlefPTK3/tvg95TTm6mRaiZWBB6Za3hpHKi8vSdnCMw5D2aP6k0sQQIEG6Pzcfwm+C5vrg==}
+ /@next/swc-linux-arm64-gnu@13.5.3:
+ resolution: {integrity: sha512-5AzM7Yx1Ky+oLY6pHs7tjONTF22JirDPd5Jw/3/NazJ73uGB05NqhGhB4SbeCchg7SlVYVBeRMrMSZwJwq/xoA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
@@ -479,8 +479,8 @@ packages:
dev: false
optional: true
- /@next/swc-linux-arm64-musl@13.5.2:
- resolution: {integrity: sha512-HefiwAdIygFyNmyVsQeiJp+j8vPKpIRYDlmTlF9/tLdcd3qEL/UEBswa1M7cvO8nHcr27ZTKXz5m7dkd56/Esg==}
+ /@next/swc-linux-arm64-musl@13.5.3:
+ resolution: {integrity: sha512-A/C1shbyUhj7wRtokmn73eBksjTM7fFQoY2v/0rTM5wehpkjQRLOXI8WJsag2uLhnZ4ii5OzR1rFPwoD9cvOgA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
@@ -488,8 +488,8 @@ packages:
dev: false
optional: true
- /@next/swc-linux-x64-gnu@13.5.2:
- resolution: {integrity: sha512-htGVVroW0tdHgMYwKWkxWvVoG2RlAdDXRO1RQxYDvOBQsaV0nZsgKkw0EJJJ3urTYnwKskn/MXm305cOgRxD2w==}
+ /@next/swc-linux-x64-gnu@13.5.3:
+ resolution: {integrity: sha512-FubPuw/Boz8tKkk+5eOuDHOpk36F80rbgxlx4+xty/U71e3wZZxVYHfZXmf0IRToBn1Crb8WvLM9OYj/Ur815g==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
@@ -497,8 +497,8 @@ packages:
dev: false
optional: true
- /@next/swc-linux-x64-musl@13.5.2:
- resolution: {integrity: sha512-UBD333GxbHVGi7VDJPPDD1bKnx30gn2clifNJbla7vo5nmBV+x5adyARg05RiT9amIpda6yzAEEUu+s774ldkw==}
+ /@next/swc-linux-x64-musl@13.5.3:
+ resolution: {integrity: sha512-DPw8nFuM1uEpbX47tM3wiXIR0Qa+atSzs9Q3peY1urkhofx44o7E1svnq+a5Q0r8lAcssLrwiM+OyJJgV/oj7g==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
@@ -506,8 +506,8 @@ packages:
dev: false
optional: true
- /@next/swc-win32-arm64-msvc@13.5.2:
- resolution: {integrity: sha512-Em9ApaSFIQnWXRT3K6iFnr9uBXymixLc65Xw4eNt7glgH0eiXpg+QhjmgI2BFyc7k4ZIjglfukt9saNpEyolWA==}
+ /@next/swc-win32-arm64-msvc@13.5.3:
+ resolution: {integrity: sha512-zBPSP8cHL51Gub/YV8UUePW7AVGukp2D8JU93IHbVDu2qmhFAn9LWXiOOLKplZQKxnIPUkJTQAJDCWBWU4UWUA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
@@ -515,8 +515,8 @@ packages:
dev: false
optional: true
- /@next/swc-win32-ia32-msvc@13.5.2:
- resolution: {integrity: sha512-TBACBvvNYU+87X0yklSuAseqdpua8m/P79P0SG1fWUvWDDA14jASIg7kr86AuY5qix47nZLEJ5WWS0L20jAUNw==}
+ /@next/swc-win32-ia32-msvc@13.5.3:
+ resolution: {integrity: sha512-ONcL/lYyGUj4W37D4I2I450SZtSenmFAvapkJQNIJhrPMhzDU/AdfLkW98NvH1D2+7FXwe7yclf3+B7v28uzBQ==}
engines: {node: '>= 10'}
cpu: [ia32]
os: [win32]
@@ -524,8 +524,8 @@ packages:
dev: false
optional: true
- /@next/swc-win32-x64-msvc@13.5.2:
- resolution: {integrity: sha512-LfTHt+hTL8w7F9hnB3H4nRasCzLD/fP+h4/GUVBTxrkMJOnh/7OZ0XbYDKO/uuWwryJS9kZjhxcruBiYwc5UDw==}
+ /@next/swc-win32-x64-msvc@13.5.3:
+ resolution: {integrity: sha512-2Vz2tYWaLqJvLcWbbTlJ5k9AN6JD7a5CN2pAeIzpbecK8ZF/yobA39cXtv6e+Z8c5UJuVOmaTldEAIxvsIux/Q==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
@@ -2116,8 +2116,8 @@ packages:
object.entries: 1.1.7
dev: true
- /eslint-config-next@13.5.2(eslint@8.49.0)(typescript@5.2.2):
- resolution: {integrity: sha512-kCF7k7fHBtFtxfP6J6AP6Mo0vW3CrFeoIuoZ7NHGIvLFc/RUaIspJ6inO/R33zE1o9t/lbJgTnsqnRB++sxCUQ==}
+ /eslint-config-next@13.5.3(eslint@8.49.0)(typescript@5.2.2):
+ resolution: {integrity: sha512-VN2qbCpq2DMWgs7SVF8KTmc8bVaWz3s4nmcFqRLs7PNBt5AXejOhJuZ4zg2sCEHOvz5RvqdwLeI++NSCV6qHVg==}
peerDependencies:
eslint: ^7.23.0 || ^8.0.0
typescript: '>=3.3.1'
@@ -2125,7 +2125,7 @@ packages:
typescript:
optional: true
dependencies:
- '@next/eslint-plugin-next': 13.5.2
+ '@next/eslint-plugin-next': 13.5.3
'@rushstack/eslint-patch': 1.4.0
'@typescript-eslint/parser': 6.7.2(eslint@8.49.0)(typescript@5.2.2)
eslint: 8.49.0
@@ -3979,8 +3979,8 @@ packages:
resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==}
engines: {node: '>= 0.4.0'}
- /next@13.5.2(react-dom@18.2.0)(react@18.2.0)(sass@1.68.0):
- resolution: {integrity: sha512-vog4UhUaMYAzeqfiAAmgB/QWLW7p01/sg+2vn6bqc/CxHFYizMzLv6gjxKzl31EVFkfl/F+GbxlKizlkTE9RdA==}
+ /next@13.5.3(react-dom@18.2.0)(react@18.2.0)(sass@1.68.0):
+ resolution: {integrity: sha512-4Nt4HRLYDW/yRpJ/QR2t1v63UOMS55A38dnWv3UDOWGezuY0ZyFO1ABNbD7mulVzs9qVhgy2+ppjdsANpKP1mg==}
engines: {node: '>=16.14.0'}
hasBin: true
peerDependencies:
@@ -3994,7 +3994,7 @@ packages:
sass:
optional: true
dependencies:
- '@next/env': 13.5.2
+ '@next/env': 13.5.3
'@swc/helpers': 0.5.2
busboy: 1.6.0
caniuse-lite: 1.0.30001538
@@ -4006,15 +4006,15 @@ packages:
watchpack: 2.4.0
zod: 3.21.4
optionalDependencies:
- '@next/swc-darwin-arm64': 13.5.2
- '@next/swc-darwin-x64': 13.5.2
- '@next/swc-linux-arm64-gnu': 13.5.2
- '@next/swc-linux-arm64-musl': 13.5.2
- '@next/swc-linux-x64-gnu': 13.5.2
- '@next/swc-linux-x64-musl': 13.5.2
- '@next/swc-win32-arm64-msvc': 13.5.2
- '@next/swc-win32-ia32-msvc': 13.5.2
- '@next/swc-win32-x64-msvc': 13.5.2
+ '@next/swc-darwin-arm64': 13.5.3
+ '@next/swc-darwin-x64': 13.5.3
+ '@next/swc-linux-arm64-gnu': 13.5.3
+ '@next/swc-linux-arm64-musl': 13.5.3
+ '@next/swc-linux-x64-gnu': 13.5.3
+ '@next/swc-linux-x64-musl': 13.5.3
+ '@next/swc-win32-arm64-msvc': 13.5.3
+ '@next/swc-win32-ia32-msvc': 13.5.3
+ '@next/swc-win32-x64-msvc': 13.5.3
transitivePeerDependencies:
- '@babel/core'
- babel-plugin-macros