diff --git a/.github/workflows/webpack.yml b/.github/workflows/webpack.yml new file mode 100644 index 0000000..9626ff6 --- /dev/null +++ b/.github/workflows/webpack.yml @@ -0,0 +1,28 @@ +name: NodeJS with Webpack + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +jobs: + build: + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [18.x, 20.x, 22.x] + + steps: + - uses: actions/checkout@v4 + + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + + - name: Build + run: | + npm install + npx webpack diff --git a/partners/dynamic/app/analytics.tsx b/partners/dynamic/app/analytics.tsx new file mode 100644 index 0000000..14de47f --- /dev/null +++ b/partners/dynamic/app/analytics.tsx @@ -0,0 +1,8 @@ +'use client' + +import { inject } from '@vercel/analytics' + +export function Analytics() { + inject() + return null +} diff --git a/partners/dynamic/app/layout.tsx b/partners/dynamic/app/layout.tsx index 9193ec0..a9af6e4 100644 --- a/partners/dynamic/app/layout.tsx +++ b/partners/dynamic/app/layout.tsx @@ -3,6 +3,7 @@ import { Geist, Geist_Mono } from "next/font/google"; import "./globals.css"; import { Providers } from "./providers"; import { Navbar } from "@/components/Navbar"; +import { Analytics } from "./analytics"; const geistSans = Geist({ variable: "--font-geist-sans", @@ -35,6 +36,7 @@ export default async function RootLayout({ {children} + diff --git a/partners/dynamic/package.json b/partners/dynamic/package.json index 46d29f7..9ba6c2c 100644 --- a/partners/dynamic/package.json +++ b/partners/dynamic/package.json @@ -16,6 +16,7 @@ "@radix-ui/react-separator": "^1.1.3", "@radix-ui/react-slot": "^1.2.0", "@tanstack/react-query": "^5.72.2", + "@vercel/analytics": "^1.6.1", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "lucide-react": "^0.487.0", diff --git a/partners/dynamic/pnpm-lock.yaml b/partners/dynamic/pnpm-lock.yaml index 0329a35..974b175 100644 --- a/partners/dynamic/pnpm-lock.yaml +++ b/partners/dynamic/pnpm-lock.yaml @@ -29,6 +29,9 @@ importers: '@tanstack/react-query': specifier: ^5.72.2 version: 5.85.5(react@19.1.1) + '@vercel/analytics': + specifier: ^1.6.1 + version: 1.6.1(next@15.3.6(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react@19.1.1) class-variance-authority: specifier: ^0.7.1 version: 0.7.1 @@ -2313,6 +2316,32 @@ packages: cpu: [x64] os: [win32] + '@vercel/analytics@1.6.1': + resolution: {integrity: sha512-oH9He/bEM+6oKlv3chWuOOcp8Y6fo6/PSro8hEkgCW3pu9/OiCXiUpRUogDh3Fs3LH2sosDrx8CxeOLBEE+afg==} + 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 + '@vue/reactivity@3.5.20': resolution: {integrity: sha512-hS8l8x4cl1fmZpSQX/NXlqWKARqEsNmfkwOIYqtR2F616NGfsLUm0G6FQBK6uDKUCVyi1YOL8Xmt/RkZcd/jYQ==} @@ -9261,6 +9290,11 @@ snapshots: '@unrs/resolver-binding-win32-x64-msvc@1.11.1': optional: true + '@vercel/analytics@1.6.1(next@15.3.6(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react@19.1.1)': + optionalDependencies: + next: 15.3.6(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + react: 19.1.1 + '@vue/reactivity@3.5.20': dependencies: '@vue/shared': 3.5.20 diff --git a/partners/web3auth/app/analytics.tsx b/partners/web3auth/app/analytics.tsx new file mode 100644 index 0000000..14de47f --- /dev/null +++ b/partners/web3auth/app/analytics.tsx @@ -0,0 +1,8 @@ +'use client' + +import { inject } from '@vercel/analytics' + +export function Analytics() { + inject() + return null +} diff --git a/partners/web3auth/app/layout.tsx b/partners/web3auth/app/layout.tsx index 3c7c0d2..caf8116 100644 --- a/partners/web3auth/app/layout.tsx +++ b/partners/web3auth/app/layout.tsx @@ -3,6 +3,8 @@ import { Geist, Geist_Mono } from "next/font/google"; import "./globals.css"; import { Providers } from "./providers"; import { Navbar } from "@/components/Navbar"; +import { Analytics } from "./analytics"; + const geistSans = Geist({ variable: "--font-geist-sans", subsets: ["latin"], @@ -34,6 +36,7 @@ export default async function RootLayout({ {children} + diff --git a/partners/web3auth/package.json b/partners/web3auth/package.json index c894bea..1f380be 100644 --- a/partners/web3auth/package.json +++ b/partners/web3auth/package.json @@ -12,6 +12,7 @@ "@radix-ui/react-separator": "^1.1.3", "@radix-ui/react-slot": "^1.2.0", "@tanstack/react-query": "^5.74.3", + "@vercel/analytics": "^1.6.1", "@web3auth/modal": "10.0.0", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", diff --git a/partners/web3auth/pnpm-lock.yaml b/partners/web3auth/pnpm-lock.yaml index 38e8367..e42196b 100644 --- a/partners/web3auth/pnpm-lock.yaml +++ b/partners/web3auth/pnpm-lock.yaml @@ -17,6 +17,9 @@ importers: '@tanstack/react-query': specifier: ^5.74.3 version: 5.76.2(react@19.1.0) + '@vercel/analytics': + specifier: ^1.6.1 + version: 1.6.1(next@15.4.8(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0) '@web3auth/modal': specifier: 10.0.0 version: 10.0.0(@babel/runtime@7.28.4)(@coinbase/wallet-sdk@4.3.0)(@sentry/core@9.22.0)(@solana/web3.js@1.98.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(color@5.0.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.30.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.22.4))(zod@3.22.4) @@ -1245,6 +1248,32 @@ packages: cpu: [x64] os: [win32] + '@vercel/analytics@1.6.1': + resolution: {integrity: sha512-oH9He/bEM+6oKlv3chWuOOcp8Y6fo6/PSro8hEkgCW3pu9/OiCXiUpRUogDh3Fs3LH2sosDrx8CxeOLBEE+afg==} + 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 + '@wagmi/connectors@5.8.3': resolution: {integrity: sha512-U4SJgi91+ny/XDGQWAMmawMafDx1BofcbYkPT/WSU6XrGL+apa7VltscqY7PVmwVGi/CYTqe8nlQiK/wmQ8D3A==} peerDependencies: @@ -5404,6 +5433,11 @@ snapshots: '@unrs/resolver-binding-win32-x64-msvc@1.7.2': optional: true + '@vercel/analytics@1.6.1(next@15.4.8(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)': + optionalDependencies: + next: 15.4.8(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react: 19.1.0 + '@wagmi/connectors@5.8.3(@types/react@19.1.5)(@wagmi/core@2.17.2(@tanstack/query-core@5.76.2)(@types/react@19.1.5)(react@19.1.0)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@19.1.0))(viem@2.30.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.22.4)))(bufferutil@4.0.9)(react@19.1.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.30.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.22.4))(zod@3.22.4)': dependencies: '@coinbase/wallet-sdk': 4.3.0 diff --git a/quickstarts/connectkit/package.json b/quickstarts/connectkit/package.json index f2c9c6b..699443f 100644 --- a/quickstarts/connectkit/package.json +++ b/quickstarts/connectkit/package.json @@ -12,6 +12,7 @@ "dependencies": { "@metamask/sdk": "^0.33.0", "@tanstack/react-query": "^5.84.2", + "@vercel/analytics": "^1.6.1", "connectkit": "^1.9.1", "react": "^19.1.1", "react-dom": "^19.1.1", diff --git a/quickstarts/connectkit/pnpm-lock.yaml b/quickstarts/connectkit/pnpm-lock.yaml index e439e65..81ca874 100644 --- a/quickstarts/connectkit/pnpm-lock.yaml +++ b/quickstarts/connectkit/pnpm-lock.yaml @@ -14,6 +14,9 @@ importers: '@tanstack/react-query': specifier: ^5.84.2 version: 5.85.5(react@19.1.1) + '@vercel/analytics': + specifier: ^1.6.1 + version: 1.6.1(react@19.1.1) connectkit: specifier: ^1.9.1 version: 1.9.1(@babel/core@7.28.3)(@tanstack/react-query@5.85.5(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react-is@16.13.1)(react@19.1.1)(viem@2.33.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.22.4))(wagmi@2.16.5(@tanstack/query-core@5.85.5)(@tanstack/react-query@5.85.5(react@19.1.1))(@types/react@19.1.11)(bufferutil@4.0.9)(react@19.1.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.33.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.22.4))(zod@3.22.4)) @@ -900,6 +903,32 @@ packages: resolution: {integrity: sha512-8CZ47QwalyRjsypfwnbI3hKy5gJDPmrkLjkgMxhi0+DZZ2QNx2naS6/hWoVYUHU7LU2zleF68V9miaVZvhFfTA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@vercel/analytics@1.6.1': + resolution: {integrity: sha512-oH9He/bEM+6oKlv3chWuOOcp8Y6fo6/PSro8hEkgCW3pu9/OiCXiUpRUogDh3Fs3LH2sosDrx8CxeOLBEE+afg==} + 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 + '@vitejs/plugin-react@4.7.0': resolution: {integrity: sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==} engines: {node: ^14.18.0 || >=16.0.0} @@ -3795,6 +3824,10 @@ snapshots: '@typescript-eslint/types': 8.40.0 eslint-visitor-keys: 4.2.1 + '@vercel/analytics@1.6.1(react@19.1.1)': + optionalDependencies: + react: 19.1.1 + '@vitejs/plugin-react@4.7.0(vite@7.1.3)': dependencies: '@babel/core': 7.28.3 diff --git a/quickstarts/connectkit/src/main.tsx b/quickstarts/connectkit/src/main.tsx index d40845a..57ba3bf 100644 --- a/quickstarts/connectkit/src/main.tsx +++ b/quickstarts/connectkit/src/main.tsx @@ -2,12 +2,15 @@ import { StrictMode } from "react"; import { createRoot } from "react-dom/client"; import "./index.css"; import App from "./App.tsx"; +import { inject } from "@vercel/analytics"; import { ConnectKitProvider, getDefaultConfig } from "connectkit"; import { createConfig, http, WagmiProvider } from "wagmi"; import { mainnet, linea, sepolia, lineaSepolia } from "wagmi/chains"; import { QueryClientProvider, QueryClient } from "@tanstack/react-query"; +inject(); + const queryClient = new QueryClient(); const config = createConfig( diff --git a/quickstarts/javascript/index.html b/quickstarts/javascript/index.html index 8d8d9a0..2df24a3 100644 --- a/quickstarts/javascript/index.html +++ b/quickstarts/javascript/index.html @@ -5,6 +5,7 @@ MetaMask SDK JavaScript Quickstart +
diff --git a/quickstarts/javascript/package.json b/quickstarts/javascript/package.json index 6734bf4..df5350e 100644 --- a/quickstarts/javascript/package.json +++ b/quickstarts/javascript/package.json @@ -12,6 +12,7 @@ "vite": "^7.1.2" }, "dependencies": { - "@metamask/sdk": "^0.33.0" + "@metamask/sdk": "^0.33.0", + "@vercel/analytics": "^1.6.1" } } \ No newline at end of file diff --git a/quickstarts/javascript/pnpm-lock.yaml b/quickstarts/javascript/pnpm-lock.yaml index 74154f7..c6a8a60 100644 --- a/quickstarts/javascript/pnpm-lock.yaml +++ b/quickstarts/javascript/pnpm-lock.yaml @@ -11,6 +11,9 @@ importers: '@metamask/sdk': specifier: ^0.33.0 version: 0.33.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@vercel/analytics': + specifier: ^1.6.1 + version: 1.6.1 devDependencies: vite: specifier: ^7.1.2 @@ -404,6 +407,32 @@ packages: '@types/ms@2.1.0': resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} + '@vercel/analytics@1.6.1': + resolution: {integrity: sha512-oH9He/bEM+6oKlv3chWuOOcp8Y6fo6/PSro8hEkgCW3pu9/OiCXiUpRUogDh3Fs3LH2sosDrx8CxeOLBEE+afg==} + 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 + available-typed-arrays@1.0.7: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} @@ -1154,6 +1183,8 @@ snapshots: '@types/ms@2.1.0': {} + '@vercel/analytics@1.6.1': {} + available-typed-arrays@1.0.7: dependencies: possible-typed-array-names: 1.1.0 diff --git a/quickstarts/next/app/analytics.tsx b/quickstarts/next/app/analytics.tsx new file mode 100644 index 0000000..14de47f --- /dev/null +++ b/quickstarts/next/app/analytics.tsx @@ -0,0 +1,8 @@ +'use client' + +import { inject } from '@vercel/analytics' + +export function Analytics() { + inject() + return null +} diff --git a/quickstarts/next/app/layout.tsx b/quickstarts/next/app/layout.tsx index 059b0de..1887d0d 100644 --- a/quickstarts/next/app/layout.tsx +++ b/quickstarts/next/app/layout.tsx @@ -1,6 +1,7 @@ import type { Metadata } from "next"; import { Geist, Geist_Mono } from "next/font/google"; import "./globals.css"; +import { Analytics } from "./analytics"; const geistSans = Geist({ variable: "--font-geist-sans", @@ -26,6 +27,7 @@ export default function RootLayout({ {children} + ); diff --git a/quickstarts/next/package.json b/quickstarts/next/package.json index 820efd7..6a45275 100644 --- a/quickstarts/next/package.json +++ b/quickstarts/next/package.json @@ -10,6 +10,7 @@ }, "dependencies": { "@metamask/sdk": "^0.33.0", + "@vercel/analytics": "^1.6.1", "next": "15.5.7", "react": "19.1.0", "react-dom": "19.1.0" diff --git a/quickstarts/next/pnpm-lock.yaml b/quickstarts/next/pnpm-lock.yaml index d65647d..37b9dec 100644 --- a/quickstarts/next/pnpm-lock.yaml +++ b/quickstarts/next/pnpm-lock.yaml @@ -11,6 +11,9 @@ importers: '@metamask/sdk': specifier: ^0.33.0 version: 0.33.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@vercel/analytics': + specifier: ^1.6.1 + version: 1.6.1(next@15.5.7(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0) next: specifier: 15.5.7 version: 15.5.7(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -620,6 +623,32 @@ packages: cpu: [x64] os: [win32] + '@vercel/analytics@1.6.1': + resolution: {integrity: sha512-oH9He/bEM+6oKlv3chWuOOcp8Y6fo6/PSro8hEkgCW3pu9/OiCXiUpRUogDh3Fs3LH2sosDrx8CxeOLBEE+afg==} + 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 + acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -2481,6 +2510,11 @@ snapshots: '@unrs/resolver-binding-win32-x64-msvc@1.11.1': optional: true + '@vercel/analytics@1.6.1(next@15.5.7(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)': + optionalDependencies: + next: 15.5.7(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react: 19.1.0 + acorn-jsx@5.3.2(acorn@8.15.0): dependencies: acorn: 8.15.0 @@ -2871,8 +2905,8 @@ snapshots: '@typescript-eslint/parser': 8.40.0(eslint@9.34.0)(typescript@5.9.2) eslint: 9.34.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.34.0) - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.40.0(eslint@9.34.0)(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1)(eslint@9.34.0) + eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.40.0(eslint@9.34.0)(typescript@5.9.2))(eslint@9.34.0))(eslint@9.34.0) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.40.0(eslint@9.34.0)(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.40.0(eslint@9.34.0)(typescript@5.9.2))(eslint@9.34.0))(eslint@9.34.0))(eslint@9.34.0) eslint-plugin-jsx-a11y: 6.10.2(eslint@9.34.0) eslint-plugin-react: 7.37.5(eslint@9.34.0) eslint-plugin-react-hooks: 5.2.0(eslint@9.34.0) @@ -2891,7 +2925,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0)(eslint@9.34.0): + eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.40.0(eslint@9.34.0)(typescript@5.9.2))(eslint@9.34.0))(eslint@9.34.0): dependencies: '@nolyfill/is-core-module': 1.0.39 debug: 4.4.1 @@ -2902,22 +2936,22 @@ snapshots: tinyglobby: 0.2.14 unrs-resolver: 1.11.1 optionalDependencies: - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.40.0(eslint@9.34.0)(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1)(eslint@9.34.0) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.40.0(eslint@9.34.0)(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.40.0(eslint@9.34.0)(typescript@5.9.2))(eslint@9.34.0))(eslint@9.34.0))(eslint@9.34.0) transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.1(@typescript-eslint/parser@8.40.0(eslint@9.34.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.34.0): + eslint-module-utils@2.12.1(@typescript-eslint/parser@8.40.0(eslint@9.34.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.40.0(eslint@9.34.0)(typescript@5.9.2))(eslint@9.34.0))(eslint@9.34.0))(eslint@9.34.0): dependencies: debug: 3.2.7 optionalDependencies: '@typescript-eslint/parser': 8.40.0(eslint@9.34.0)(typescript@5.9.2) eslint: 9.34.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.34.0) + eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.40.0(eslint@9.34.0)(typescript@5.9.2))(eslint@9.34.0))(eslint@9.34.0) transitivePeerDependencies: - supports-color - eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.40.0(eslint@9.34.0)(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1)(eslint@9.34.0): + eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.40.0(eslint@9.34.0)(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.40.0(eslint@9.34.0)(typescript@5.9.2))(eslint@9.34.0))(eslint@9.34.0))(eslint@9.34.0): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.9 @@ -2928,7 +2962,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.34.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.40.0(eslint@9.34.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.34.0) + eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.40.0(eslint@9.34.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.40.0(eslint@9.34.0)(typescript@5.9.2))(eslint@9.34.0))(eslint@9.34.0))(eslint@9.34.0) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 diff --git a/quickstarts/rainbowkit/package.json b/quickstarts/rainbowkit/package.json index 29003f6..375b336 100644 --- a/quickstarts/rainbowkit/package.json +++ b/quickstarts/rainbowkit/package.json @@ -13,6 +13,7 @@ "@metamask/sdk": "^0.33.0", "@rainbow-me/rainbowkit": "^2.2.8", "@tanstack/react-query": "^5.84.2", + "@vercel/analytics": "^1.6.1", "react": "^19.1.1", "react-dom": "^19.1.1", "viem": "~2.33.3", diff --git a/quickstarts/rainbowkit/pnpm-lock.yaml b/quickstarts/rainbowkit/pnpm-lock.yaml index 7ef708c..d81bcd5 100644 --- a/quickstarts/rainbowkit/pnpm-lock.yaml +++ b/quickstarts/rainbowkit/pnpm-lock.yaml @@ -17,6 +17,9 @@ importers: '@tanstack/react-query': specifier: ^5.84.2 version: 5.85.5(react@19.1.1) + '@vercel/analytics': + specifier: ^1.6.1 + version: 1.6.1(react@19.1.1) react: specifier: ^19.1.1 version: 19.1.1 @@ -881,6 +884,32 @@ packages: peerDependencies: '@vanilla-extract/css': ^1.0.0 + '@vercel/analytics@1.6.1': + resolution: {integrity: sha512-oH9He/bEM+6oKlv3chWuOOcp8Y6fo6/PSro8hEkgCW3pu9/OiCXiUpRUogDh3Fs3LH2sosDrx8CxeOLBEE+afg==} + 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 + '@vitejs/plugin-react@4.7.0': resolution: {integrity: sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==} engines: {node: ^14.18.0 || >=16.0.0} @@ -3762,6 +3791,10 @@ snapshots: dependencies: '@vanilla-extract/css': 1.17.3 + '@vercel/analytics@1.6.1(react@19.1.1)': + optionalDependencies: + react: 19.1.1 + '@vitejs/plugin-react@4.7.0(vite@7.1.3)': dependencies: '@babel/core': 7.28.3 diff --git a/quickstarts/rainbowkit/src/main.tsx b/quickstarts/rainbowkit/src/main.tsx index 079c77f..bb66c64 100644 --- a/quickstarts/rainbowkit/src/main.tsx +++ b/quickstarts/rainbowkit/src/main.tsx @@ -2,6 +2,7 @@ import { StrictMode } from "react"; import { createRoot } from "react-dom/client"; import "./index.css"; import App from "./App.tsx"; +import { inject } from "@vercel/analytics"; import "@rainbow-me/rainbowkit/styles.css"; import { getDefaultConfig, RainbowKitProvider } from "@rainbow-me/rainbowkit"; @@ -10,6 +11,8 @@ import { WagmiProvider } from "wagmi"; import { mainnet, linea, sepolia, lineaSepolia } from "wagmi/chains"; import { QueryClientProvider, QueryClient } from "@tanstack/react-query"; +inject(); + const queryClient = new QueryClient(); const config = getDefaultConfig({ diff --git a/quickstarts/react/package.json b/quickstarts/react/package.json index 1d2c75c..34ce785 100644 --- a/quickstarts/react/package.json +++ b/quickstarts/react/package.json @@ -11,6 +11,7 @@ }, "dependencies": { "@metamask/sdk": "^0.33.0", + "@vercel/analytics": "^1.6.1", "react": "^19.1.0", "react-dom": "^19.1.0" }, diff --git a/quickstarts/react/pnpm-lock.yaml b/quickstarts/react/pnpm-lock.yaml index 8a69dfd..73afd89 100644 --- a/quickstarts/react/pnpm-lock.yaml +++ b/quickstarts/react/pnpm-lock.yaml @@ -11,6 +11,9 @@ importers: '@metamask/sdk': specifier: ^0.33.0 version: 0.33.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@vercel/analytics': + specifier: ^1.6.1 + version: 1.6.1(react@19.1.1) react: specifier: ^19.1.0 version: 19.1.1 @@ -695,6 +698,32 @@ packages: resolution: {integrity: sha512-8CZ47QwalyRjsypfwnbI3hKy5gJDPmrkLjkgMxhi0+DZZ2QNx2naS6/hWoVYUHU7LU2zleF68V9miaVZvhFfTA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@vercel/analytics@1.6.1': + resolution: {integrity: sha512-oH9He/bEM+6oKlv3chWuOOcp8Y6fo6/PSro8hEkgCW3pu9/OiCXiUpRUogDh3Fs3LH2sosDrx8CxeOLBEE+afg==} + 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 + '@vitejs/plugin-react@4.7.0': resolution: {integrity: sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==} engines: {node: ^14.18.0 || >=16.0.0} @@ -2204,6 +2233,10 @@ snapshots: '@typescript-eslint/types': 8.40.0 eslint-visitor-keys: 4.2.1 + '@vercel/analytics@1.6.1(react@19.1.1)': + optionalDependencies: + react: 19.1.1 + '@vitejs/plugin-react@4.7.0(vite@7.1.3)': dependencies: '@babel/core': 7.28.3 diff --git a/quickstarts/react/src/main.tsx b/quickstarts/react/src/main.tsx index bef5202..0aa79ef 100644 --- a/quickstarts/react/src/main.tsx +++ b/quickstarts/react/src/main.tsx @@ -2,6 +2,9 @@ import { StrictMode } from 'react' import { createRoot } from 'react-dom/client' import './index.css' import App from './App.tsx' +import { inject } from '@vercel/analytics' + +inject() createRoot(document.getElementById('root')!).render( diff --git a/quickstarts/wagmi/app/analytics.tsx b/quickstarts/wagmi/app/analytics.tsx new file mode 100644 index 0000000..14de47f --- /dev/null +++ b/quickstarts/wagmi/app/analytics.tsx @@ -0,0 +1,8 @@ +'use client' + +import { inject } from '@vercel/analytics' + +export function Analytics() { + inject() + return null +} diff --git a/quickstarts/wagmi/app/layout.tsx b/quickstarts/wagmi/app/layout.tsx index 9b68007..dfe6aab 100644 --- a/quickstarts/wagmi/app/layout.tsx +++ b/quickstarts/wagmi/app/layout.tsx @@ -6,6 +6,7 @@ import "./globals.css"; import { getConfig } from "@/wagmi.config"; import { Providers } from "./providers"; import { Navbar } from "@/components/navbar"; +import { Analytics } from "./analytics"; const geistSans = Geist({ variable: "--font-geist-sans", @@ -42,6 +43,7 @@ export default async function RootLayout({ {children} + diff --git a/quickstarts/wagmi/package.json b/quickstarts/wagmi/package.json index 69f7653..3a9d12f 100644 --- a/quickstarts/wagmi/package.json +++ b/quickstarts/wagmi/package.json @@ -13,6 +13,7 @@ "@radix-ui/react-separator": "^1.1.1", "@radix-ui/react-slot": "^1.1.1", "@tanstack/react-query": "^5.62.7", + "@vercel/analytics": "^1.6.1", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "lucide-react": "^0.468.0", diff --git a/quickstarts/wagmi/pnpm-lock.yaml b/quickstarts/wagmi/pnpm-lock.yaml index c4ee15d..a4a5a65 100644 --- a/quickstarts/wagmi/pnpm-lock.yaml +++ b/quickstarts/wagmi/pnpm-lock.yaml @@ -20,6 +20,9 @@ importers: '@tanstack/react-query': specifier: ^5.62.7 version: 5.85.5(react@19.1.1) + '@vercel/analytics': + specifier: ^1.6.1 + version: 1.6.1(next@15.4.8(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react@19.1.1) class-variance-authority: specifier: ^0.7.1 version: 0.7.1 @@ -1122,6 +1125,32 @@ packages: cpu: [x64] os: [win32] + '@vercel/analytics@1.6.1': + resolution: {integrity: sha512-oH9He/bEM+6oKlv3chWuOOcp8Y6fo6/PSro8hEkgCW3pu9/OiCXiUpRUogDh3Fs3LH2sosDrx8CxeOLBEE+afg==} + 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 + '@wagmi/connectors@5.9.5': resolution: {integrity: sha512-9gQvqcxY22Pcz196Zurc8SGUuYueocMf+z9pgWuxDURVqw+E+gU/hUL6LVq802981SvI7zvlrOCKd61ZhSQKjQ==} peerDependencies: @@ -4710,6 +4739,11 @@ snapshots: '@unrs/resolver-binding-win32-x64-msvc@1.11.1': optional: true + '@vercel/analytics@1.6.1(next@15.4.8(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react@19.1.1)': + optionalDependencies: + next: 15.4.8(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + react: 19.1.1 + '@wagmi/connectors@5.9.5(@types/react@19.1.11)(@wagmi/core@2.20.0(@tanstack/query-core@5.85.5)(@types/react@19.1.11)(react@19.1.1)(typescript@5.9.2)(use-sync-external-store@1.4.0(react@19.1.1))(viem@2.35.1(bufferutil@4.0.9)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.22.4)))(bufferutil@4.0.9)(react@19.1.1)(typescript@5.9.2)(use-sync-external-store@1.4.0(react@19.1.1))(utf-8-validate@5.0.10)(viem@2.35.1(bufferutil@4.0.9)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.22.4))(zod@3.22.4)': dependencies: '@base-org/account': 1.1.1(@types/react@19.1.11)(bufferutil@4.0.9)(react@19.1.1)(typescript@5.9.2)(use-sync-external-store@1.4.0(react@19.1.1))(utf-8-validate@5.0.10)(zod@3.22.4)