Merge pull request #3 from GoranSalzmann/vercel/vercel-web-analytics-to-nextjs-vupcvm

Add Vercel Web Analytics to Next.js
This commit is contained in:
Mike Karl 2026-02-13 10:29:48 +01:00 • committed by GitHub
commit e3b4324bbf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 42 additions and 0 deletions

View file

@ -7,6 +7,7 @@ import Image from "next/image";
import logo from "./logo.png" import logo from "./logo.png"
import Link from "next/link"; import Link from "next/link";
import { SpeedInsights } from '@vercel/speed-insights/next'; import { SpeedInsights } from '@vercel/speed-insights/next';
import { Analytics } from '@vercel/analytics/next';
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Portfolio - Mike Karl", title: "Portfolio - Mike Karl",
@ -34,6 +35,7 @@ export default function RootLayout({
{children} {children}
<div className="bg" /> <div className="bg" />
<SpeedInsights /> <SpeedInsights />
<Analytics />
</body> </body>
</html> </html>
); );

39
package-lock.json generated
View file

@ -8,6 +8,7 @@
"name": "portfolio", "name": "portfolio",
"version": "0.1.0", "version": "0.1.0",
"dependencies": { "dependencies": {
"@vercel/analytics": "^1.6.1",
"@vercel/speed-insights": "^1.3.1", "@vercel/speed-insights": "^1.3.1",
"framer-motion": "^12.33.0", "framer-motion": "^12.33.0",
"next": "^15.5.12", "next": "^15.5.12",
@ -1046,6 +1047,44 @@
"@types/react": "^19.2.0" "@types/react": "^19.2.0"
} }
}, },
"node_modules/@vercel/analytics": {
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/@vercel/analytics/-/analytics-1.6.1.tgz",
"integrity": "sha512-oH9He/bEM+6oKlv3chWuOOcp8Y6fo6/PSro8hEkgCW3pu9/OiCXiUpRUogDh3Fs3LH2sosDrx8CxeOLBEE+afg==",
"license": "MPL-2.0",
"peerDependencies": {
"@remix-run/react": "^2",
"@sveltejs/kit": "^1 || ^2",
"next": ">= 13",
"react": "^18 || ^19 || ^19.0.0-rc",
"svelte": ">= 4",
"vue": "^3",
"vue-router": "^4"
},
"peerDependenciesMeta": {
"@remix-run/react": {
"optional": true
},
"@sveltejs/kit": {
"optional": true
},
"next": {
"optional": true
},
"react": {
"optional": true
},
"svelte": {
"optional": true
},
"vue": {
"optional": true
},
"vue-router": {
"optional": true
}
}
},
"node_modules/@vercel/speed-insights": { "node_modules/@vercel/speed-insights": {
"version": "1.3.1", "version": "1.3.1",
"resolved": "https://registry.npmjs.org/@vercel/speed-insights/-/speed-insights-1.3.1.tgz", "resolved": "https://registry.npmjs.org/@vercel/speed-insights/-/speed-insights-1.3.1.tgz",

View file

@ -8,6 +8,7 @@
"start": "next start" "start": "next start"
}, },
"dependencies": { "dependencies": {
"@vercel/analytics": "^1.6.1",
"@vercel/speed-insights": "^1.3.1", "@vercel/speed-insights": "^1.3.1",
"framer-motion": "^12.33.0", "framer-motion": "^12.33.0",
"next": "^15.5.12", "next": "^15.5.12",