diff --git a/apps/nextjs-15/.gitignore b/apps/nextjs-15/.gitignore
new file mode 100644
index 0000000..fd3dbb5
--- /dev/null
+++ b/apps/nextjs-15/.gitignore
@@ -0,0 +1,36 @@
+# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
+
+# dependencies
+/node_modules
+/.pnp
+.pnp.js
+.yarn/install-state.gz
+
+# testing
+/coverage
+
+# next.js
+/.next/
+/out/
+
+# production
+/build
+
+# misc
+.DS_Store
+*.pem
+
+# debug
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+
+# local env files
+.env*.local
+
+# vercel
+.vercel
+
+# typescript
+*.tsbuildinfo
+next-env.d.ts
diff --git a/apps/nextjs-15/README.md b/apps/nextjs-15/README.md
new file mode 100644
index 0000000..e215bc4
--- /dev/null
+++ b/apps/nextjs-15/README.md
@@ -0,0 +1,36 @@
+This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app).
+
+## Getting Started
+
+First, run the development server:
+
+```bash
+npm run dev
+# or
+yarn dev
+# or
+pnpm dev
+# or
+bun dev
+```
+
+Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
+
+You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
+
+This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.
+
+## Learn More
+
+To learn more about Next.js, take a look at the following resources:
+
+- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
+- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
+
+You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome!
+
+## Deploy on Vercel
+
+The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
+
+Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.
diff --git a/apps/nextjs-15/next.config.mjs b/apps/nextjs-15/next.config.mjs
new file mode 100644
index 0000000..4678774
--- /dev/null
+++ b/apps/nextjs-15/next.config.mjs
@@ -0,0 +1,4 @@
+/** @type {import('next').NextConfig} */
+const nextConfig = {};
+
+export default nextConfig;
diff --git a/apps/nextjs-15/package.json b/apps/nextjs-15/package.json
new file mode 100644
index 0000000..6ab7cf9
--- /dev/null
+++ b/apps/nextjs-15/package.json
@@ -0,0 +1,29 @@
+{
+ "name": "nextjs-15",
+ "version": "0.1.0",
+ "private": true,
+ "scripts": {
+ "build": "next build",
+ "dev": "next dev --turbopack",
+ "lint": "next lint",
+ "start": "next start"
+ },
+ "dependencies": {
+ "@vercel/analytics": "workspace:^",
+ "next": "15.0.1",
+ "react": "19.0.0-rc-69d4b800-20241021",
+ "react-dom": "19.0.0-rc-69d4b800-20241021"
+ },
+ "devDependencies": {
+ "@types/node": "^20",
+ "@types/react": "npm:types-react@19.0.0-rc.1",
+ "@types/react-dom": "npm:types-react-dom@19.0.0-rc.1",
+ "typescript": "^5"
+ },
+ "pnpm": {
+ "overrides": {
+ "@types/react": "npm:types-react@19.0.0-rc.1",
+ "@types/react-dom": "npm:types-react-dom@19.0.0-rc.1"
+ }
+ }
+}
diff --git a/apps/nextjs-15/src/app/favicon.ico b/apps/nextjs-15/src/app/favicon.ico
new file mode 100644
index 0000000..718d6fe
Binary files /dev/null and b/apps/nextjs-15/src/app/favicon.ico differ
diff --git a/apps/nextjs-15/src/app/fonts/GeistMonoVF.woff b/apps/nextjs-15/src/app/fonts/GeistMonoVF.woff
new file mode 100644
index 0000000..f2ae185
Binary files /dev/null and b/apps/nextjs-15/src/app/fonts/GeistMonoVF.woff differ
diff --git a/apps/nextjs-15/src/app/fonts/GeistVF.woff b/apps/nextjs-15/src/app/fonts/GeistVF.woff
new file mode 100644
index 0000000..1b62daa
Binary files /dev/null and b/apps/nextjs-15/src/app/fonts/GeistVF.woff differ
diff --git a/apps/nextjs-15/src/app/globals.css b/apps/nextjs-15/src/app/globals.css
new file mode 100644
index 0000000..e3734be
--- /dev/null
+++ b/apps/nextjs-15/src/app/globals.css
@@ -0,0 +1,42 @@
+:root {
+ --background: #ffffff;
+ --foreground: #171717;
+}
+
+@media (prefers-color-scheme: dark) {
+ :root {
+ --background: #0a0a0a;
+ --foreground: #ededed;
+ }
+}
+
+html,
+body {
+ max-width: 100vw;
+ overflow-x: hidden;
+}
+
+body {
+ color: var(--foreground);
+ background: var(--background);
+ font-family: Arial, Helvetica, sans-serif;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+* {
+ box-sizing: border-box;
+ padding: 0;
+ margin: 0;
+}
+
+a {
+ color: inherit;
+ text-decoration: none;
+}
+
+@media (prefers-color-scheme: dark) {
+ html {
+ color-scheme: dark;
+ }
+}
diff --git a/apps/nextjs-15/src/app/layout.tsx b/apps/nextjs-15/src/app/layout.tsx
new file mode 100644
index 0000000..b4c4311
--- /dev/null
+++ b/apps/nextjs-15/src/app/layout.tsx
@@ -0,0 +1,35 @@
+import type { Metadata } from 'next';
+import localFont from 'next/font/local';
+import { Analytics } from '@vercel/analytics/next';
+import './globals.css';
+
+const geistSans = localFont({
+ src: './fonts/GeistVF.woff',
+ variable: '--font-geist-sans',
+ weight: '100 900',
+});
+const geistMono = localFont({
+ src: './fonts/GeistMonoVF.woff',
+ variable: '--font-geist-mono',
+ weight: '100 900',
+});
+
+export const metadata: Metadata = {
+ title: 'Create Next App',
+ description: 'Generated by create next app',
+};
+
+export default function RootLayout({
+ children,
+}: Readonly<{
+ children: React.ReactNode;
+}>) {
+ return (
+
+
+
+ {children}
+
+
+ );
+}
diff --git a/apps/nextjs-15/src/app/page.module.css b/apps/nextjs-15/src/app/page.module.css
new file mode 100644
index 0000000..8a46041
--- /dev/null
+++ b/apps/nextjs-15/src/app/page.module.css
@@ -0,0 +1,165 @@
+.page {
+ --gray-rgb: 0, 0, 0;
+ --gray-alpha-200: rgba(var(--gray-rgb), 0.08);
+ --gray-alpha-100: rgba(var(--gray-rgb), 0.05);
+
+ --button-primary-hover: #383838;
+ --button-secondary-hover: #f2f2f2;
+
+ display: grid;
+ grid-template-rows: 20px 1fr 20px;
+ align-items: center;
+ justify-items: center;
+ min-height: 100svh;
+ padding: 80px;
+ gap: 64px;
+ font-family: var(--font-geist-sans);
+}
+
+@media (prefers-color-scheme: dark) {
+ .page {
+ --gray-rgb: 255, 255, 255;
+ --gray-alpha-200: rgba(var(--gray-rgb), 0.145);
+ --gray-alpha-100: rgba(var(--gray-rgb), 0.06);
+
+ --button-primary-hover: #ccc;
+ --button-secondary-hover: #1a1a1a;
+ }
+}
+
+.main {
+ display: flex;
+ flex-direction: column;
+ gap: 32px;
+ grid-row-start: 2;
+}
+
+.main ol {
+ font-family: var(--font-geist-mono);
+ padding-left: 0;
+ margin: 0;
+ font-size: 14px;
+ line-height: 24px;
+ letter-spacing: -0.01em;
+ list-style-position: inside;
+}
+
+.main li:not(:last-of-type) {
+ margin-bottom: 8px;
+}
+
+.main code {
+ font-family: inherit;
+ background: var(--gray-alpha-100);
+ padding: 2px 4px;
+ border-radius: 4px;
+ font-weight: 600;
+}
+
+.ctas {
+ display: flex;
+ gap: 16px;
+}
+
+.ctas a {
+ appearance: none;
+ border-radius: 128px;
+ height: 48px;
+ padding: 0 20px;
+ border: none;
+ border: 1px solid transparent;
+ transition: background 0.2s, color 0.2s, border-color 0.2s;
+ cursor: pointer;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 16px;
+ line-height: 20px;
+ font-weight: 500;
+}
+
+a.primary {
+ background: var(--foreground);
+ color: var(--background);
+ gap: 8px;
+}
+
+a.secondary {
+ border-color: var(--gray-alpha-200);
+ min-width: 180px;
+}
+
+.footer {
+ grid-row-start: 3;
+ display: flex;
+ gap: 24px;
+}
+
+.footer a {
+ display: flex;
+ align-items: center;
+ gap: 8px;
+}
+
+.footer img {
+ flex-shrink: 0;
+}
+
+/* Enable hover only on non-touch devices */
+@media (hover: hover) and (pointer: fine) {
+ a.primary:hover {
+ background: var(--button-primary-hover);
+ border-color: transparent;
+ }
+
+ a.secondary:hover {
+ background: var(--button-secondary-hover);
+ border-color: transparent;
+ }
+
+ .footer a:hover {
+ text-decoration: underline;
+ text-underline-offset: 4px;
+ }
+}
+
+@media (max-width: 600px) {
+ .page {
+ padding: 32px;
+ padding-bottom: 80px;
+ }
+
+ .main {
+ align-items: center;
+ }
+
+ .main ol {
+ text-align: center;
+ }
+
+ .ctas {
+ flex-direction: column;
+ }
+
+ .ctas a {
+ font-size: 14px;
+ height: 40px;
+ padding: 0 16px;
+ }
+
+ a.secondary {
+ min-width: auto;
+ }
+
+ .footer {
+ flex-wrap: wrap;
+ align-items: center;
+ justify-content: center;
+ }
+}
+
+@media (prefers-color-scheme: dark) {
+ .logo {
+ filter: invert();
+ }
+}
diff --git a/apps/nextjs-15/src/app/page.tsx b/apps/nextjs-15/src/app/page.tsx
new file mode 100644
index 0000000..8c170c1
--- /dev/null
+++ b/apps/nextjs-15/src/app/page.tsx
@@ -0,0 +1,95 @@
+import Image from 'next/image';
+import styles from './page.module.css';
+
+export default function Home() {
+ return (
+
+
+
+
+ -
+ Get started by editing
src/app/page.tsx
.
+
+ - Save and see your changes instantly.
+
+
+
+
+
+
+ );
+}
diff --git a/apps/nextjs-15/tsconfig.json b/apps/nextjs-15/tsconfig.json
new file mode 100644
index 0000000..51d0dbc
--- /dev/null
+++ b/apps/nextjs-15/tsconfig.json
@@ -0,0 +1,27 @@
+{
+ "compilerOptions": {
+ "lib": ["dom", "dom.iterable", "esnext"],
+ "allowJs": true,
+ "skipLibCheck": true,
+ "strict": true,
+ "noEmit": true,
+ "esModuleInterop": true,
+ "module": "esnext",
+ "moduleResolution": "bundler",
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "jsx": "preserve",
+ "incremental": true,
+ "plugins": [
+ {
+ "name": "next"
+ }
+ ],
+ "paths": {
+ "@/*": ["./src/*"]
+ },
+ "target": "ES2017"
+ },
+ "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
+ "exclude": ["node_modules"]
+}
diff --git a/packages/web/package.json b/packages/web/package.json
index 83021b4..4e849bc 100644
--- a/packages/web/package.json
+++ b/packages/web/package.json
@@ -1,6 +1,6 @@
{
"name": "@vercel/analytics",
- "version": "1.3.1",
+ "version": "1.3.2",
"description": "Gain real-time traffic insights with Vercel Web Analytics",
"keywords": [
"analytics",
@@ -94,7 +94,7 @@
},
"peerDependencies": {
"next": ">= 13",
- "react": "^18 || ^19"
+ "react": "^18 || ^19 || ^19.0.0-rc-*"
},
"peerDependenciesMeta": {
"next": {
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 9b7ccc3..a5576ae 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -64,6 +64,34 @@ importers:
specifier: ^10.9.2
version: 10.9.2(@swc/core@1.3.66)(@types/node@20.3.1)(typescript@5.2.2)
+ apps/nextjs-15:
+ dependencies:
+ '@vercel/analytics':
+ specifier: workspace:^
+ version: link:../../packages/web
+ next:
+ specifier: 15.0.1
+ version: 15.0.1(@babel/core@7.23.0)(react-dom@19.0.0-rc-69d4b800-20241021)(react@19.0.0-rc-69d4b800-20241021)
+ react:
+ specifier: 19.0.0-rc-69d4b800-20241021
+ version: 19.0.0-rc-69d4b800-20241021
+ react-dom:
+ specifier: 19.0.0-rc-69d4b800-20241021
+ version: 19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021)
+ devDependencies:
+ '@types/node':
+ specifier: ^20
+ version: 20.3.1
+ '@types/react':
+ specifier: npm:types-react@19.0.0-rc.1
+ version: /types-react@19.0.0-rc.1
+ '@types/react-dom':
+ specifier: npm:types-react-dom@19.0.0-rc.1
+ version: /types-react-dom@19.0.0-rc.1
+ typescript:
+ specifier: ^5
+ version: 5.2.2
+
apps/remix:
dependencies:
'@remix-run/node':
@@ -939,6 +967,17 @@ packages:
'@jridgewell/trace-mapping': 0.3.9
dev: true
+ /@emnapi/runtime@1.3.1:
+ resolution:
+ {
+ integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==,
+ }
+ requiresBuild: true
+ dependencies:
+ tslib: 2.6.2
+ dev: false
+ optional: true
+
/@emotion/hash@0.9.1:
resolution:
{
@@ -1581,6 +1620,243 @@ packages:
}
dev: true
+ /@img/sharp-darwin-arm64@0.33.5:
+ resolution:
+ {
+ integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==,
+ }
+ engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ optionalDependencies:
+ '@img/sharp-libvips-darwin-arm64': 1.0.4
+ dev: false
+ optional: true
+
+ /@img/sharp-darwin-x64@0.33.5:
+ resolution:
+ {
+ integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==,
+ }
+ engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ optionalDependencies:
+ '@img/sharp-libvips-darwin-x64': 1.0.4
+ dev: false
+ optional: true
+
+ /@img/sharp-libvips-darwin-arm64@1.0.4:
+ resolution:
+ {
+ integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==,
+ }
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@img/sharp-libvips-darwin-x64@1.0.4:
+ resolution:
+ {
+ integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==,
+ }
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@img/sharp-libvips-linux-arm64@1.0.4:
+ resolution:
+ {
+ integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==,
+ }
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@img/sharp-libvips-linux-arm@1.0.5:
+ resolution:
+ {
+ integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==,
+ }
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@img/sharp-libvips-linux-s390x@1.0.4:
+ resolution:
+ {
+ integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==,
+ }
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@img/sharp-libvips-linux-x64@1.0.4:
+ resolution:
+ {
+ integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==,
+ }
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@img/sharp-libvips-linuxmusl-arm64@1.0.4:
+ resolution:
+ {
+ integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==,
+ }
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@img/sharp-libvips-linuxmusl-x64@1.0.4:
+ resolution:
+ {
+ integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==,
+ }
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@img/sharp-linux-arm64@0.33.5:
+ resolution:
+ {
+ integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==,
+ }
+ engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ optionalDependencies:
+ '@img/sharp-libvips-linux-arm64': 1.0.4
+ dev: false
+ optional: true
+
+ /@img/sharp-linux-arm@0.33.5:
+ resolution:
+ {
+ integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==,
+ }
+ engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ optionalDependencies:
+ '@img/sharp-libvips-linux-arm': 1.0.5
+ dev: false
+ optional: true
+
+ /@img/sharp-linux-s390x@0.33.5:
+ resolution:
+ {
+ integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==,
+ }
+ engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ optionalDependencies:
+ '@img/sharp-libvips-linux-s390x': 1.0.4
+ dev: false
+ optional: true
+
+ /@img/sharp-linux-x64@0.33.5:
+ resolution:
+ {
+ integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==,
+ }
+ engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ optionalDependencies:
+ '@img/sharp-libvips-linux-x64': 1.0.4
+ dev: false
+ optional: true
+
+ /@img/sharp-linuxmusl-arm64@0.33.5:
+ resolution:
+ {
+ integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==,
+ }
+ engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ optionalDependencies:
+ '@img/sharp-libvips-linuxmusl-arm64': 1.0.4
+ dev: false
+ optional: true
+
+ /@img/sharp-linuxmusl-x64@0.33.5:
+ resolution:
+ {
+ integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==,
+ }
+ engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ optionalDependencies:
+ '@img/sharp-libvips-linuxmusl-x64': 1.0.4
+ dev: false
+ optional: true
+
+ /@img/sharp-wasm32@0.33.5:
+ resolution:
+ {
+ integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==,
+ }
+ engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
+ cpu: [wasm32]
+ requiresBuild: true
+ dependencies:
+ '@emnapi/runtime': 1.3.1
+ dev: false
+ optional: true
+
+ /@img/sharp-win32-ia32@0.33.5:
+ resolution:
+ {
+ integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==,
+ }
+ engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@img/sharp-win32-x64@0.33.5:
+ resolution:
+ {
+ integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==,
+ }
+ engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
/@isaacs/cliui@8.0.2:
resolution:
{
@@ -2280,6 +2556,13 @@ packages:
}
dev: false
+ /@next/env@15.0.1:
+ resolution:
+ {
+ integrity: sha512-lc4HeDUKO9gxxlM5G2knTRifqhsY6yYpwuHspBZdboZe0Gp+rZHBNNSIjmQKDJIdRXiXGyVnSD6gafrbQPvILQ==,
+ }
+ dev: false
+
/@next/eslint-plugin-next@13.4.7:
resolution:
{
@@ -2312,6 +2595,18 @@ packages:
dev: false
optional: true
+ /@next/swc-darwin-arm64@15.0.1:
+ resolution:
+ {
+ integrity: sha512-C9k/Xv4sxkQRTA37Z6MzNq3Yb1BJMmSqjmwowoWEpbXTkAdfOwnoKOpAb71ItSzoA26yUTIo6ZhN8rKGu4ExQw==,
+ }
+ engines: { node: '>= 10' }
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: false
+ optional: true
+
/@next/swc-darwin-x64@13.5.4:
resolution:
{
@@ -2336,6 +2631,18 @@ packages:
dev: false
optional: true
+ /@next/swc-darwin-x64@15.0.1:
+ resolution:
+ {
+ integrity: sha512-uHl13HXOuq1G7ovWFxCACDJHTSDVbn/sbLv8V1p+7KIvTrYQ5HNoSmKBdYeEKRRCbEmd+OohOgg9YOp8Ux3MBg==,
+ }
+ engines: { node: '>= 10' }
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: false
+ optional: true
+
/@next/swc-linux-arm64-gnu@13.5.4:
resolution:
{
@@ -2360,6 +2667,18 @@ packages:
dev: false
optional: true
+ /@next/swc-linux-arm64-gnu@15.0.1:
+ resolution:
+ {
+ integrity: sha512-LvyhvxHOihFTEIbb35KxOc3q8w8G4xAAAH/AQnsYDEnOvwawjL2eawsB59AX02ki6LJdgDaHoTEnC54Gw+82xw==,
+ }
+ engines: { node: '>= 10' }
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
/@next/swc-linux-arm64-musl@13.5.4:
resolution:
{
@@ -2384,6 +2703,18 @@ packages:
dev: false
optional: true
+ /@next/swc-linux-arm64-musl@15.0.1:
+ resolution:
+ {
+ integrity: sha512-vFmCGUFNyk/A5/BYcQNhAQqPIw01RJaK6dRO+ZEhz0DncoW+hJW1kZ8aH2UvTX27zPq3m85zN5waMSbZEmANcQ==,
+ }
+ engines: { node: '>= 10' }
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
/@next/swc-linux-x64-gnu@13.5.4:
resolution:
{
@@ -2408,6 +2739,18 @@ packages:
dev: false
optional: true
+ /@next/swc-linux-x64-gnu@15.0.1:
+ resolution:
+ {
+ integrity: sha512-5by7IYq0NCF8rouz6Qg9T97jYU68kaClHPfGpQG2lCZpSYHtSPQF1kjnqBTd34RIqPKMbCa4DqCufirgr8HM5w==,
+ }
+ engines: { node: '>= 10' }
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
/@next/swc-linux-x64-musl@13.5.4:
resolution:
{
@@ -2432,6 +2775,18 @@ packages:
dev: false
optional: true
+ /@next/swc-linux-x64-musl@15.0.1:
+ resolution:
+ {
+ integrity: sha512-lmYr6H3JyDNBJLzklGXLfbehU3ay78a+b6UmBGlHls4xhDXBNZfgb0aI67sflrX+cGBnv1LgmWzFlYrAYxS1Qw==,
+ }
+ engines: { node: '>= 10' }
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
/@next/swc-win32-arm64-msvc@13.5.4:
resolution:
{
@@ -2456,6 +2811,18 @@ packages:
dev: false
optional: true
+ /@next/swc-win32-arm64-msvc@15.0.1:
+ resolution:
+ {
+ integrity: sha512-DS8wQtl6diAj0eZTdH0sefykm4iXMbHT4MOvLwqZiIkeezKpkgPFcEdFlz3vKvXa2R/2UEgMh48z1nEpNhjeOQ==,
+ }
+ engines: { node: '>= 10' }
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
/@next/swc-win32-ia32-msvc@13.5.4:
resolution:
{
@@ -2504,6 +2871,18 @@ packages:
dev: false
optional: true
+ /@next/swc-win32-x64-msvc@15.0.1:
+ resolution:
+ {
+ integrity: sha512-4Ho2ggvDdMKlZ/0e9HNdZ9ngeaBwtc+2VS5oCeqrbXqOgutX6I4U2X/42VBw0o+M5evn4/7v3zKgGHo+9v/VjA==,
+ }
+ engines: { node: '>= 10' }
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
/@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1:
resolution:
{
@@ -2622,7 +3001,7 @@ packages:
open: 8.4.0
picocolors: 1.0.0
tiny-glob: 0.2.9
- tslib: 2.4.0
+ tslib: 2.6.2
dev: true
/@playwright/test@1.35.1:
@@ -3132,6 +3511,22 @@ packages:
'@swc/core-win32-x64-msvc': 1.3.66
dev: true
+ /@swc/counter@0.1.3:
+ resolution:
+ {
+ integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==,
+ }
+ dev: false
+
+ /@swc/helpers@0.5.13:
+ resolution:
+ {
+ integrity: sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==,
+ }
+ dependencies:
+ tslib: 2.6.2
+ dev: false
+
/@swc/helpers@0.5.2:
resolution:
{
@@ -3913,7 +4308,7 @@ packages:
debug: 4.3.4
globby: 11.1.0
is-glob: 4.0.3
- semver: 7.3.8
+ semver: 7.5.4
tsutils: 3.21.0(typescript@5.1.3)
typescript: 5.1.3
transitivePeerDependencies:
@@ -5079,7 +5474,7 @@ packages:
engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 }
hasBin: true
dependencies:
- caniuse-lite: 1.0.30001546
+ caniuse-lite: 1.0.30001579
electron-to-chromium: 1.4.543
node-releases: 2.0.13
update-browserslist-db: 1.0.13(browserslist@4.22.1)
@@ -5236,7 +5631,6 @@ packages:
{
integrity: sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA==,
}
- dev: false
/ccount@2.0.1:
resolution:
@@ -5481,6 +5875,7 @@ packages:
integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==,
}
engines: { node: '>=7.0.0' }
+ requiresBuild: true
dependencies:
color-name: 1.1.4
@@ -5495,6 +5890,32 @@ packages:
{
integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==,
}
+ requiresBuild: true
+
+ /color-string@1.9.1:
+ resolution:
+ {
+ integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==,
+ }
+ requiresBuild: true
+ dependencies:
+ color-name: 1.1.4
+ simple-swizzle: 0.2.2
+ dev: false
+ optional: true
+
+ /color@4.2.3:
+ resolution:
+ {
+ integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==,
+ }
+ engines: { node: '>=12.5.0' }
+ requiresBuild: true
+ dependencies:
+ color-convert: 2.0.1
+ color-string: 1.9.1
+ dev: false
+ optional: true
/colorette@2.0.19:
resolution:
@@ -5971,6 +6392,16 @@ packages:
engines: { node: '>=12.20' }
dev: true
+ /detect-libc@2.0.3:
+ resolution:
+ {
+ integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==,
+ }
+ engines: { node: '>=8' }
+ requiresBuild: true
+ dev: false
+ optional: true
+
/detect-newline@3.1.0:
resolution:
{
@@ -7480,6 +7911,7 @@ packages:
integrity: sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==,
}
engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
+ deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options.
hasBin: true
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.50.0)
@@ -8785,6 +9217,15 @@ packages:
}
dev: true
+ /is-arrayish@0.3.2:
+ resolution:
+ {
+ integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==,
+ }
+ requiresBuild: true
+ dev: false
+ optional: true
+
/is-async-function@2.0.0:
resolution:
{
@@ -11761,6 +12202,54 @@ packages:
- babel-plugin-macros
dev: false
+ /next@15.0.1(@babel/core@7.23.0)(react-dom@19.0.0-rc-69d4b800-20241021)(react@19.0.0-rc-69d4b800-20241021):
+ resolution:
+ {
+ integrity: sha512-PSkFkr/w7UnFWm+EP8y/QpHrJXMqpZzAXpergB/EqLPOh4SGPJXv1wj4mslr2hUZBAS9pX7/9YLIdxTv6fwytw==,
+ }
+ engines: { node: '>=18.18.0' }
+ hasBin: true
+ peerDependencies:
+ '@opentelemetry/api': ^1.1.0
+ '@playwright/test': ^1.41.2
+ babel-plugin-react-compiler: '*'
+ react: ^18.2.0 || 19.0.0-rc-69d4b800-20241021
+ react-dom: ^18.2.0 || 19.0.0-rc-69d4b800-20241021
+ sass: ^1.3.0
+ peerDependenciesMeta:
+ '@opentelemetry/api':
+ optional: true
+ '@playwright/test':
+ optional: true
+ babel-plugin-react-compiler:
+ optional: true
+ sass:
+ optional: true
+ dependencies:
+ '@next/env': 15.0.1
+ '@swc/counter': 0.1.3
+ '@swc/helpers': 0.5.13
+ busboy: 1.6.0
+ caniuse-lite: 1.0.30001579
+ postcss: 8.4.31
+ react: 19.0.0-rc-69d4b800-20241021
+ react-dom: 19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021)
+ styled-jsx: 5.1.6(@babel/core@7.23.0)(react@19.0.0-rc-69d4b800-20241021)
+ optionalDependencies:
+ '@next/swc-darwin-arm64': 15.0.1
+ '@next/swc-darwin-x64': 15.0.1
+ '@next/swc-linux-arm64-gnu': 15.0.1
+ '@next/swc-linux-arm64-musl': 15.0.1
+ '@next/swc-linux-x64-gnu': 15.0.1
+ '@next/swc-linux-x64-musl': 15.0.1
+ '@next/swc-win32-arm64-msvc': 15.0.1
+ '@next/swc-win32-x64-msvc': 15.0.1
+ sharp: 0.33.5
+ transitivePeerDependencies:
+ - '@babel/core'
+ - babel-plugin-macros
+ dev: false
+
/node-fetch@2.7.0:
resolution:
{
@@ -12822,6 +13311,18 @@ packages:
react: 18.2.0
scheduler: 0.23.0
+ /react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021):
+ resolution:
+ {
+ integrity: sha512-ZXBsP/kTDLI9QopUaUgYJhmmAhO8aKz7DCv2Ui2rA9boCfJ/dRRh6BlVidsyb2dPzG01rItdRFQqwbP+x9s5Rg==,
+ }
+ peerDependencies:
+ react: 19.0.0-rc-69d4b800-20241021
+ dependencies:
+ react: 19.0.0-rc-69d4b800-20241021
+ scheduler: 0.25.0-rc-69d4b800-20241021
+ dev: false
+
/react-is@16.13.1:
resolution:
{
@@ -12889,6 +13390,14 @@ packages:
dependencies:
loose-envify: 1.4.0
+ /react@19.0.0-rc-69d4b800-20241021:
+ resolution:
+ {
+ integrity: sha512-dXki4tN+rP+4xhsm65q/QI/19VCZdu5vPcy4h6zaJt20XP8/1r/LCwrLFYuj8hElbNz5AmxW6JtRa7ej0BzZdg==,
+ }
+ engines: { node: '>=0.10.0' }
+ dev: false
+
/read-pkg-up@7.0.1:
resolution:
{
@@ -13275,7 +13784,7 @@ packages:
integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==,
}
dependencies:
- tslib: 2.4.0
+ tslib: 2.6.2
dev: false
/sade@1.8.1:
@@ -13348,6 +13857,13 @@ packages:
dependencies:
loose-envify: 1.4.0
+ /scheduler@0.25.0-rc-69d4b800-20241021:
+ resolution:
+ {
+ integrity: sha512-S5AYX/YhMAN6u9AXgKYbZP4U4ZklC6R9Q7HmFSBk7d4DLiHVNxvAvlSvuM4nxFkwOk50MnpfTKQ7UWHXDOc9Eg==,
+ }
+ dev: false
+
/semver@5.7.1:
resolution:
{
@@ -13385,6 +13901,17 @@ packages:
lru-cache: 6.0.0
dev: true
+ /semver@7.6.3:
+ resolution:
+ {
+ integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==,
+ }
+ engines: { node: '>=10' }
+ hasBin: true
+ requiresBuild: true
+ dev: false
+ optional: true
+
/send@0.18.0:
resolution:
{
@@ -13453,6 +13980,40 @@ packages:
integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==,
}
+ /sharp@0.33.5:
+ resolution:
+ {
+ integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==,
+ }
+ engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
+ requiresBuild: true
+ dependencies:
+ color: 4.2.3
+ detect-libc: 2.0.3
+ semver: 7.6.3
+ optionalDependencies:
+ '@img/sharp-darwin-arm64': 0.33.5
+ '@img/sharp-darwin-x64': 0.33.5
+ '@img/sharp-libvips-darwin-arm64': 1.0.4
+ '@img/sharp-libvips-darwin-x64': 1.0.4
+ '@img/sharp-libvips-linux-arm': 1.0.5
+ '@img/sharp-libvips-linux-arm64': 1.0.4
+ '@img/sharp-libvips-linux-s390x': 1.0.4
+ '@img/sharp-libvips-linux-x64': 1.0.4
+ '@img/sharp-libvips-linuxmusl-arm64': 1.0.4
+ '@img/sharp-libvips-linuxmusl-x64': 1.0.4
+ '@img/sharp-linux-arm': 0.33.5
+ '@img/sharp-linux-arm64': 0.33.5
+ '@img/sharp-linux-s390x': 0.33.5
+ '@img/sharp-linux-x64': 0.33.5
+ '@img/sharp-linuxmusl-arm64': 0.33.5
+ '@img/sharp-linuxmusl-x64': 0.33.5
+ '@img/sharp-wasm32': 0.33.5
+ '@img/sharp-win32-ia32': 0.33.5
+ '@img/sharp-win32-x64': 0.33.5
+ dev: false
+ optional: true
+
/shebang-command@2.0.0:
resolution:
{
@@ -13493,6 +14054,17 @@ packages:
engines: { node: '>=14' }
dev: true
+ /simple-swizzle@0.2.2:
+ resolution:
+ {
+ integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==,
+ }
+ requiresBuild: true
+ dependencies:
+ is-arrayish: 0.3.2
+ dev: false
+ optional: true
+
/sisteransi@1.0.5:
resolution:
{
@@ -13967,6 +14539,27 @@ packages:
react: 18.2.0
dev: false
+ /styled-jsx@5.1.6(@babel/core@7.23.0)(react@19.0.0-rc-69d4b800-20241021):
+ resolution:
+ {
+ integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==,
+ }
+ engines: { node: '>= 12.0.0' }
+ peerDependencies:
+ '@babel/core': '*'
+ babel-plugin-macros: '*'
+ react: '>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0'
+ peerDependenciesMeta:
+ '@babel/core':
+ optional: true
+ babel-plugin-macros:
+ optional: true
+ dependencies:
+ '@babel/core': 7.23.0
+ client-only: 0.0.1
+ react: 19.0.0-rc-69d4b800-20241021
+ dev: false
+
/sucrase@3.28.0:
resolution:
{
@@ -14381,12 +14974,6 @@ packages:
}
dev: true
- /tslib@2.4.0:
- resolution:
- {
- integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==,
- }
-
/tslib@2.6.2:
resolution:
{
@@ -14599,6 +15186,24 @@ packages:
is-typed-array: 1.1.12
dev: true
+ /types-react-dom@19.0.0-rc.1:
+ resolution:
+ {
+ integrity: sha512-VSLZJl8VXCD0fAWp7DUTFUDCcZ8DVXOQmjhJMD03odgeFmu14ZQJHCXeETm3BEAhJqfgJaFkLnGkQv88sRx0fQ==,
+ }
+ dependencies:
+ '@types/react': 18.2.14
+ dev: true
+
+ /types-react@19.0.0-rc.1:
+ resolution:
+ {
+ integrity: sha512-RshndUfqTW6K3STLPis8BtAYCGOkMbtvYsi90gmVNDZBXUyUc5juf2PE9LfS/JmOlUIRO8cWTS/1MTnmhjDqyQ==,
+ }
+ dependencies:
+ csstype: 3.1.1
+ dev: true
+
/typescript@5.1.3:
resolution:
{