From 563386a6cc40975f752a98daf4b41219e90e5bbe Mon Sep 17 00:00:00 2001 From: RedBeardEth <90423049+RedBeardEth@users.noreply.github.com> Date: Mon, 21 Oct 2024 18:42:11 +1100 Subject: [PATCH] token view, responsive fixes, refine account sidebar --- apps/frontinus/package.json | 12 +- apps/nextjs/package.json | 5 +- .../_components/StarknetAccountLogin.tsx | 18 +- .../account/_components/sidebar/NavUser.tsx | 40 ++- apps/nextjs/src/app/(app)/account/layout.tsx | 4 +- .../app/(app)/collection/CollectionsList.tsx | 4 +- .../(app)/collection/ViewOnMarketplace.tsx | 43 ++-- .../[id]/(list)/CollectionFilters.tsx | 14 +- .../collection/[id]/(list)/L2ERC721Card.tsx | 47 ++-- .../src/app/(app)/games/[slug]/layout.tsx | 27 +- .../src/app/(app)/games/[slug]/page.tsx | 230 +++++++++--------- .../src/app/_components/ProfilePicture.tsx | 43 ++++ apps/nextjs/src/hooks/useBlockies.ts | 15 ++ package.json | 4 +- packages/constants/src/Collections.ts | 15 +- .../constants/src/{Games.ts => GamesOld.ts} | 0 .../src/{Studios.ts => StudiosOld.ts} | 0 packages/constants/src/index.ts | 8 +- pnpm-lock.yaml | 229 +++++++++-------- tooling/eslint/package.json | 2 +- 20 files changed, 438 insertions(+), 322 deletions(-) create mode 100644 apps/nextjs/src/app/_components/ProfilePicture.tsx create mode 100644 apps/nextjs/src/hooks/useBlockies.ts rename packages/constants/src/{Games.ts => GamesOld.ts} (100%) rename packages/constants/src/{Studios.ts => StudiosOld.ts} (100%) diff --git a/apps/frontinus/package.json b/apps/frontinus/package.json index 581a59a5..a5092ab5 100644 --- a/apps/frontinus/package.json +++ b/apps/frontinus/package.json @@ -15,10 +15,10 @@ "@parcel/watcher": "^2.4.1", "@realms-world/tailwind-config": "workspace:*", "@realms-world/tsconfig": "workspace:*", - "@tanstack/router-plugin": "^1.69.1", + "@tanstack/router-plugin": "^1.74.2", "@types/react": "^18.3.11", "@types/react-dom": "^18.3.1", - "@vitejs/plugin-react": "^4.3.2", + "@vitejs/plugin-react": "^4.3.3", "vite": "^5.4.9", "vite-tsconfig-paths": "^5.0.1" }, @@ -31,10 +31,10 @@ "@starknet-react/core": "^3.0.3", "@tanstack/react-query": "^5.59.15", "@tanstack/react-query-devtools": "^5.59.15", - "@tanstack/react-router": "^1.73.0", - "@tanstack/react-router-with-query": "^1.73.0", - "@tanstack/router-devtools": "^1.73.0", - "@tanstack/start": "^1.73.0", + "@tanstack/react-router": "^1.74.4", + "@tanstack/react-router-with-query": "^1.74.4", + "@tanstack/router-devtools": "^1.74.4", + "@tanstack/start": "^1.74.4", "date-fns": "^4.1.0", "get-starknet-core": "^3.3.4", "graphql": "^16.9.0", diff --git a/apps/nextjs/package.json b/apps/nextjs/package.json index 5b9feb7b..5f8379c1 100644 --- a/apps/nextjs/package.json +++ b/apps/nextjs/package.json @@ -16,6 +16,7 @@ "dependencies": { "@ark-project/react": "1.1.2", "@avnu/avnu-sdk": "^2.1.1", + "@cartridge/connector": "^0.4.0", "@emotion/react": "^11.11.4", "@emotion/styled": "^11.11.5", "@keystatic/core": "^0.5.36", @@ -27,7 +28,6 @@ "@mui/material": "^5.15.15", "@mui/styles": "^5.15.15", "@next/mdx": "^14.2.15", - "@cartridge/connector": "^0.4.0", "@rainbow-me/rainbowkit": "^2", "@realms-world/api": "workspace:*", "@realms-world/auth": "workspace:*", @@ -49,13 +49,14 @@ "@trpc/react-query": "11.0.0-rc.477", "@trpc/server": "11.0.0-rc.477", "@vercel/analytics": "^1.3.1", + "blockies-ts": "^1.0.0", "class-variance-authority": "^0.7.0", "cmdk": "^1.0.0", "date-fns": "3.6.0", "embla-carousel-autoplay": "8.3.0", "embla-carousel-react": "8.3.0", "eslint-config-next": "^15.0.0-rc.1", - "framer-motion": "^11.5.4", + "framer-motion": "^11.11.9", "frames.js": "^0.15.1", "gray-matter": "^4.0.3", "keccak256": "^1.0.6", diff --git a/apps/nextjs/src/app/(app)/account/_components/StarknetAccountLogin.tsx b/apps/nextjs/src/app/(app)/account/_components/StarknetAccountLogin.tsx index bca8218b..1e6423e4 100644 --- a/apps/nextjs/src/app/(app)/account/_components/StarknetAccountLogin.tsx +++ b/apps/nextjs/src/app/(app)/account/_components/StarknetAccountLogin.tsx @@ -1,10 +1,10 @@ import { StarknetLoginButton } from "@/app/_components/wallet/StarknetLoginButton"; import { Card, - CardFooter, - CardTitle, CardContent, + CardFooter, CardHeader, + CardTitle, } from "@realms-world/ui/components/ui/card"; import { useAccount as useStarknetAccount } from "@starknet-react/core"; @@ -19,14 +19,12 @@ export const StarknetAccountLogin = () => { -

- Sign in with your wallet to access: -

-

+ Sign in with your wallet to access: +
{!isStarknetConnected && ( diff --git a/apps/nextjs/src/app/(app)/account/_components/sidebar/NavUser.tsx b/apps/nextjs/src/app/(app)/account/_components/sidebar/NavUser.tsx index da9072de..49b64a24 100644 --- a/apps/nextjs/src/app/(app)/account/_components/sidebar/NavUser.tsx +++ b/apps/nextjs/src/app/(app)/account/_components/sidebar/NavUser.tsx @@ -1,4 +1,7 @@ +import ProfilePicture from "@/app/_components/ProfilePicture"; import { StarknetLoginButton } from "@/app/_components/wallet/StarknetLoginButton"; +import EthereumLogo from "@/icons/ethereum.svg"; +import StarknetLogo from "@/icons/starknet.svg"; import { shortenHex } from "@/utils/utils"; import { Avatar, @@ -29,6 +32,7 @@ import { LogOut, Sparkles, } from "lucide-react"; +import { useAccount as useL1Account } from "wagmi"; export function NavUser({ user, @@ -40,12 +44,11 @@ export function NavUser({ }; }) { const { address } = useAccount(); + const { address: l1Address } = useL1Account(); + const { isMobile } = useSidebar(); const { disconnect } = useDisconnect(); - { - address && shortenHex(address, 8); - } return ( <> {address ? ( @@ -57,9 +60,8 @@ export function NavUser({ size="lg" className="data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground" > - - - CN + +
@@ -77,9 +79,8 @@ export function NavUser({ >
- - - CN + +
@@ -89,8 +90,23 @@ export function NavUser({
+ {l1Address && ( + +
+ + + +
+ + {shortenHex(l1Address, 8)} + + {user?.email} +
+
+
+ )} - + {/* Upgrade to Pro @@ -111,8 +127,8 @@ export function NavUser({ Notifications - - + */} + disconnect()}> Log out diff --git a/apps/nextjs/src/app/(app)/account/layout.tsx b/apps/nextjs/src/app/(app)/account/layout.tsx index eb24fb74..023f16b2 100644 --- a/apps/nextjs/src/app/(app)/account/layout.tsx +++ b/apps/nextjs/src/app/(app)/account/layout.tsx @@ -24,8 +24,8 @@ export default async function RootLayout({ () => import("@/app/_components/modal/NftBridgeModal"), ); const sidebarState = - (await cookies()).get(SIDEBAR_STATE_COOKIE)?.value ?? "true"; - const isSidebarOpen = sidebarState === "true"; + (await cookies()).get(SIDEBAR_STATE_COOKIE)?.value ?? "false"; + const isSidebarOpen = sidebarState !== "true"; return ( diff --git a/apps/nextjs/src/app/(app)/collection/CollectionsList.tsx b/apps/nextjs/src/app/(app)/collection/CollectionsList.tsx index 972dfc34..ec6e2534 100644 --- a/apps/nextjs/src/app/(app)/collection/CollectionsList.tsx +++ b/apps/nextjs/src/app/(app)/collection/CollectionsList.tsx @@ -4,8 +4,8 @@ import { SUPPORTED_L1_CHAIN_ID } from "@/constants/env"; import { CollectionAddresses } from "@realms-world/constants"; import { getCollections } from "@/lib/reservoir/getCollections";*/ -import { REALMS_L2_COLLECTIONS } from "@realms-world/constants/src/Collections"; import { ArkCollectionCardFetcher } from "@/app/_components/ArkCollectionCardFetcher"; +import { REALMS_L2_COLLECTIONS } from "@realms-world/constants/src/Collections"; export const metadata = { title: "Lootverse Collections", @@ -13,7 +13,7 @@ export const metadata = { "Various collections of the Lootverse - Created for adventurers by Bibliotheca DAO", }; -export default async function CollectionsList() { +export default function CollectionsList() { /*const { collections } = await getCollections([ { contract: CollectionAddresses.realms[ diff --git a/apps/nextjs/src/app/(app)/collection/ViewOnMarketplace.tsx b/apps/nextjs/src/app/(app)/collection/ViewOnMarketplace.tsx index a2a48ef5..e79b23a8 100644 --- a/apps/nextjs/src/app/(app)/collection/ViewOnMarketplace.tsx +++ b/apps/nextjs/src/app/(app)/collection/ViewOnMarketplace.tsx @@ -1,18 +1,33 @@ +import Link from "next/link"; import { Button } from "@realms-world/ui/components/ui/button"; -import Link from "next/link" +import { ShoppingCart } from "lucide-react"; -export const ViewOnMarketplace = ({ collection, tokenId }: { collection: string, tokenId?: number }) => { - // Define the base URL - const baseURL = 'https://market.realms.world/'; +export const ViewOnMarketplace = ({ + collection, + tokenId, + icon, +}: { + collection: string; + tokenId?: number | string; + icon?: boolean; +}) => { + // Define the base URL + const baseURL = "https://market.realms.world/"; - // Construct the URL based on whether `tokenId` is provided - const url = tokenId - ? `${baseURL}token/${collection}/${tokenId}` - : `${baseURL}collection/${collection}`; + // Construct the URL based on whether `tokenId` is provided + const url = tokenId + ? `${baseURL}token/${collection}/${tokenId}` + : `${baseURL}collection/${collection}`; - return ( - - - - ) -} \ No newline at end of file + return ( + + {icon ? ( + + ) : ( + + )} + + ); +}; diff --git a/apps/nextjs/src/app/(app)/collection/[id]/(list)/CollectionFilters.tsx b/apps/nextjs/src/app/(app)/collection/[id]/(list)/CollectionFilters.tsx index c172e7a3..1c01da59 100644 --- a/apps/nextjs/src/app/(app)/collection/[id]/(list)/CollectionFilters.tsx +++ b/apps/nextjs/src/app/(app)/collection/[id]/(list)/CollectionFilters.tsx @@ -1,6 +1,9 @@ "use client"; -import { useQuery, useSuspenseQuery } from "@tanstack/react-query"; +import type { Filters } from "@/types/ark"; +import { useState } from "react"; +import { getCollectionTraits } from "@/lib/ark/getCollectionTraits"; +import { useArkClient } from "@/lib/ark/useArkClient"; import { Button } from "@realms-world/ui/components/ui/button"; import { Dialog, @@ -8,13 +11,10 @@ import { DialogTitle, } from "@realms-world/ui/components/ui/dialog"; import { ScrollArea } from "@realms-world/ui/components/ui/scroll-area"; +import { useQuery, useSuspenseQuery } from "@tanstack/react-query"; -import type { Filters } from "@/types/ark"; -import { getCollectionTraits } from "@/lib/ark/getCollectionTraits"; -import CollectionFiltersTrait from "./CollectionFiltersTrait"; -import { useArkClient } from "@/lib/ark/useArkClient"; import CollectionFiltersContent from "./CollectionFiltersContent"; -import { useState } from "react"; +import CollectionFiltersTrait from "./CollectionFiltersTrait"; interface CollectionFiltersProps { collectionAddress: string; @@ -91,7 +91,7 @@ export default function CollectionFilters({ const showTraitsSection = data && Object.keys(data).length > 0; return ( - + {showTraitsSection && (
diff --git a/apps/nextjs/src/app/(app)/collection/[id]/(list)/L2ERC721Card.tsx b/apps/nextjs/src/app/(app)/collection/[id]/(list)/L2ERC721Card.tsx index 8852a86c..5d643ada 100644 --- a/apps/nextjs/src/app/(app)/collection/[id]/(list)/L2ERC721Card.tsx +++ b/apps/nextjs/src/app/(app)/collection/[id]/(list)/L2ERC721Card.tsx @@ -1,25 +1,26 @@ -import Image from "next/image"; +import type { CollectionToken, PortfolioToken } from "@/types/ark"; import Link from "next/link"; import { AnimatedMap } from "@/app/_components/AnimatedMap"; +import Media from "@/app/_components/Media"; +import { SUPPORTED_L2_CHAIN_ID } from "@/constants/env"; import { useLordsPrice } from "@/hooks/lords/useLordsPrice"; -import type { CollectionToken, PortfolioToken } from "@/types/ark"; - +import { useTokenListing } from "@/hooks/market/useTokenListing"; +import { useTokenMetadata } from "@/hooks/market/useTokenMetadata"; import { useStarkDisplayName } from "@/hooks/useStarkName"; import LordsIcon from "@/icons/lords.svg"; - -import type { RouterOutputs } from "@realms-world/api"; +import { + CollectionAddresses, + getCollectionFromAddress, +} from "@realms-world/constants"; import { Button } from "@realms-world/ui/components/ui/button"; import { cn, formatNumber } from "@realms-world/utils"; +import { Info } from "lucide-react"; +import { formatEther } from "viem"; -import { CardAction } from "./CardAction"; -import { useTokenListing } from "@/hooks/market/useTokenListing"; -import { useTokenMetadata } from "@/hooks/market/useTokenMetadata"; import { ViewOnMarketplace } from "../../ViewOnMarketplace"; -import Media from "@/app/_components/Media"; +import { CardAction } from "./CardAction"; import RealmResources from "./RealmResources"; -import { CollectionAddresses } from "@realms-world/constants"; -import { SUPPORTED_L2_CHAIN_ID } from "@/constants/env"; -import { formatEther } from "viem"; + export const L2ERC721Card = ({ token, layout = "grid", @@ -49,7 +50,7 @@ export const L2ERC721Card = ({ {token.metadata?.image ? ( { !selectable && ( - +
+ + + + +
) /* */ } @@ -168,7 +179,7 @@ const GridDetails = ({ {token.metadata?.attributes && token.collection_address == CollectionAddresses.realms[SUPPORTED_L2_CHAIN_ID] && ( - + )}
diff --git a/apps/nextjs/src/app/(app)/games/[slug]/layout.tsx b/apps/nextjs/src/app/(app)/games/[slug]/layout.tsx index 2d1f366c..53d6f4f7 100644 --- a/apps/nextjs/src/app/(app)/games/[slug]/layout.tsx +++ b/apps/nextjs/src/app/(app)/games/[slug]/layout.tsx @@ -2,17 +2,13 @@ import React, { use } from "react"; -export default function RootLayout( - props: { - children: React.ReactNode; - params: Promise<{ id: string }>; - } -) { +export default function RootLayout(props: { + children: React.ReactNode; + params: Promise<{ id: string }>; +}) { const params = use(props.params); - const { - children - } = props; + const { children } = props; const defaultImage = "/backgrounds/dummy_background.png"; // const imageUrl = @@ -21,15 +17,14 @@ export default function RootLayout( // ")"; return (
{children} -
); } diff --git a/apps/nextjs/src/app/(app)/games/[slug]/page.tsx b/apps/nextjs/src/app/(app)/games/[slug]/page.tsx index 03d711ec..59d14418 100644 --- a/apps/nextjs/src/app/(app)/games/[slug]/page.tsx +++ b/apps/nextjs/src/app/(app)/games/[slug]/page.tsx @@ -1,49 +1,48 @@ import type { Metadata } from "next"; +import React from "react"; import Image from "next/image"; import Link from "next/link"; import { StatusDot } from "@/app/_components/StatusDot"; import { reader } from "@/utils/keystatic"; import Markdoc from "@markdoc/markdoc"; -import React from "react"; import { CHAIN_IDS_TO_NAMES } from "@realms-world/constants"; - -import { Button } from "@realms-world/ui/components/ui/button"; import { Badge } from "@realms-world/ui/components/ui/badge"; import { Breadcrumb, - BreadcrumbList, BreadcrumbItem, BreadcrumbLink, + BreadcrumbList, BreadcrumbSeparator, } from "@realms-world/ui/components/ui/breadcrumb"; +import { Button } from "@realms-world/ui/components/ui/button"; import { Carousel, CarouselContent, CarouselItem, - CarouselPrevious, CarouselNext, + CarouselPrevious, } from "@realms-world/ui/components/ui/carousel"; import { Tabs, + TabsContent, TabsList, TabsTrigger, - TabsContent, } from "@realms-world/ui/components/ui/tabs"; -export async function generateMetadata( - props: { - params: Promise<{ slug: string }>; - } -): Promise { +export async function generateMetadata(props: { + params: Promise<{ slug: string }>; +}): Promise { const params = await props.params; - let game = await reader().collections.games.read(params.slug); + const game = await reader().collections.games.read(params.slug); return { title: `${game?.title}`, description: `${params.slug} - Created for Adventurers by Bibliotheca DAO`, }; } -export default async function Page(props: { params: Promise<{ slug: string }> }) { +export default async function Page(props: { + params: Promise<{ slug: string }>; +}) { const params = await props.params; const keyStaticGame = await reader().collections.games.read(params.slug); @@ -55,15 +54,15 @@ export default async function Page(props: { params: Promise<{ slug: string }> }) throw new Error("Invalid content"); } const renderable = Markdoc.transform(node); - const screenshotList = keyStaticGame?.screenshots; + const screenshotList = keyStaticGame.screenshots; const list = [...screenshotList].map((image, index) => ({ src: `/content/games/${params.slug}/${image}`, - alt: `${keyStaticGame?.title} Screenshot ${index}`, + alt: `${keyStaticGame.title} Screenshot ${index}`, })); // grab studio via developer slug from game so we can spit out the studio's title instead of its slug const studio = await reader().collections.studios.read( - keyStaticGame?.developer || "", + keyStaticGame.developer || "", ); const tabs = [ @@ -82,11 +81,11 @@ export default async function Page(props: { params: Promise<{ slug: string }> })
- {keyStaticGame?.tokens?.map((token, index) => ( + {keyStaticGame.tokens.map((token, index) => ( //token === Tokens.LORDS ? ( - ( + - ) + /*) : ( // eslint-disable-next-line @typescript-eslint/restrict-template-expressions ),*/ ))} - {keyStaticGame?.collections?.map((collection, index) => ( + {keyStaticGame.collections.map((collection, index) => ( @@ -110,17 +109,17 @@ export default async function Page(props: { params: Promise<{ slug: string }> }) { key: "Studio", value: ( - + {studio?.title} ), }, - { key: "Status", value: keyStaticGame?.status }, + { key: "Status", value: keyStaticGame.status }, { key: "Chain", value: (
- {keyStaticGame?.chains.map((a, i) => + {keyStaticGame.chains.map((a, i) => String(a) === "420" ? ( {" "} @@ -145,7 +144,7 @@ export default async function Page(props: { params: Promise<{ slug: string }> }) key: "Category", value: (
- {keyStaticGame?.genres?.map((a, i) => ( + {keyStaticGame.genres.map((a, i) => ( {a} @@ -153,14 +152,14 @@ export default async function Page(props: { params: Promise<{ slug: string }> })
), }, - { key: "Token", value: keyStaticGame?.tokens }, + { key: "Token", value: keyStaticGame.tokens }, { key: "White Paper", value: ( <> - {keyStaticGame?.whitepaper ? ( + {keyStaticGame.whitepaper ? ( ) : ( "No whitepaper available" @@ -172,9 +171,9 @@ export default async function Page(props: { params: Promise<{ slug: string }> }) key: "Mainnet", value: ( <> - {keyStaticGame?.links.mainnet && ( + {keyStaticGame.links.mainnet && ( )} @@ -184,9 +183,9 @@ export default async function Page(props: { params: Promise<{ slug: string }> }) key: "Testnet", value: ( <> - {keyStaticGame?.links.testnet && ( + {keyStaticGame.links.testnet && ( )} @@ -196,11 +195,11 @@ export default async function Page(props: { params: Promise<{ slug: string }> }) key: "Homepage", value: ( <> - {keyStaticGame?.links.homepage && ( + {keyStaticGame.links.homepage && ( )} @@ -210,7 +209,7 @@ export default async function Page(props: { params: Promise<{ slug: string }> }) ]; return ( -
+
@@ -225,101 +224,98 @@ export default async function Page(props: { params: Promise<{ slug: string }> })
-

{keyStaticGame?.title}

+

{keyStaticGame.title}

- {StatusDot(keyStaticGame?.status)} - {keyStaticGame?.status} + {StatusDot(keyStaticGame.status)} + {keyStaticGame.status}
+
+
+ {keyStaticGame.screenshots.length && ( + + + {list.map((image, index) => ( + + {image.alt} + + ))} + + + + + )} +
- {keyStaticGame && ( - <> -
- {keyStaticGame.screenshots.length && ( - - - {list.map((image, index) => ( - - {image.alt} - - ))} - - - - - )} +
+
+
-
-
- -
- -
- {keyStaticGame?.playable && keyStaticGame?.links.homepage && ( - - )} - - - {tableData.map((data, index) => ( - - - - - ))} -
- {data.key} - - {data.value} -
-
+
+ {keyStaticGame.playable && keyStaticGame.links.homepage && ( + + )} - - - {tabs.map((tab, index) => ( - - {tab.name} - - ))} - + + {tableData.map((data, index) => ( + + + + + ))} +
+ {data.key} + + {data.value} +
+
+ + {tabs.map((tab, index) => ( - - {tab.content} - + + {tab.name} + ))} - -
- - )} + + + {tabs.map((tab, index) => ( + + {tab.content} + + ))} + +
+
); diff --git a/apps/nextjs/src/app/_components/ProfilePicture.tsx b/apps/nextjs/src/app/_components/ProfilePicture.tsx new file mode 100644 index 00000000..d33c23cc --- /dev/null +++ b/apps/nextjs/src/app/_components/ProfilePicture.tsx @@ -0,0 +1,43 @@ +"use client"; + +import { useState } from "react"; +import useBlockies from "@/hooks/useBlockies"; +import { useStarkProfile } from "@starknet-react/core"; +import { validateAndParseAddress } from "starknet"; + +interface ProfilePictureProps { + address: string; + className?: string; +} + +export default function ProfilePicture({ + address, + className, +}: ProfilePictureProps) { + const { data: starkProfile, error } = useStarkProfile({ + address, + }); + const { blockiesImageSrc } = useBlockies({ + address: validateAndParseAddress(address), + }); + const [hasImageFailed, setHasImageFailed] = useState(false); + + console.log(error); + + if ( + starkProfile?.name !== undefined && + starkProfile.profilePicture !== undefined && + !hasImageFailed + ) { + return ( + Starknet Id profile setHasImageFailed(true)} + /> + ); + } + + return Blockies; +} diff --git a/apps/nextjs/src/hooks/useBlockies.ts b/apps/nextjs/src/hooks/useBlockies.ts new file mode 100644 index 00000000..6b5589c0 --- /dev/null +++ b/apps/nextjs/src/hooks/useBlockies.ts @@ -0,0 +1,15 @@ +import { useMemo } from "react"; +import * as blockies from "blockies-ts"; + +interface UseBlockiesParams { + address: string | undefined; +} + +export default function useBlockies({ address }: UseBlockiesParams) { + const blockiesImageSrc = useMemo(() => { + if (!address) return ""; + return blockies.create({ seed: address, scale: 16 }).toDataURL(); + }, [address]); + + return { blockiesImageSrc }; +} diff --git a/package.json b/package.json index edeef37c..0f7159c7 100644 --- a/package.json +++ b/package.json @@ -26,12 +26,12 @@ }, "dependencies": { "@manypkg/cli": "^0.22.0", - "@turbo/gen": "^2.2.0", + "@turbo/gen": "^2.2.1", "million": "^3.1.11", "npm-check-updates": "^17.1.4", "prettier": "catalog:", "tsup": "^8.3.0", - "turbo": "2.1.3", + "turbo": "2.2.1", "typescript": "catalog:" }, "pnpm": { diff --git a/packages/constants/src/Collections.ts b/packages/constants/src/Collections.ts index ccadba4f..894e146c 100644 --- a/packages/constants/src/Collections.ts +++ b/packages/constants/src/Collections.ts @@ -1,5 +1,6 @@ import { ChainId } from "./Chains"; -import { Studios } from "./Studios"; + +//import { Studios } from "./Studios"; export enum Collections { REALMS = "realms", @@ -48,33 +49,33 @@ export const CollectionDetails: { readonly [key in Collections]: { royalties: number; displayName: string; - developer: Studios; + //developer: Studios; }; } = { [Collections.REALMS]: { royalties: 0, displayName: "Realms", - developer: Studios.BIBLIO_DAO, + //developer: Studios.BIBLIO_DAO, }, [Collections.BEASTS]: { royalties: 500, displayName: "Beasts", - developer: Studios.BIBLIO_DAO, + //developer: Studios.BIBLIO_DAO, }, [Collections.GOLDEN_TOKEN]: { royalties: 500, displayName: "Golden Token", - developer: Studios.BIBLIO_DAO, + //developer: Studios.BIBLIO_DAO, }, [Collections.BLOBERT]: { royalties: 500, displayName: "Blobert", - developer: Studios.BIBLIO_DAO, + //developer: Studios.BIBLIO_DAO, }, [Collections.BANNERS]: { royalties: 500, displayName: "Pixel Banners (for Adventurers)", - developer: Studios.BANNERS_FOR_ADVENTURERS, + //developer: Studios.BANNERS_FOR_ADVENTURERS, }, }; export function getCollectionAddresses( diff --git a/packages/constants/src/Games.ts b/packages/constants/src/GamesOld.ts similarity index 100% rename from packages/constants/src/Games.ts rename to packages/constants/src/GamesOld.ts diff --git a/packages/constants/src/Studios.ts b/packages/constants/src/StudiosOld.ts similarity index 100% rename from packages/constants/src/Studios.ts rename to packages/constants/src/StudiosOld.ts diff --git a/packages/constants/src/index.ts b/packages/constants/src/index.ts index 0eb260e1..aacfb0cc 100644 --- a/packages/constants/src/index.ts +++ b/packages/constants/src/index.ts @@ -1,5 +1,5 @@ -export { games } from "./Games"; -export type { Game } from "./Games"; +//export { games } from "./Games"; +///export type { Game } from "./Games"; export { Tokens, LORDS, ETH, LORDS_BRIDGE_ADDRESS } from "./Tokens"; export { CHAIN_IDS_TO_NAMES, ChainId } from "./Chains"; export { MarketplaceCollectionIds, MarketplaceContract } from "./Marketplace"; @@ -17,6 +17,6 @@ export { getDaoAccountByAddress, getDaoAddressesArrayByChain, } from "./DAO"; -export { studios, getGamesByStudio } from "./Studios"; -export type { Studios } from "./Studios"; +//export { studios, getGamesByStudio } from "./Studios"; +//export type { Studios } from "./Studios"; export { StakingAddresses, StakingContracts } from "./Staking"; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c245b79a..980c60ea 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -53,8 +53,8 @@ importers: specifier: ^0.22.0 version: 0.22.0 '@turbo/gen': - specifier: ^2.2.0 - version: 2.2.0(@swc/core@1.7.36(@swc/helpers@0.5.13))(@types/node@22.7.6)(typescript@5.6.3) + specifier: ^2.2.1 + version: 2.2.1(@swc/core@1.7.36(@swc/helpers@0.5.13))(@types/node@22.7.6)(typescript@5.6.3) million: specifier: ^3.1.11 version: 3.1.11(rollup@4.24.0)(webpack-sources@3.2.3) @@ -68,8 +68,8 @@ importers: specifier: ^8.3.0 version: 8.3.0(@swc/core@1.7.36(@swc/helpers@0.5.13))(jiti@2.3.3)(postcss@8.4.47)(tsx@4.19.1)(typescript@5.6.3)(yaml@2.6.0) turbo: - specifier: 2.1.3 - version: 2.1.3 + specifier: 2.2.1 + version: 2.2.1 typescript: specifier: 'catalog:' version: 5.6.3 @@ -132,17 +132,17 @@ importers: specifier: ^5.59.15 version: 5.59.15(@tanstack/react-query@5.59.15(react@18.3.1))(react@18.3.1) '@tanstack/react-router': - specifier: ^1.73.0 - version: 1.73.0(@tanstack/router-generator@1.69.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^1.74.4 + version: 1.74.4(@tanstack/router-generator@1.74.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tanstack/react-router-with-query': - specifier: ^1.73.0 - version: 1.73.0(@tanstack/react-query@5.59.15(react@18.3.1))(@tanstack/react-router@1.73.0(@tanstack/router-generator@1.69.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^1.74.4 + version: 1.74.4(@tanstack/react-query@5.59.15(react@18.3.1))(@tanstack/react-router@1.74.4(@tanstack/router-generator@1.74.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tanstack/router-devtools': - specifier: ^1.73.0 - version: 1.73.0(@tanstack/react-router@1.73.0(@tanstack/router-generator@1.69.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(csstype@3.1.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^1.74.4 + version: 1.74.4(@tanstack/react-router@1.74.4(@tanstack/router-generator@1.74.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(csstype@3.1.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tanstack/start': - specifier: ^1.73.0 - version: 1.73.0(@types/node@22.7.6)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.4.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(terser@5.36.0)(vite@5.4.9(@types/node@22.7.6)(terser@5.36.0))(webpack-sources@3.2.3)(webpack@5.95.0(@swc/core@1.7.36(@swc/helpers@0.5.13))(esbuild@0.23.1)) + specifier: ^1.74.4 + version: 1.74.4(@types/node@22.7.6)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.4.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(terser@5.36.0)(vite@5.4.9(@types/node@22.7.6)(terser@5.36.0))(webpack-sources@3.2.3)(webpack@5.95.0(@swc/core@1.7.36(@swc/helpers@0.5.13))(esbuild@0.23.1)) date-fns: specifier: ^4.1.0 version: 4.1.0 @@ -190,8 +190,8 @@ importers: specifier: workspace:* version: link:../../tooling/typescript '@tanstack/router-plugin': - specifier: ^1.69.1 - version: 1.69.1(vite@5.4.9(@types/node@22.7.6)(terser@5.36.0))(webpack-sources@3.2.3)(webpack@5.95.0(@swc/core@1.7.36(@swc/helpers@0.5.13))(esbuild@0.23.1)) + specifier: ^1.74.2 + version: 1.74.2(vite@5.4.9(@types/node@22.7.6)(terser@5.36.0))(webpack-sources@3.2.3)(webpack@5.95.0(@swc/core@1.7.36(@swc/helpers@0.5.13))(esbuild@0.23.1)) '@types/react': specifier: ^18.3.11 version: 18.3.11 @@ -199,8 +199,8 @@ importers: specifier: ^18.3.1 version: 18.3.1 '@vitejs/plugin-react': - specifier: ^4.3.2 - version: 4.3.2(vite@5.4.9(@types/node@22.7.6)(terser@5.36.0)) + specifier: ^4.3.3 + version: 4.3.3(vite@5.4.9(@types/node@22.7.6)(terser@5.36.0)) vite: specifier: ^5.4.9 version: 5.4.9(@types/node@22.7.6)(terser@5.36.0) @@ -397,6 +397,9 @@ importers: '@vercel/analytics': specifier: ^1.3.1 version: 1.3.1(next@15.0.0-rc.1(@babel/core@7.25.8)(babel-plugin-macros@3.1.0)(react-dom@19.0.0-rc-bf7e210c-20241017(react@19.0.0-rc-bf7e210c-20241017))(react@19.0.0-rc-bf7e210c-20241017))(react@19.0.0-rc-bf7e210c-20241017) + blockies-ts: + specifier: ^1.0.0 + version: 1.0.0 class-variance-authority: specifier: ^0.7.0 version: 0.7.0 @@ -416,7 +419,7 @@ importers: specifier: ^15.0.0-rc.1 version: 15.0.0-rc.1(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3) framer-motion: - specifier: ^11.5.4 + specifier: ^11.11.9 version: 11.11.9(@emotion/is-prop-valid@1.3.1)(react-dom@19.0.0-rc-bf7e210c-20241017(react@19.0.0-rc-bf7e210c-20241017))(react@19.0.0-rc-bf7e210c-20241017) frames.js: specifier: ^0.15.1 @@ -1172,8 +1175,8 @@ importers: specifier: ^14.2.15 version: 14.2.15 eslint-config-turbo: - specifier: ^2.2.0 - version: 2.2.0(eslint@9.12.0(jiti@2.3.3)) + specifier: ^2.2.1 + version: 2.2.1(eslint@9.12.0(jiti@2.3.3)) eslint-plugin-import: specifier: ^2.31.0 version: 2.31.0(@typescript-eslint/parser@8.0.0-alpha.62(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.12.0(jiti@2.3.3)) @@ -1185,7 +1188,7 @@ importers: version: 7.37.1(eslint@9.12.0(jiti@2.3.3)) eslint-plugin-react-hooks: specifier: rc - version: 5.1.0-rc-b8ae38f8-20241018(eslint@9.12.0(jiti@2.3.3)) + version: 5.1.0-rc-65a56d0e-20241020(eslint@9.12.0(jiti@2.3.3)) typescript-eslint: specifier: rc-v8 version: 8.0.0-alpha.62(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3) @@ -7073,8 +7076,8 @@ packages: peerDependencies: react: ^18 || ^19 - '@tanstack/react-router-with-query@1.73.0': - resolution: {integrity: sha512-A54aZ9Dj8VGIy51WGGHrCHGHtlHpJYwkaa1RE59ItyNWrhhjbWHNbVGePuOgxDPTtOJkDo5VagVfK7tu7Uq0rA==} + '@tanstack/react-router-with-query@1.74.4': + resolution: {integrity: sha512-/jB4jyRka4paBjLZ+y+TxkFkOg3ldkULc/UPeZoUA9xuk6c0Zx+OHI7evzFohEymOw/q0PTk6BVhbPYL+nvXTg==} engines: {node: '>=12'} peerDependencies: '@tanstack/react-query': '>=5.49.2' @@ -7082,11 +7085,11 @@ packages: react: '>=18' react-dom: '>=18' - '@tanstack/react-router@1.73.0': - resolution: {integrity: sha512-jv5rk3jgJfgJsQT4yohS+RFnlYs4OT2w2Oqk1DvOSk32ogHz3s8gStwkso9IqRUrqMyffe9YIDc8TZvxnVQEEQ==} + '@tanstack/react-router@1.74.4': + resolution: {integrity: sha512-dVI8L1Nc4d/njlFFm2O5NPLcqOd6/D10LaODIYNsbWts4UjQpQFBZcY5PGDBp9yPJxYMZ1wVctcWSGHrAUL4HQ==} engines: {node: '>=12'} peerDependencies: - '@tanstack/router-generator': 1.69.1 + '@tanstack/router-generator': 1.74.2 react: '>=18' react-dom: '>=18' peerDependenciesMeta: @@ -7106,20 +7109,20 @@ packages: react: '>=16.8' react-dom: '>=16.8' - '@tanstack/router-devtools@1.73.0': - resolution: {integrity: sha512-betbDfhXpZ6CwSqOA7HKu1FuW5MlmYseLZ5y1cAy/87M8mNyJrA73dNnBSA5/2VFuILu5I9tMojznJF620CeBA==} + '@tanstack/router-devtools@1.74.4': + resolution: {integrity: sha512-g0ZNtee60k4sGSVSIqqeOgXgIG18e7QJysJhrPqotlRKCLBKjScqivoNejM3pYWjyJVmzdZEiclwsOOJ6CezOA==} engines: {node: '>=12'} peerDependencies: - '@tanstack/react-router': ^1.73.0 + '@tanstack/react-router': ^1.74.4 react: '>=18' react-dom: '>=18' - '@tanstack/router-generator@1.69.1': - resolution: {integrity: sha512-llWfYf2oEgSC8QoO0uSov1SGC9/5r4oED7k07AAnfDMQ/jdXU4g0OdJlu2se7m5a17GgN2lEkaz/ZjmgM/tQrA==} + '@tanstack/router-generator@1.74.2': + resolution: {integrity: sha512-S69fXvYcL+tQsO5Fe9ju/XVa/hZvk4pCaWbtoR2MNjIgR2RmjiFKOgXYeLRMNom/IpP/HAQmQ3m1DwU9jjSUKA==} engines: {node: '>=12'} - '@tanstack/router-plugin@1.69.1': - resolution: {integrity: sha512-GM7qUwtyUPpC1uP6bgIkK6IipKUfdahv7PUyhyK8JhCsgWiymf8X5LuMwgLIKa6G3qr9Hm0DZnbGaAlirFqYFQ==} + '@tanstack/router-plugin@1.74.2': + resolution: {integrity: sha512-HcG0FwSZ77g0QH9Ev2I1QYeXS+WWjdThO5Whgm/9abkyJq5GfsiLm2Ey2cw2Va+iHgD2nQdkraP9xL/z9/s6BQ==} engines: {node: '>=12'} peerDependencies: '@rsbuild/core': '>=1.0.2' @@ -7137,8 +7140,8 @@ packages: resolution: {integrity: sha512-ZWGlNqF7vAiEOMQxxFQvzzcc/MIcT2l1xBz5mkjzTR4rrsLumaTXd8++LPoGD57NmlaGncBkGkiTiDMWZn1cFw==} engines: {node: '>=12'} - '@tanstack/start@1.73.0': - resolution: {integrity: sha512-a7k136+5UgrvITQP1YB3AhpQtkC+M9oNV7YgAsTEKNyklx6S5HnZdRGuzYOzO1RZAmFwwGPnjlgJUbwCspHMfg==} + '@tanstack/start@1.74.4': + resolution: {integrity: sha512-fzZ9ljsdY1Pl9nJM4EoR1BPcYzOYoXrDDAheMXIixw2WH78n51lHX79IkjYoTpKlCZPAtI/10Z0TShqH7IdtVA==} engines: {node: '>=12'} peerDependencies: react: '>=18.0.0 || >=19.0.0' @@ -7263,12 +7266,12 @@ packages: '@tsconfig/node16@1.0.4': resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} - '@turbo/gen@2.2.0': - resolution: {integrity: sha512-p0zJDOv/ePYwov9lfUjZtbH4L5engpVLnRrWJjo070T27NZl6bmcujWj2kuOimeHIlRNiVcYeAKXUNRBy9UzDQ==} + '@turbo/gen@2.2.1': + resolution: {integrity: sha512-z0Q3tZpCZnrauS105o/Zv/LExiUbJ6fxCtOyV5+jGQEyx4o+NpNJWjD7obRNKInlxL86QHaLNVTbfAgTqZlATw==} hasBin: true - '@turbo/workspaces@2.2.0': - resolution: {integrity: sha512-Z/834j+R3zri3XhLRusKsz4whBGs5Jm6cQ491O9xOjHiS0LX+ZTFcWzpDau0GEUG5LhBpugabHyASDeWJzPcDA==} + '@turbo/workspaces@2.2.1': + resolution: {integrity: sha512-xSE50kYqOjvFe2qkjC8YGUeZeCFGobi4OCBheo1iHtPFOEZgwsISli7EMX1j6s7gnqJ5kbrajdz2QF0ZJA+MKA==} hasBin: true '@types/acorn@4.0.6': @@ -7875,6 +7878,12 @@ packages: peerDependencies: vite: ^4.2.0 || ^5.0.0 + '@vitejs/plugin-react@4.3.3': + resolution: {integrity: sha512-NooDe9GpHGqNns1i8XDERg0Vsg5SSYRhRxxyTGogUdkdNt47jal+fbuYi+Yfq6pzRCKXyoPcWisfxE6RIM3GKA==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.2.0 || ^5.0.0 + '@vitest/coverage-v8@2.1.3': resolution: {integrity: sha512-2OJ3c7UPoFSmBZwqD2VEkUw6A/tzPF0LmW0ZZhhB8PFxuc+9IBG/FaSM+RLEenc7ljzFvGN+G0nGQoZnh7sy2A==} peerDependencies: @@ -8817,6 +8826,9 @@ packages: blob-to-it@1.0.4: resolution: {integrity: sha512-iCmk0W4NdbrWgRRuxOriU8aM5ijeVLI61Zulsmg/lUHNr7pYjoj+U77opLefNagevtrrbMt3JQ5Qip7ar178kA==} + blockies-ts@1.0.0: + resolution: {integrity: sha512-mL9NO/FjYbFjaSDA5tw/qkUwEXrBG1bHSoPhAFG9CAzDaHTwQHzvYByAYUBmnqYciFsJvdxWKGtyOLgaSKoUkA==} + bluebird@3.7.2: resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} @@ -10554,8 +10566,8 @@ packages: typescript: optional: true - eslint-config-turbo@2.2.0: - resolution: {integrity: sha512-AN41RIh6HuH62AQGFmGV/5h/2rL3S88/Xxvrwf29E8wo79YWMh170weWgUDT57M8OPiz9p3/Dcw/BmVh2WlbXw==} + eslint-config-turbo@2.2.1: + resolution: {integrity: sha512-cDvPCMSlcyNe5+a3tEZoF/gsZ8WrCddAdqcN/qvBGVD7IL1XdxWerFCfgU/R2fT9JFjyqRhsJnmcbbbwyXockw==} peerDependencies: eslint: '>6.6.0' @@ -10641,8 +10653,8 @@ packages: peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 - eslint-plugin-react-hooks@5.1.0-rc-b8ae38f8-20241018: - resolution: {integrity: sha512-2yfkwKur7rmxazTDrPddL9pNu3nYuLfTI+EHU/aP4Mxu8OFAW/twl8HogAV8I+RYNM2HwZukQCH7VXGvzwwSwQ==} + eslint-plugin-react-hooks@5.1.0-rc-65a56d0e-20241020: + resolution: {integrity: sha512-jf51dH0lS5ovn+IyIKEK2KO+pM4Ar7GN8ICBYg4ekd2jc3Gp/0+7DlaM2GHoevenyGZIm6xHRcPhMlPuy/vXjw==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 @@ -10664,8 +10676,8 @@ packages: peerDependencies: eslint: '>=6' - eslint-plugin-turbo@2.2.0: - resolution: {integrity: sha512-Xu99K8R6/wEVX34WreTbItyX25YYqW7VZU7/nyvKtlusHdsO6Be8IfhWIzIOgThigq4IiBsZXk/lhdcG1KzaNQ==} + eslint-plugin-turbo@2.2.1: + resolution: {integrity: sha512-ajKdYtqLC238QGA4SpAFHp6dZICcEktB5oLOnMXz84M+pS9FlGBiUmonrBkmdTEm5jakxqmSdt/cq9J2hWm6mg==} peerDependencies: eslint: '>6.6.0' @@ -16871,38 +16883,38 @@ packages: tunnel-agent@0.6.0: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} - turbo-darwin-64@2.1.3: - resolution: {integrity: sha512-ouJOm0g0YyoBuhmikEujVCBGo3Zr0lbSOWFIsQtWUTItC88F2w2byhjtsYGPXQwMlTbXwmoBU2lOCfWNkeEwHQ==} + turbo-darwin-64@2.2.1: + resolution: {integrity: sha512-jltMdSQ+7rQDVaorjW729PCw6fwAn1MgZSdoa0Gil7GZCOF3SnR/ok0uJw6G5mdm6F5XM8ZTlz+mdGzBLuBRaA==} cpu: [x64] os: [darwin] - turbo-darwin-arm64@2.1.3: - resolution: {integrity: sha512-j2FOJsK4LAOtHQlb3Oom0yWB/Vi0nF1ljInr311mVzHoFAJRZtfW2fRvdZRb/lBUwjSp8be58qWHzANIcrA0OA==} + turbo-darwin-arm64@2.2.1: + resolution: {integrity: sha512-RHW0c1NonsJXXlutlZeunmhLanf0/WbeizFfYgWuTEaJE4MbbhyD/RG4Fm/7iob5kxQ4Es2TzfDPqyMqpIO0GA==} cpu: [arm64] os: [darwin] - turbo-linux-64@2.1.3: - resolution: {integrity: sha512-ubRHkI1gSel7H7wsmxKK8C9UlLWqg/2dkCC88LFupaK6TKgvBKqDqA0Z1M9C/escK0Jsle2k0H8bybV9OYIl4Q==} + turbo-linux-64@2.2.1: + resolution: {integrity: sha512-RasrjV+i2B90hoR8r6B2Btf2/ebNT5MJbhkpY0G1EN06E1IkjCKfAXj/1Dwmjy9+Zo0NC2r69L3HxRrtpar8jQ==} cpu: [x64] os: [linux] - turbo-linux-arm64@2.1.3: - resolution: {integrity: sha512-LffUL+e5wv7BtD6DgnM2kKOlDkMo2eRjhbAjVnrCD3wi2ug0tl6NDzajnHHjtaMyOnIf4AvzSKdLWsBxafGBQA==} + turbo-linux-arm64@2.2.1: + resolution: {integrity: sha512-LNkUUJuu1gNkhlo7Ky/zilXEiajLoGlWLiKT1XV5neEf+x1s+aU9Hzd/+HhSVMiyI8l7z6zLbrM1a6+v4co/SQ==} cpu: [arm64] os: [linux] - turbo-windows-64@2.1.3: - resolution: {integrity: sha512-S9SvcZZoaq5jKr6kA6eF7/xgQhVn8Vh7PVy5lono9zybvhyL4eY++y2PaLToIgL8G9IcbLmgOC73ExNjFBg9XQ==} + turbo-windows-64@2.2.1: + resolution: {integrity: sha512-Mn5tlFrLzlQ6tW6wTWNlyT1osXuDUg0VT1VAjRpmRXlK2Zi3oKVVG0rs0nkkq4rmuheryD1xyuGPN9nFKbAn/A==} cpu: [x64] os: [win32] - turbo-windows-arm64@2.1.3: - resolution: {integrity: sha512-twlEo8lRrGbrR6T/ZklUIquW3IlFCEtywklgVA81aIrSBm56+GEVpSrHhIlsx1hiYeSNrs+GpDwZGe+V7fvEVQ==} + turbo-windows-arm64@2.2.1: + resolution: {integrity: sha512-bvYOJ3SMN00yiem+uAqwRMbUMau/KiMzJYxnD0YkFo6INc08z8gZi5g0GLZAR7g/L3JegktX3UQW2cJvryjvLg==} cpu: [arm64] os: [win32] - turbo@2.1.3: - resolution: {integrity: sha512-lY0yj2GH2a2a3NExZ3rGe+rHUVeFE2aXuRAue57n+08E7Z7N7YCmynju0kPC1grAQzERmoLpKrmzmWd+PNiADw==} + turbo@2.2.1: + resolution: {integrity: sha512-clZFkh6U6NpsLKBVZYRjlZjRTfju1Z5STqvFVaOGu5443uM75alJe1nCYH9pQ9YJoiOvXAqA2rDHWN5kLS9JMg==} hasBin: true tween-functions@1.2.0: @@ -18203,7 +18215,7 @@ snapshots: '@babel/parser': 7.25.8 '@babel/template': 7.25.7 '@babel/traverse': 7.25.7 - '@babel/types': 7.24.6 + '@babel/types': 7.25.8 convert-source-map: 2.0.0 debug: 4.3.7 gensync: 1.0.0-beta.2 @@ -25798,14 +25810,14 @@ snapshots: '@tanstack/query-core': 5.59.13 react: 19.0.0-rc-bf7e210c-20241017 - '@tanstack/react-router-with-query@1.73.0(@tanstack/react-query@5.59.15(react@18.3.1))(@tanstack/react-router@1.73.0(@tanstack/router-generator@1.69.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@tanstack/react-router-with-query@1.74.4(@tanstack/react-query@5.59.15(react@18.3.1))(@tanstack/react-router@1.74.4(@tanstack/router-generator@1.74.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@tanstack/react-query': 5.59.15(react@18.3.1) - '@tanstack/react-router': 1.73.0(@tanstack/router-generator@1.69.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tanstack/react-router': 1.74.4(@tanstack/router-generator@1.74.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@tanstack/react-router@1.73.0(@tanstack/router-generator@1.69.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@tanstack/react-router@1.74.4(@tanstack/router-generator@1.74.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@tanstack/history': 1.61.1 '@tanstack/react-store': 0.5.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -25814,7 +25826,7 @@ snapshots: tiny-invariant: 1.3.3 tiny-warning: 1.0.3 optionalDependencies: - '@tanstack/router-generator': 1.69.1 + '@tanstack/router-generator': 1.74.2 '@tanstack/react-store@0.5.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: @@ -25829,9 +25841,9 @@ snapshots: react: 19.0.0-rc-bf7e210c-20241017 react-dom: 19.0.0-rc-bf7e210c-20241017(react@19.0.0-rc-bf7e210c-20241017) - '@tanstack/router-devtools@1.73.0(@tanstack/react-router@1.73.0(@tanstack/router-generator@1.69.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(csstype@3.1.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@tanstack/router-devtools@1.74.4(@tanstack/react-router@1.74.4(@tanstack/router-generator@1.74.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(csstype@3.1.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@tanstack/react-router': 1.73.0(@tanstack/router-generator@1.69.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tanstack/react-router': 1.74.4(@tanstack/router-generator@1.74.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) clsx: 2.1.1 goober: 2.1.16(csstype@3.1.3) react: 18.3.1 @@ -25839,14 +25851,14 @@ snapshots: transitivePeerDependencies: - csstype - '@tanstack/router-generator@1.69.1': + '@tanstack/router-generator@1.74.2': dependencies: '@tanstack/virtual-file-routes': 1.64.0 prettier: 3.3.3 tsx: 4.19.1 zod: 3.23.8 - '@tanstack/router-plugin@1.69.1(vite@5.4.9(@types/node@22.7.6)(terser@5.36.0))(webpack-sources@3.2.3)(webpack@5.95.0(@swc/core@1.7.36(@swc/helpers@0.5.13))(esbuild@0.23.1))': + '@tanstack/router-plugin@1.74.2(vite@5.4.9(@types/node@22.7.6)(terser@5.36.0))(webpack-sources@3.2.3)(webpack@5.95.0(@swc/core@1.7.36(@swc/helpers@0.5.13))(esbuild@0.23.1))': dependencies: '@babel/core': 7.25.8 '@babel/generator': 7.25.7 @@ -25856,7 +25868,7 @@ snapshots: '@babel/template': 7.25.7 '@babel/traverse': 7.25.7 '@babel/types': 7.25.8 - '@tanstack/router-generator': 1.69.1 + '@tanstack/router-generator': 1.74.2 '@tanstack/virtual-file-routes': 1.64.0 '@types/babel__core': 7.20.5 '@types/babel__generator': 7.6.8 @@ -25891,12 +25903,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@tanstack/start@1.73.0(@types/node@22.7.6)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.4.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(terser@5.36.0)(vite@5.4.9(@types/node@22.7.6)(terser@5.36.0))(webpack-sources@3.2.3)(webpack@5.95.0(@swc/core@1.7.36(@swc/helpers@0.5.13))(esbuild@0.23.1))': + '@tanstack/start@1.74.4(@types/node@22.7.6)(encoding@0.1.13)(idb-keyval@6.2.1)(ioredis@5.4.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(terser@5.36.0)(vite@5.4.9(@types/node@22.7.6)(terser@5.36.0))(webpack-sources@3.2.3)(webpack@5.95.0(@swc/core@1.7.36(@swc/helpers@0.5.13))(esbuild@0.23.1))': dependencies: '@tanstack/react-cross-context': 1.60.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@tanstack/react-router': 1.73.0(@tanstack/router-generator@1.69.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@tanstack/router-generator': 1.69.1 - '@tanstack/router-plugin': 1.69.1(vite@5.4.9(@types/node@22.7.6)(terser@5.36.0))(webpack-sources@3.2.3)(webpack@5.95.0(@swc/core@1.7.36(@swc/helpers@0.5.13))(esbuild@0.23.1)) + '@tanstack/react-router': 1.74.4(@tanstack/router-generator@1.74.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tanstack/router-generator': 1.74.2 + '@tanstack/router-plugin': 1.74.2(vite@5.4.9(@types/node@22.7.6)(terser@5.36.0))(webpack-sources@3.2.3)(webpack@5.95.0(@swc/core@1.7.36(@swc/helpers@0.5.13))(esbuild@0.23.1)) '@tanstack/start-vite-plugin': 1.66.1 '@vinxi/react': 0.2.5 '@vinxi/react-server-dom': 0.0.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@5.4.9(@types/node@22.7.6)(terser@5.36.0)) @@ -26073,9 +26085,9 @@ snapshots: '@tsconfig/node16@1.0.4': {} - '@turbo/gen@2.2.0(@swc/core@1.7.36(@swc/helpers@0.5.13))(@types/node@22.7.6)(typescript@5.6.3)': + '@turbo/gen@2.2.1(@swc/core@1.7.36(@swc/helpers@0.5.13))(@types/node@22.7.6)(typescript@5.6.3)': dependencies: - '@turbo/workspaces': 2.2.0 + '@turbo/workspaces': 2.2.1 commander: 10.0.1 fs-extra: 10.1.0 inquirer: 8.2.6 @@ -26093,7 +26105,7 @@ snapshots: - supports-color - typescript - '@turbo/workspaces@2.2.0': + '@turbo/workspaces@2.2.1': dependencies: commander: 10.0.1 execa: 5.1.1 @@ -26464,16 +26476,16 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@typescript-eslint/eslint-plugin@2.34.0(@typescript-eslint/parser@2.34.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3))(eslint@6.8.0)(typescript@3.9.10)': + '@typescript-eslint/eslint-plugin@2.34.0(@typescript-eslint/parser@2.34.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3)': dependencies: '@typescript-eslint/experimental-utils': 2.34.0(eslint@6.8.0)(typescript@3.9.10) '@typescript-eslint/parser': 2.34.0(eslint@6.8.0)(typescript@3.9.10) - eslint: 6.8.0 + eslint: 9.12.0(jiti@2.3.3) functional-red-black-tree: 1.0.1 regexpp: 3.2.0 tsutils: 3.21.0(typescript@3.9.10) optionalDependencies: - typescript: 3.9.10 + typescript: 5.6.3 transitivePeerDependencies: - supports-color @@ -26886,6 +26898,17 @@ snapshots: transitivePeerDependencies: - supports-color + '@vitejs/plugin-react@4.3.3(vite@5.4.9(@types/node@22.7.6)(terser@5.36.0))': + dependencies: + '@babel/core': 7.25.8 + '@babel/plugin-transform-react-jsx-self': 7.25.7(@babel/core@7.25.8) + '@babel/plugin-transform-react-jsx-source': 7.25.7(@babel/core@7.25.8) + '@types/babel__core': 7.20.5 + react-refresh: 0.14.2 + vite: 5.4.9(@types/node@22.7.6)(terser@5.36.0) + transitivePeerDependencies: + - supports-color + '@vitest/coverage-v8@2.1.3(vitest@2.1.3(@types/node@22.7.6)(jsdom@25.0.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(terser@5.36.0))': dependencies: '@ampproject/remapping': 2.3.0 @@ -28406,6 +28429,8 @@ snapshots: dependencies: browser-readablestream-to-it: 1.0.3 + blockies-ts@1.0.0: {} + bluebird@3.7.2: {} bn.js@4.11.6: {} @@ -30373,7 +30398,7 @@ snapshots: '@typescript-eslint/parser': 7.18.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3) eslint: 9.12.0(jiti@2.3.3) eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.18.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.12.0(jiti@2.3.3)))(eslint@9.12.0(jiti@2.3.3)) + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.18.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@9.12.0(jiti@2.3.3)) eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@9.12.0(jiti@2.3.3)) eslint-plugin-jsx-a11y: 6.10.0(eslint@9.12.0(jiti@2.3.3)) eslint-plugin-react: 7.37.1(eslint@9.12.0(jiti@2.3.3)) @@ -30390,9 +30415,9 @@ snapshots: eslint: 6.8.0 get-stdin: 6.0.0 - eslint-config-react-app@5.2.1(@typescript-eslint/eslint-plugin@2.34.0(@typescript-eslint/parser@2.34.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3))(@typescript-eslint/parser@2.34.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3))(babel-eslint@10.1.0(eslint@9.12.0(jiti@2.3.3)))(eslint-plugin-flowtype@3.13.0(eslint@9.12.0(jiti@2.3.3)))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@2.34.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.12.0(jiti@2.3.3)))(eslint-plugin-jsx-a11y@6.10.0(eslint@9.12.0(jiti@2.3.3)))(eslint-plugin-react-hooks@2.5.1(eslint@9.12.0(jiti@2.3.3)))(eslint-plugin-react@7.37.1(eslint@9.12.0(jiti@2.3.3)))(eslint@6.8.0)(typescript@3.9.10): + eslint-config-react-app@5.2.1(@typescript-eslint/eslint-plugin@2.34.0(@typescript-eslint/parser@2.34.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3))(eslint@6.8.0)(typescript@3.9.10))(@typescript-eslint/parser@2.34.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3))(babel-eslint@10.1.0(eslint@9.12.0(jiti@2.3.3)))(eslint-plugin-flowtype@3.13.0(eslint@6.8.0))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@2.34.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3))(eslint@6.8.0))(eslint-plugin-jsx-a11y@6.10.0(eslint@6.8.0))(eslint-plugin-react-hooks@2.5.1(eslint@9.12.0(jiti@2.3.3)))(eslint-plugin-react@7.37.1(eslint@6.8.0))(eslint@6.8.0)(typescript@3.9.10): dependencies: - '@typescript-eslint/eslint-plugin': 2.34.0(@typescript-eslint/parser@2.34.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3))(eslint@6.8.0)(typescript@3.9.10) + '@typescript-eslint/eslint-plugin': 2.34.0(@typescript-eslint/parser@2.34.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3) '@typescript-eslint/parser': 2.34.0(eslint@6.8.0)(typescript@3.9.10) babel-eslint: 10.1.0(eslint@6.8.0) confusing-browser-globals: 1.0.11 @@ -30405,10 +30430,10 @@ snapshots: optionalDependencies: typescript: 3.9.10 - eslint-config-turbo@2.2.0(eslint@9.12.0(jiti@2.3.3)): + eslint-config-turbo@2.2.1(eslint@9.12.0(jiti@2.3.3)): dependencies: eslint: 9.12.0(jiti@2.3.3) - eslint-plugin-turbo: 2.2.0(eslint@9.12.0(jiti@2.3.3)) + eslint-plugin-turbo: 2.2.1(eslint@9.12.0(jiti@2.3.3)) eslint-import-resolver-node@0.3.9: dependencies: @@ -30418,7 +30443,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.18.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.12.0(jiti@2.3.3)))(eslint@9.12.0(jiti@2.3.3)): + eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.18.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@9.12.0(jiti@2.3.3)): dependencies: '@nolyfill/is-core-module': 1.0.39 debug: 4.3.7 @@ -30454,7 +30479,7 @@ snapshots: '@typescript-eslint/parser': 7.18.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3) eslint: 9.12.0(jiti@2.3.3) eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.18.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.12.0(jiti@2.3.3)))(eslint@9.12.0(jiti@2.3.3)) + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.18.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@9.12.0(jiti@2.3.3)) transitivePeerDependencies: - supports-color @@ -30616,7 +30641,7 @@ snapshots: dependencies: eslint: 9.12.0(jiti@2.3.3) - eslint-plugin-react-hooks@5.1.0-rc-b8ae38f8-20241018(eslint@9.12.0(jiti@2.3.3)): + eslint-plugin-react-hooks@5.1.0-rc-65a56d0e-20241020(eslint@9.12.0(jiti@2.3.3)): dependencies: eslint: 9.12.0(jiti@2.3.3) @@ -30679,7 +30704,7 @@ snapshots: - supports-color - typescript - eslint-plugin-turbo@2.2.0(eslint@9.12.0(jiti@2.3.3)): + eslint-plugin-turbo@2.2.1(eslint@9.12.0(jiti@2.3.3)): dependencies: dotenv: 16.0.3 eslint: 9.12.0(jiti@2.3.3) @@ -38701,7 +38726,7 @@ snapshots: '@rollup/plugin-node-resolve': 9.0.0(rollup@1.32.1) '@rollup/plugin-replace': 2.4.2(rollup@1.32.1) '@types/jest': 25.2.3 - '@typescript-eslint/eslint-plugin': 2.34.0(@typescript-eslint/parser@2.34.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3))(eslint@6.8.0)(typescript@3.9.10) + '@typescript-eslint/eslint-plugin': 2.34.0(@typescript-eslint/parser@2.34.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3) '@typescript-eslint/parser': 2.34.0(eslint@6.8.0)(typescript@3.9.10) ansi-escapes: 4.3.2 asyncro: 3.0.0 @@ -38716,7 +38741,7 @@ snapshots: enquirer: 2.4.1 eslint: 6.8.0 eslint-config-prettier: 6.15.0(eslint@6.8.0) - eslint-config-react-app: 5.2.1(@typescript-eslint/eslint-plugin@2.34.0(@typescript-eslint/parser@2.34.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3))(@typescript-eslint/parser@2.34.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3))(babel-eslint@10.1.0(eslint@9.12.0(jiti@2.3.3)))(eslint-plugin-flowtype@3.13.0(eslint@9.12.0(jiti@2.3.3)))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@2.34.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.12.0(jiti@2.3.3)))(eslint-plugin-jsx-a11y@6.10.0(eslint@9.12.0(jiti@2.3.3)))(eslint-plugin-react-hooks@2.5.1(eslint@9.12.0(jiti@2.3.3)))(eslint-plugin-react@7.37.1(eslint@9.12.0(jiti@2.3.3)))(eslint@6.8.0)(typescript@3.9.10) + eslint-config-react-app: 5.2.1(@typescript-eslint/eslint-plugin@2.34.0(@typescript-eslint/parser@2.34.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3))(eslint@6.8.0)(typescript@3.9.10))(@typescript-eslint/parser@2.34.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3))(babel-eslint@10.1.0(eslint@9.12.0(jiti@2.3.3)))(eslint-plugin-flowtype@3.13.0(eslint@6.8.0))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@2.34.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3))(eslint@6.8.0))(eslint-plugin-jsx-a11y@6.10.0(eslint@6.8.0))(eslint-plugin-react-hooks@2.5.1(eslint@9.12.0(jiti@2.3.3)))(eslint-plugin-react@7.37.1(eslint@6.8.0))(eslint@6.8.0)(typescript@3.9.10) eslint-plugin-flowtype: 3.13.0(eslint@6.8.0) eslint-plugin-import: 2.31.0(@typescript-eslint/parser@2.34.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3))(eslint@6.8.0) eslint-plugin-jsx-a11y: 6.10.0(eslint@6.8.0) @@ -38816,32 +38841,32 @@ snapshots: dependencies: safe-buffer: 5.2.1 - turbo-darwin-64@2.1.3: + turbo-darwin-64@2.2.1: optional: true - turbo-darwin-arm64@2.1.3: + turbo-darwin-arm64@2.2.1: optional: true - turbo-linux-64@2.1.3: + turbo-linux-64@2.2.1: optional: true - turbo-linux-arm64@2.1.3: + turbo-linux-arm64@2.2.1: optional: true - turbo-windows-64@2.1.3: + turbo-windows-64@2.2.1: optional: true - turbo-windows-arm64@2.1.3: + turbo-windows-arm64@2.2.1: optional: true - turbo@2.1.3: + turbo@2.2.1: optionalDependencies: - turbo-darwin-64: 2.1.3 - turbo-darwin-arm64: 2.1.3 - turbo-linux-64: 2.1.3 - turbo-linux-arm64: 2.1.3 - turbo-windows-64: 2.1.3 - turbo-windows-arm64: 2.1.3 + turbo-darwin-64: 2.2.1 + turbo-darwin-arm64: 2.2.1 + turbo-linux-64: 2.2.1 + turbo-linux-arm64: 2.2.1 + turbo-windows-64: 2.2.1 + turbo-windows-arm64: 2.2.1 tween-functions@1.2.0: {} diff --git a/tooling/eslint/package.json b/tooling/eslint/package.json index fe46d6e2..37776bcf 100644 --- a/tooling/eslint/package.json +++ b/tooling/eslint/package.json @@ -16,7 +16,7 @@ "dependencies": { "@next/eslint-plugin-next": "^14.2.15", "typescript-eslint": "rc-v8", - "eslint-config-turbo": "^2.2.0", + "eslint-config-turbo": "^2.2.1", "eslint-plugin-import": "^2.31.0", "eslint-plugin-jsx-a11y": "^6.10.0", "eslint-plugin-react": "^7.37.1",