diff --git a/artifacts/ouwibo/package.json b/artifacts/ouwibo/package.json
index 4f6da29..d58f0af 100644
--- a/artifacts/ouwibo/package.json
+++ b/artifacts/ouwibo/package.json
@@ -70,5 +70,8 @@
"vite": "catalog:",
"wouter": "^3.3.5",
"zod": "catalog:"
+ },
+ "dependencies": {
+ "@vercel/speed-insights": "^2.0.0"
}
}
diff --git a/artifacts/ouwibo/src/App.tsx b/artifacts/ouwibo/src/App.tsx
index 0410dee..4676b29 100644
--- a/artifacts/ouwibo/src/App.tsx
+++ b/artifacts/ouwibo/src/App.tsx
@@ -1,5 +1,6 @@
import { Switch, Route, Router as WouterRouter } from "wouter";
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
+import { SpeedInsights } from "@vercel/speed-insights/react";
import { Toaster } from "@/components/ui/toaster";
import { TooltipProvider } from "@/components/ui/tooltip";
import { ThemeProvider } from "@/components/ThemeProvider";
@@ -24,7 +25,7 @@ function App() {
{/* All other routes — inside sidebar Layout */}
-
+
);
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 080bf7c..8139473 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -313,6 +313,10 @@ importers:
version: 3.25.76
artifacts/ouwibo:
+ dependencies:
+ '@vercel/speed-insights':
+ specifier: ^2.0.0
+ version: 2.0.0(react@19.1.0)
devDependencies:
'@hookform/resolvers':
specifier: ^3.10.0
@@ -1958,6 +1962,32 @@ packages:
resolution: {integrity: sha512-ncQ8CRb6XoEAYJwjOTRGpACRT6h/AeY+/33gLyeVxG5BIes27OPm1jmqreF+JHjcTmGhClTP+kBpmyLfbV0xew==}
engines: {node: '>=20.0.0'}
+ '@vercel/speed-insights@2.0.0':
+ resolution: {integrity: sha512-jwkNcrTeafWxjmWq4AHBaptSqZiJkYU5adLC9QBSqeim0GcqDMgN5Ievh8OG1rJ6W3A4l1oiP7qr9CWxGuzu3w==}
+ peerDependencies:
+ '@sveltejs/kit': ^1 || ^2
+ next: '>= 13'
+ nuxt: '>= 3'
+ react: ^18 || ^19 || ^19.0.0-rc
+ svelte: '>= 4'
+ vue: ^3
+ vue-router: ^4
+ peerDependenciesMeta:
+ '@sveltejs/kit':
+ optional: true
+ next:
+ optional: true
+ nuxt:
+ optional: true
+ react:
+ optional: true
+ svelte:
+ optional: true
+ vue:
+ optional: true
+ vue-router:
+ optional: true
+
'@vitejs/plugin-react@5.2.0':
resolution: {integrity: sha512-YmKkfhOAi3wsB1PhJq5Scj3GXMn3WvtQ/JC0xoopuHoXSdmtdStOpFrYaT1kie2YgFBcIe64ROzMYRjCrYOdYw==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -3125,6 +3155,7 @@ packages:
recharts@2.15.4:
resolution: {integrity: sha512-UT/q6fwS3c1dHbXv2uFgYJ9BMFHu3fwnd7AYZaEQhXuYQ4hgsxLvsUXzGdKeZrW5xopzDCvuA2N41WJ88I7zIw==}
engines: {node: '>=14'}
+ deprecated: 1.x and 2.x branches are no longer active. Bump to Recharts v3 to receive latest features and bugfixes. See https://github.com/recharts/recharts/wiki/3.0-migration-guide
peerDependencies:
react: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
react-dom: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
@@ -4907,6 +4938,10 @@ snapshots:
throttleit: 2.1.0
undici: 6.26.0
+ '@vercel/speed-insights@2.0.0(react@19.1.0)':
+ optionalDependencies:
+ react: 19.1.0
+
'@vitejs/plugin-react@5.2.0(vite@7.3.3(@types/node@25.6.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.4))':
dependencies:
'@babel/core': 7.29.0