From fecc44fc41e466c4af5414b8f94b94561c3d75af Mon Sep 17 00:00:00 2001 From: npty Date: Tue, 18 Feb 2025 11:52:30 +0700 Subject: [PATCH] feat: integrate Vercel Speed Insights for performance monitoring --- apps/maestro/package.json | 1 + apps/maestro/src/pages/_app.tsx | 16 ++++++++++------ pnpm-lock.yaml | 31 +++++++++++++++++++++++++++++++ 3 files changed, 42 insertions(+), 6 deletions(-) diff --git a/apps/maestro/package.json b/apps/maestro/package.json index b8de7373..731d52bd 100644 --- a/apps/maestro/package.json +++ b/apps/maestro/package.json @@ -53,6 +53,7 @@ "@trpc/server": "11.0.0-next.320", "@vercel/kv": "^1.0.1", "@vercel/postgres": "^0.7.2", + "@vercel/speed-insights": "^1.2.0", "@web3modal/wagmi": "^4.1.1", "drizzle-orm": "^0.29.5", "hardhat": "^2.22.13", diff --git a/apps/maestro/src/pages/_app.tsx b/apps/maestro/src/pages/_app.tsx index 317bf253..c88cf5f7 100644 --- a/apps/maestro/src/pages/_app.tsx +++ b/apps/maestro/src/pages/_app.tsx @@ -3,13 +3,14 @@ import { Toaster } from "@axelarjs/ui/toaster"; import { useState, type FC } from "react"; import { SessionProvider } from "next-auth/react"; import type { AppProps } from "next/app"; +import dynamic from "next/dynamic"; import { Cabin } from "next/font/google"; import localFont from "next/font/local"; import Script from "next/script"; -import dynamic from 'next/dynamic'; import { QueryClientProvider } from "@tanstack/react-query"; import { ReactQueryDevtools } from "@tanstack/react-query-devtools"; +import { SpeedInsights } from "@vercel/speed-insights/next"; import { WagmiConfigPropvider } from "~/lib/providers/WagmiConfigPropvider"; @@ -28,15 +29,17 @@ import MainLayout from "~/ui/layouts/MainLayout"; import NProgressBar from "~/ui/layouts/NProgressBar"; import "@tanstack/react-query"; + import { SUI_RPC_URLS } from "@axelarjs/core"; // Dynamically import WalletProvider with ssr disabled const WalletProviderClient = dynamic( - () => import('@mysten/dapp-kit').then(mod => ({ - default: ({ children }: { children: React.ReactNode }) => ( - {children} - ) - })), + () => + import("@mysten/dapp-kit").then((mod) => ({ + default: ({ children }: { children: React.ReactNode }) => ( + {children} + ), + })), { ssr: false } ); @@ -99,6 +102,7 @@ const App: FC = ({ Component, pageProps }) => { + diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e6c14dcc..33265ca5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -149,6 +149,9 @@ importers: '@vercel/postgres': specifier: ^0.7.2 version: 0.7.2 + '@vercel/speed-insights': + specifier: ^1.2.0 + version: 1.2.0(next@14.1.4(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) '@web3modal/wagmi': specifier: ^4.1.1 version: 4.2.3(tx2qcuguw7ip4pmbujlc3ml2am) @@ -5462,6 +5465,29 @@ packages: resolution: {integrity: sha512-IqR/ZAvoPGcPaXl9eWWB5KaA+w/81RzZa/18P4izQRHpNBkTGt9HwGfYi9+wut5UgxNq4QSX9A7HIQR6QDvX2Q==} engines: {node: '>=14.6'} + '@vercel/speed-insights@1.2.0': + resolution: {integrity: sha512-y9GVzrUJ2xmgtQlzFP2KhVRoCglwfRQgjyfY607aU0hh0Un6d0OUyrJkjuAlsV18qR4zfoFPs/BiIj9YDS6Wzw==} + peerDependencies: + '@sveltejs/kit': ^1 || ^2 + next: '>= 13' + react: ^18 || ^19 || ^19.0.0-rc + svelte: '>= 4' + vue: ^3 + vue-router: ^4 + peerDependenciesMeta: + '@sveltejs/kit': + optional: true + next: + optional: true + react: + optional: true + svelte: + optional: true + vue: + optional: true + vue-router: + optional: true + '@vitejs/plugin-react@4.3.4': resolution: {integrity: sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==} engines: {node: ^14.18.0 || >=16.0.0} @@ -17979,6 +18005,11 @@ snapshots: utf-8-validate: 6.0.3 ws: 8.14.2(bufferutil@4.0.8)(utf-8-validate@6.0.3) + '@vercel/speed-insights@1.2.0(next@14.1.4(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': + optionalDependencies: + next: 14.1.4(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + '@vitejs/plugin-react@4.3.4(vite@5.4.11(@types/node@20.17.10)(terser@5.37.0))': dependencies: '@babel/core': 7.26.0