diff --git a/examples/core/auth-nextjs-email/README.md b/examples/core/auth-nextjs-email/README.md
index 1e5da9d8c8d..b31c41650a4 100644
--- a/examples/core/auth-nextjs-email/README.md
+++ b/examples/core/auth-nextjs-email/README.md
@@ -4,7 +4,33 @@ This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next
## Getting Started
-First, run the development server:
+1. You need to have a Postgres database running. You can use the following docker command to start a Postgres database:
+
+```bash
+docker run --name postgres -e POSTGRES_PASSWORD=postgres -p 5432:5432 -d postgres
+```
+
+2. For the database created above, the connection string is `postgresql://postgres:postgres@localhost:5432/postgres`.
+
+3. Update the `DATABASE_URL` environment variable in the `.env` file with the connection string for the database you created above.
+
+4. Then, generate the Prisma Client:
+
+```bash
+npx prisma migrate dev --schema=./src/prisma/schema.prisma
+```
+
+5. You also need to supply the following enviroment variables for the email server to work:
+
+```bash
+EMAIL_SERVER_HOST=
+EMAIL_SERVER_PORT=
+EMAIL_SERVER_USER=
+EMAIL_SERVER_PASSWORD=
+EMAIL_FROM=
+```
+
+6. Finally, run the development server:
```bash
npm run dev
@@ -16,7 +42,17 @@ pnpm dev
bun dev
```
-Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
+7. Open [http://localhost:3000](http://localhost:3000) with your browser to see the app running.
+
+## Clone using `create-toolpad-app`
+
+To copy this example and customize it for your needs, run
+
+```bash
+npx create-toolpad-app@latest --example auth-nextjs-email
+```
+
+and follow the instructions in the terminal.
## Learn More
diff --git a/examples/core/auth-nextjs-email/package.json b/examples/core/auth-nextjs-email/package.json
index b784cd62ae9..740ff8b0b76 100644
--- a/examples/core/auth-nextjs-email/package.json
+++ b/examples/core/auth-nextjs-email/package.json
@@ -1,6 +1,6 @@
{
"name": "playground-nextjs-email",
- "version": "0.5.2",
+ "version": "0.1.0",
"private": true,
"scripts": {
"dev": "next dev",
@@ -14,10 +14,9 @@
"@mui/material-nextjs": "^6",
"@toolpad/core": "latest",
"@prisma/client": "^5",
- "prisma": "^5",
"@auth/prisma-adapter": "^2",
- "next": "^14",
- "next-auth": "5.0.0-beta.20",
+ "next": "^15",
+ "next-auth": "5.0.0-beta.25",
"nodemailer": "^6",
"react": "^18",
"react-dom": "^18"
@@ -28,6 +27,7 @@
"@types/react": "^18",
"@types/react-dom": "^18",
"eslint": "^8",
- "eslint-config-next": "^14"
+ "prisma": "^5",
+ "eslint-config-next": "^15"
}
}
diff --git a/examples/core/auth-nextjs-email/src/app/(dashboard)/orders/page.tsx b/examples/core/auth-nextjs-email/src/app/(dashboard)/orders/page.tsx
index 467e27cc6b3..53104a52d33 100644
--- a/examples/core/auth-nextjs-email/src/app/(dashboard)/orders/page.tsx
+++ b/examples/core/auth-nextjs-email/src/app/(dashboard)/orders/page.tsx
@@ -6,7 +6,8 @@ import { auth } from '../../../auth';
export default async function OrdersPage() {
const session = await auth();
- const currentUrl = headers().get('referer') || 'http://localhost:3000';
+ const currentUrl =
+ (await headers()).get('referer') || process.env.AUTH_URL || 'http://localhost:3000';
if (!session) {
// Get the current URL to redirect to signIn with `callbackUrl`
diff --git a/examples/core/auth-nextjs-email/src/app/(dashboard)/page.tsx b/examples/core/auth-nextjs-email/src/app/(dashboard)/page.tsx
index 5e100e4e4f6..d5ff3334cd2 100644
--- a/examples/core/auth-nextjs-email/src/app/(dashboard)/page.tsx
+++ b/examples/core/auth-nextjs-email/src/app/(dashboard)/page.tsx
@@ -6,7 +6,8 @@ import { auth } from '../../auth';
export default async function HomePage() {
const session = await auth();
- const currentUrl = headers().get('referer') || 'http://localhost:3000';
+ const currentUrl =
+ (await headers()).get('referer') || process.env.AUTH_URL || 'http://localhost:3000';
if (!session) {
// Get the current URL to redirect to signIn with `callbackUrl`
diff --git a/examples/core/auth-nextjs-pages-nextauth-4/README.md b/examples/core/auth-nextjs-pages-nextauth-4/README.md
index d33f0dc405c..80d024ea5dd 100644
--- a/examples/core/auth-nextjs-pages-nextauth-4/README.md
+++ b/examples/core/auth-nextjs-pages-nextauth-4/README.md
@@ -18,6 +18,16 @@ bun dev
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
+## Clone using `create-toolpad-app`
+
+To copy this example and customize it for your needs, run
+
+```bash
+npx create-toolpad-app@latest --example auth-nextjs-pages-nextauth-4
+```
+
+and follow the instructions in the terminal.
+
## Learn More
To learn more about Next.js, take a look at the following resources:
diff --git a/examples/core/auth-nextjs-pages-nextauth-4/package.json b/examples/core/auth-nextjs-pages-nextauth-4/package.json
index 1da317f07cf..eac4562e1fe 100644
--- a/examples/core/auth-nextjs-pages-nextauth-4/package.json
+++ b/examples/core/auth-nextjs-pages-nextauth-4/package.json
@@ -14,8 +14,8 @@
"@mui/material": "^6",
"@mui/material-nextjs": "^6",
"@toolpad/core": "latest",
- "next": "^14",
- "next-auth": "^4.24.7",
+ "next": "^15",
+ "next-auth": "^4.24.10",
"react": "^18",
"react-dom": "^18"
},
@@ -25,6 +25,6 @@
"@types/react": "^18",
"@types/react-dom": "^18",
"eslint": "^8",
- "eslint-config-next": "^14"
+ "eslint-config-next": "^15"
}
}
diff --git a/examples/core/auth-nextjs-pages/README.md b/examples/core/auth-nextjs-pages/README.md
index e92d004f1c3..002b2e45075 100644
--- a/examples/core/auth-nextjs-pages/README.md
+++ b/examples/core/auth-nextjs-pages/README.md
@@ -40,6 +40,16 @@ bun dev
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
+## Clone using `create-toolpad-app`
+
+To copy this example and customize it for your needs, run
+
+```bash
+npx create-toolpad-app@latest --example auth-nextjs-pages
+```
+
+and follow the instructions in the terminal.
+
## Learn More
To learn more about Next.js, take a look at the following resources:
diff --git a/examples/core/auth-nextjs-pages/next.config.mjs b/examples/core/auth-nextjs-pages/next.config.mjs
index d5456a15d4a..53c01cd0d0c 100644
--- a/examples/core/auth-nextjs-pages/next.config.mjs
+++ b/examples/core/auth-nextjs-pages/next.config.mjs
@@ -1,6 +1,7 @@
/** @type {import('next').NextConfig} */
const nextConfig = {
reactStrictMode: true,
+ transpilePackages: ['next-auth'],
};
export default nextConfig;
diff --git a/examples/core/auth-nextjs-pages/package.json b/examples/core/auth-nextjs-pages/package.json
index eecc1758773..fad712b9bed 100644
--- a/examples/core/auth-nextjs-pages/package.json
+++ b/examples/core/auth-nextjs-pages/package.json
@@ -14,8 +14,8 @@
"@mui/material": "^6",
"@mui/material-nextjs": "^6",
"@toolpad/core": "latest",
- "next": "^14",
- "next-auth": "5.0.0-beta.20",
+ "next": "^15",
+ "next-auth": "5.0.0-beta.25",
"react": "^18",
"react-dom": "^18"
},
@@ -25,6 +25,6 @@
"@types/react": "^18",
"@types/react-dom": "^18",
"eslint": "^8",
- "eslint-config-next": "^14"
+ "eslint-config-next": "^15"
}
}
diff --git a/examples/core/auth-nextjs-passkey/README.md b/examples/core/auth-nextjs-passkey/README.md
index 79740d8469d..d55433ada12 100644
--- a/examples/core/auth-nextjs-passkey/README.md
+++ b/examples/core/auth-nextjs-passkey/README.md
@@ -17,7 +17,7 @@ docker run --name postgres -e POSTGRES_PASSWORD=postgres -p 5432:5432 -d postgre
4. Then, generate the Prisma Client:
```bash
-npx prisma generate --schema=./src/prisma/schema.prisma
+npx prisma migrate dev --schema=./src/prisma/schema.prisma
```
5. Finally, run the development server:
@@ -34,6 +34,16 @@ bun dev
6. Open [http://localhost:3000](http://localhost:3000) with your browser to see the app running.
+## Clone using `create-toolpad-app`
+
+To copy this example and customize it for your needs, run
+
+```bash
+npx create-toolpad-app@latest --example auth-nextjs-passkey
+```
+
+and follow the instructions in the terminal.
+
## Learn More
To learn more about Next.js, take a look at the following resources:
diff --git a/examples/core/auth-nextjs-passkey/package.json b/examples/core/auth-nextjs-passkey/package.json
index fb41f8e3334..05f13008c29 100644
--- a/examples/core/auth-nextjs-passkey/package.json
+++ b/examples/core/auth-nextjs-passkey/package.json
@@ -6,27 +6,26 @@
"lint": "next lint"
},
"dependencies": {
- "@auth/prisma-adapter": "2.4.2",
- "@emotion/react": "11.13.3",
- "@emotion/styled": "11.13.0",
- "@mui/icons-material": "6.0.2",
- "@mui/lab": "6.0.0-beta.9",
- "@mui/material": "6.0.2",
- "@mui/material-nextjs": "6.0.2",
- "@prisma/client": "5.19.1",
- "@simplewebauthn/browser": "9.0.1",
- "@simplewebauthn/server": "9.0.3",
+ "@auth/prisma-adapter": "^2",
+ "@emotion/react": "^11",
+ "@emotion/styled": "^11",
+ "@mui/icons-material": "^6",
+ "@mui/material": "^6",
+ "@mui/material-nextjs": "^6",
+ "@prisma/client": "^5",
+ "@simplewebauthn/browser": "^9",
+ "@simplewebauthn/server": "^9",
"@toolpad/core": "latest",
- "next": "^14",
- "next-auth": "5.0.0-beta.20",
- "react": "18.3.1",
- "react-dom": "18.3.1"
+ "next": "^15",
+ "next-auth": "5.0.0-beta.25",
+ "react": "^18",
+ "react-dom": "^18"
},
"devDependencies": {
- "@types/node": "22.5.1",
- "@types/react": "18.3.5",
- "@types/react-dom": "18.3.0",
- "eslint-config-next": "^14",
- "prisma": "5.19.1"
+ "@types/node": "^22",
+ "@types/react": "^18",
+ "prisma": "^5",
+ "@types/react-dom": "^18",
+ "eslint-config-next": "^15"
}
}
diff --git a/examples/core/auth-nextjs-passkey/src/app/(dashboard)/orders/page.tsx b/examples/core/auth-nextjs-passkey/src/app/(dashboard)/orders/page.tsx
index 0e704a11918..1f55fb65641 100644
--- a/examples/core/auth-nextjs-passkey/src/app/(dashboard)/orders/page.tsx
+++ b/examples/core/auth-nextjs-passkey/src/app/(dashboard)/orders/page.tsx
@@ -7,7 +7,8 @@ import { auth } from '../../../auth';
export default async function OrdersPage() {
const session = await auth();
- const currentUrl = headers().get('referer') || 'http://localhost:3000';
+ const currentUrl =
+ (await headers()).get('referer') || process.env.AUTH_URL || 'http://localhost:3000';
if (!session) {
// Get the current URL to redirect to signIn with `callbackUrl`
diff --git a/examples/core/auth-nextjs-passkey/src/app/(dashboard)/page.tsx b/examples/core/auth-nextjs-passkey/src/app/(dashboard)/page.tsx
index 9d6a1314e49..a1de3bab206 100644
--- a/examples/core/auth-nextjs-passkey/src/app/(dashboard)/page.tsx
+++ b/examples/core/auth-nextjs-passkey/src/app/(dashboard)/page.tsx
@@ -7,7 +7,8 @@ import { auth } from '../../auth';
export default async function HomePage() {
const session = await auth();
- const currentUrl = headers().get('referer') || 'http://localhost:3000';
+ const currentUrl =
+ (await headers()).get('referer') || process.env.AUTH_URL || 'http://localhost:3000';
if (!session) {
// Get the current URL to redirect to signIn with `callbackUrl`
@@ -27,7 +28,7 @@ export default async function HomePage() {
textAlign: 'center',
}}
>
- Welcome to Toolpad, {session?.user?.name || 'User'}!
+ Welcome to Toolpad, {session?.user?.email || 'User'}!
);
}
diff --git a/examples/core/auth-nextjs-passkey/src/auth.ts b/examples/core/auth-nextjs-passkey/src/auth.ts
index 8e73e968dae..6444dc86c13 100644
--- a/examples/core/auth-nextjs-passkey/src/auth.ts
+++ b/examples/core/auth-nextjs-passkey/src/auth.ts
@@ -26,7 +26,6 @@ export const { handlers, auth, signIn, signOut } = NextAuth({
pages: {
signIn: '/auth/signin',
},
- debug: true,
callbacks: {
authorized({ auth: session, request: { nextUrl } }) {
const isLoggedIn = !!session?.user;
diff --git a/examples/core/auth-nextjs-themed/package.json b/examples/core/auth-nextjs-themed/package.json
index d599a3bc45e..5705e10c531 100644
--- a/examples/core/auth-nextjs-themed/package.json
+++ b/examples/core/auth-nextjs-themed/package.json
@@ -21,8 +21,8 @@
"clsx": "^2",
"@react-spring/web": "^9",
"@toolpad/core": "latest",
- "next": "^14",
- "next-auth": "^5.0.0-beta.20",
+ "next": "^15",
+ "next-auth": "^5.0.0-beta.25",
"react": "^18",
"react-dom": "^18"
},
@@ -31,7 +31,7 @@
"@types/react": "^18",
"@types/react-dom": "^18",
"eslint": "^8",
- "eslint-config-next": "^14",
+ "eslint-config-next": "^15",
"typescript": "^5"
}
}
diff --git a/examples/core/auth-nextjs/README.md b/examples/core/auth-nextjs/README.md
index be121f349a6..dc87ac7fecd 100644
--- a/examples/core/auth-nextjs/README.md
+++ b/examples/core/auth-nextjs/README.md
@@ -40,6 +40,16 @@ npx auth secret
To get the required credentials from GitHub, we need to create an application in their developer settings. Read this [detailed guide on Auth.js](https://authjs.dev/guides/configuring-github) on how to obtain those.
+## Clone using `create-toolpad-app`
+
+To copy this example and customize it for your needs, run
+
+```bash
+npx create-toolpad-app@latest --example auth-nextjs
+```
+
+and follow the instructions in the terminal.
+
## Learn More
To learn more about Next.js, take a look at the following resources:
diff --git a/examples/core/auth-nextjs/package.json b/examples/core/auth-nextjs/package.json
index 2f6b029ace7..21f27d46ef0 100644
--- a/examples/core/auth-nextjs/package.json
+++ b/examples/core/auth-nextjs/package.json
@@ -12,8 +12,8 @@
"@mui/material": "^6",
"@mui/material-nextjs": "^6",
"@toolpad/core": "latest",
- "next": "^14",
- "next-auth": "5.0.0-beta.20",
+ "next": "^15",
+ "next-auth": "5.0.0-beta.25",
"react": "^18",
"react-dom": "^18"
},
@@ -23,6 +23,6 @@
"@types/react": "^18",
"@types/react-dom": "^18",
"eslint": "^8",
- "eslint-config-next": "^14"
+ "eslint-config-next": "^15"
}
}
diff --git a/examples/core/tutorial/package.json b/examples/core/tutorial/package.json
index 72557b9f82c..e475b6edfef 100644
--- a/examples/core/tutorial/package.json
+++ b/examples/core/tutorial/package.json
@@ -10,7 +10,7 @@
"dependencies": {
"react": "^18",
"react-dom": "^18",
- "next": "^14",
+ "next": "^15",
"@toolpad/core": "latest",
"@mui/material": "^6",
"@mui/material-nextjs": "^6",
@@ -24,6 +24,6 @@
"@types/react": "^18",
"@types/react-dom": "^18",
"eslint": "^8",
- "eslint-config-next": "^14"
+ "eslint-config-next": "^15"
}
}
diff --git a/package.json b/package.json
index 3abf56de7e5..65e4b1ed632 100644
--- a/package.json
+++ b/package.json
@@ -89,7 +89,7 @@
"eslint-plugin-mocha": "10.5.0",
"eslint-plugin-react": "7.37.2",
"eslint-plugin-react-compiler": "latest",
- "eslint-plugin-react-hooks": "4.6.2",
+ "eslint-plugin-react-hooks": "5.0.0",
"eslint-plugin-testing-library": "^6.4.0",
"eslint-plugin-typescript-enum": "2.1.0",
"execa": "9.5.1",
diff --git a/packages/create-toolpad-app/src/generateProject.ts b/packages/create-toolpad-app/src/generateProject.ts
index 7a996579f83..0a71d8c19fd 100644
--- a/packages/create-toolpad-app/src/generateProject.ts
+++ b/packages/create-toolpad-app/src/generateProject.ts
@@ -41,7 +41,7 @@ export default function generateProject(
const files = new Map([
['theme.ts', { content: theme }],
['next-env.d.ts', { content: nextTypes }],
- ['next.config.mjs', { content: nextConfig }],
+ ['next.config.mjs', { content: nextConfig(options) }],
['.eslintrc.json', { content: eslintConfig }],
['tsconfig.json', { content: tsConfig }],
['README.md', { content: readme }],
diff --git a/packages/create-toolpad-app/src/templates/nextConfig.ts b/packages/create-toolpad-app/src/templates/nextConfig.ts
index 919a2e044d8..1d4f7d7fdb3 100644
--- a/packages/create-toolpad-app/src/templates/nextConfig.ts
+++ b/packages/create-toolpad-app/src/templates/nextConfig.ts
@@ -1,7 +1,11 @@
-const nextConfig = `
+import { Template } from '../types';
+
+const nextConfig: Template = (options) => `
/** @type {import('next').NextConfig} */
- const nextConfig = {};
+ const nextConfig = {
+ ${options.router === 'nextjs-pages' ? 'transpilePackages: ["next-auth"],' : ''}
+ };
export default nextConfig;
- `;
+`;
export default nextConfig;
diff --git a/packages/create-toolpad-app/src/templates/packageJson.ts b/packages/create-toolpad-app/src/templates/packageJson.ts
index 8f831b12222..ddfb0cce52c 100644
--- a/packages/create-toolpad-app/src/templates/packageJson.ts
+++ b/packages/create-toolpad-app/src/templates/packageJson.ts
@@ -21,7 +21,7 @@ const packageJson: PackageJsonTemplate = (options) => {
const dependencies: Record = {
react: '^18',
'react-dom': '^18',
- next: '^14',
+ next: '^15',
'@toolpad/core': coreVersion ?? 'latest',
'@mui/material': '^6',
'@mui/material-nextjs': '^6',
@@ -36,7 +36,7 @@ const packageJson: PackageJsonTemplate = (options) => {
}
if (authOption) {
- dependencies['next-auth'] = '5.0.0-beta.20';
+ dependencies['next-auth'] = '5.0.0-beta.25';
}
const devDependencies: Record = {
@@ -45,7 +45,7 @@ const packageJson: PackageJsonTemplate = (options) => {
'@types/react': '^18',
'@types/react-dom': '^18',
eslint: '^8',
- 'eslint-config-next': '^14',
+ 'eslint-config-next': '^15',
};
const scripts = {
diff --git a/packages/toolpad-core/src/SignInPage/SignInPage.tsx b/packages/toolpad-core/src/SignInPage/SignInPage.tsx
index 6d56180c281..641732a858b 100644
--- a/packages/toolpad-core/src/SignInPage/SignInPage.tsx
+++ b/packages/toolpad-core/src/SignInPage/SignInPage.tsx
@@ -331,6 +331,7 @@ function SignInPage(props: SignInPageProps) {
color="textPrimary"
sx={{
my: theme.spacing(1),
+ textAlign: 'center',
fontWeight: 600,
}}
>
diff --git a/playground/nextjs-pages/next.config.mjs b/playground/nextjs-pages/next.config.mjs
index d5456a15d4a..38a959cb3e2 100644
--- a/playground/nextjs-pages/next.config.mjs
+++ b/playground/nextjs-pages/next.config.mjs
@@ -1,6 +1,8 @@
/** @type {import('next').NextConfig} */
const nextConfig = {
reactStrictMode: true,
+ // https://github.com/nextauthjs/next-auth/discussions/9385#discussioncomment-8875108
+ transpilePackages: ['next-auth'],
};
export default nextConfig;
diff --git a/playground/nextjs-pages/package.json b/playground/nextjs-pages/package.json
index 0c1136fd795..976538227bb 100644
--- a/playground/nextjs-pages/package.json
+++ b/playground/nextjs-pages/package.json
@@ -15,8 +15,8 @@
"@toolpad/core": "workspace:*",
"@types/react": "18.3.12",
"@types/react-dom": "18.3.1",
- "eslint-config-next": "14.2.18",
- "next": "14.2.18",
+ "eslint-config-next": "15.0.3",
+ "next": "15.0.3",
"next-auth": "5.0.0-beta.25",
"react": "18.3.1",
"react-dom": "18.3.1"
diff --git a/playground/nextjs-pages/tsconfig.json b/playground/nextjs-pages/tsconfig.json
index bb5584ed1a4..2cb18e2f53b 100644
--- a/playground/nextjs-pages/tsconfig.json
+++ b/playground/nextjs-pages/tsconfig.json
@@ -16,7 +16,8 @@
{
"name": "next"
}
- ]
+ ],
+ "target": "ES2017"
},
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
"exclude": ["node_modules"]
diff --git a/playground/nextjs/package.json b/playground/nextjs/package.json
index c1cecbcee49..ec598184323 100644
--- a/playground/nextjs/package.json
+++ b/playground/nextjs/package.json
@@ -10,15 +10,14 @@
"@emotion/react": "11.13.3",
"@emotion/styled": "11.13.0",
"@mui/icons-material": "6.1.8",
- "@mui/lab": "6.0.0-beta.16",
"@mui/material": "6.1.8",
"@mui/material-nextjs": "6.1.8",
"@toolpad/core": "workspace:*",
"@types/node": "^20.17.6",
"@types/react": "18.3.12",
"@types/react-dom": "18.3.1",
- "eslint-config-next": "14.2.18",
- "next": "14.2.18",
+ "eslint-config-next": "15.0.3",
+ "next": "15.0.3",
"next-auth": "5.0.0-beta.25",
"react": "18.3.1",
"react-dom": "18.3.1"
diff --git a/playground/nextjs/tsconfig.json b/playground/nextjs/tsconfig.json
index bb5584ed1a4..2cb18e2f53b 100644
--- a/playground/nextjs/tsconfig.json
+++ b/playground/nextjs/tsconfig.json
@@ -16,7 +16,8 @@
{
"name": "next"
}
- ]
+ ],
+ "target": "ES2017"
},
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
"exclude": ["node_modules"]
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 6f6c12834ea..c4530ebb851 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -165,7 +165,7 @@ importers:
version: 8.57.1
eslint-config-airbnb:
specifier: 19.0.4
- version: 19.0.4(eslint-plugin-import@2.31.0)(eslint-plugin-jsx-a11y@6.10.2(eslint@8.57.1))(eslint-plugin-react-hooks@4.6.2(eslint@8.57.1))(eslint-plugin-react@7.37.2(eslint@8.57.1))(eslint@8.57.1)
+ version: 19.0.4(eslint-plugin-import@2.31.0)(eslint-plugin-jsx-a11y@6.10.2(eslint@8.57.1))(eslint-plugin-react-hooks@5.0.0(eslint@8.57.1))(eslint-plugin-react@7.37.2(eslint@8.57.1))(eslint@8.57.1)
eslint-config-airbnb-typescript:
specifier: 18.0.0
version: 18.0.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.3))(eslint-plugin-import@2.31.0)(eslint@8.57.1)
@@ -197,8 +197,8 @@ importers:
specifier: latest
version: 19.0.0-beta-0dec889-20241115(eslint@8.57.1)
eslint-plugin-react-hooks:
- specifier: 4.6.2
- version: 4.6.2(eslint@8.57.1)
+ specifier: 5.0.0
+ version: 5.0.0(eslint@8.57.1)
eslint-plugin-testing-library:
specifier: ^6.4.0
version: 6.4.0(eslint@8.57.1)(typescript@5.6.3)
@@ -1210,15 +1210,12 @@ importers:
'@mui/icons-material':
specifier: 6.1.8
version: 6.1.8(@mui/material@6.1.8(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.12)(react@18.3.1)
- '@mui/lab':
- specifier: 6.0.0-beta.16
- version: 6.0.0-beta.16(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@mui/material@6.1.8(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@mui/material':
specifier: 6.1.8
version: 6.1.8(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@mui/material-nextjs':
specifier: 6.1.8
- version: 6.1.8(@emotion/cache@11.13.1)(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/server@11.11.0)(@types/react@18.3.12)(next@14.2.18(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
+ version: 6.1.8(@emotion/cache@11.13.1)(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/server@11.11.0)(@types/react@18.3.12)(next@15.0.3(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
'@toolpad/core':
specifier: workspace:*
version: link:../../packages/toolpad-core/build
@@ -1232,14 +1229,14 @@ importers:
specifier: 18.3.1
version: 18.3.1
eslint-config-next:
- specifier: 14.2.18
- version: 14.2.18(eslint-import-resolver-webpack@0.13.9(eslint-plugin-import@2.31.0)(webpack@5.96.1(esbuild@0.24.0)))(eslint@8.57.1)(typescript@5.6.3)
+ specifier: 15.0.3
+ version: 15.0.3(eslint-import-resolver-webpack@0.13.9(eslint-plugin-import@2.31.0)(webpack@5.96.1(esbuild@0.24.0)))(eslint@8.57.1)(typescript@5.6.3)
next:
- specifier: 14.2.18
- version: 14.2.18(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: 15.0.3
+ version: 15.0.3(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
next-auth:
specifier: 5.0.0-beta.25
- version: 5.0.0-beta.25(next@14.2.18(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
+ version: 5.0.0-beta.25(next@15.0.3(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
react:
specifier: 18.3.1
version: 18.3.1
@@ -1263,7 +1260,7 @@ importers:
version: 6.1.8(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@mui/material-nextjs':
specifier: 6.1.8
- version: 6.1.8(@emotion/cache@11.13.1)(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/server@11.11.0)(@types/react@18.3.12)(next@14.2.18(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
+ version: 6.1.8(@emotion/cache@11.13.1)(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/server@11.11.0)(@types/react@18.3.12)(next@15.0.3(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
'@toolpad/core':
specifier: workspace:*
version: link:../../packages/toolpad-core/build
@@ -1274,14 +1271,14 @@ importers:
specifier: 18.3.1
version: 18.3.1
eslint-config-next:
- specifier: 14.2.18
- version: 14.2.18(eslint-import-resolver-webpack@0.13.9(eslint-plugin-import@2.31.0)(webpack@5.96.1(esbuild@0.24.0)))(eslint@8.57.1)(typescript@5.6.3)
+ specifier: 15.0.3
+ version: 15.0.3(eslint-import-resolver-webpack@0.13.9(eslint-plugin-import@2.31.0)(webpack@5.96.1(esbuild@0.24.0)))(eslint@8.57.1)(typescript@5.6.3)
next:
- specifier: 14.2.18
- version: 14.2.18(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: 15.0.3
+ version: 15.0.3(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
next-auth:
specifier: 5.0.0-beta.25
- version: 5.0.0-beta.25(next@14.2.18(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
+ version: 5.0.0-beta.25(next@15.0.3(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
react:
specifier: 18.3.1
version: 18.3.1
@@ -3494,51 +3491,99 @@ packages:
'@next/env@14.2.18':
resolution: {integrity: sha512-2vWLOUwIPgoqMJKG6dt35fVXVhgM09tw4tK3/Q34GFXDrfiHlG7iS33VA4ggnjWxjiz9KV5xzfsQzJX6vGAekA==}
+ '@next/env@15.0.3':
+ resolution: {integrity: sha512-t9Xy32pjNOvVn2AS+Utt6VmyrshbpfUMhIjFO60gI58deSo/KgLOp31XZ4O+kY/Is8WAGYwA5gR7kOb1eORDBA==}
+
'@next/eslint-plugin-next@14.2.18':
resolution: {integrity: sha512-KyYTbZ3GQwWOjX3Vi1YcQbekyGP0gdammb7pbmmi25HBUCINzDReyrzCMOJIeZisK1Q3U6DT5Rlc4nm2/pQeXA==}
+ '@next/eslint-plugin-next@15.0.3':
+ resolution: {integrity: sha512-3Ln/nHq2V+v8uIaxCR6YfYo7ceRgZNXfTd3yW1ukTaFbO+/I8jNakrjYWODvG9BuR2v5kgVtH/C8r0i11quOgw==}
+
'@next/swc-darwin-arm64@14.2.18':
resolution: {integrity: sha512-tOBlDHCjGdyLf0ube/rDUs6VtwNOajaWV+5FV/ajPgrvHeisllEdymY/oDgv2cx561+gJksfMUtqf8crug7sbA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
+ '@next/swc-darwin-arm64@15.0.3':
+ resolution: {integrity: sha512-s3Q/NOorCsLYdCKvQlWU+a+GeAd3C8Rb3L1YnetsgwXzhc3UTWrtQpB/3eCjFOdGUj5QmXfRak12uocd1ZiiQw==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [darwin]
+
'@next/swc-darwin-x64@14.2.18':
resolution: {integrity: sha512-uJCEjutt5VeJ30jjrHV1VIHCsbMYnEqytQgvREx+DjURd/fmKy15NaVK4aR/u98S1LGTnjq35lRTnRyygglxoA==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
+ '@next/swc-darwin-x64@15.0.3':
+ resolution: {integrity: sha512-Zxl/TwyXVZPCFSf0u2BNj5sE0F2uR6iSKxWpq4Wlk/Sv9Ob6YCKByQTkV2y6BCic+fkabp9190hyrDdPA/dNrw==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [darwin]
+
'@next/swc-linux-arm64-gnu@14.2.18':
resolution: {integrity: sha512-IL6rU8vnBB+BAm6YSWZewc+qvdL1EaA+VhLQ6tlUc0xp+kkdxQrVqAnh8Zek1ccKHlTDFRyAft0e60gteYmQ4A==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
+ '@next/swc-linux-arm64-gnu@15.0.3':
+ resolution: {integrity: sha512-T5+gg2EwpsY3OoaLxUIofmMb7ohAUlcNZW0fPQ6YAutaWJaxt1Z1h+8zdl4FRIOr5ABAAhXtBcpkZNwUcKI2fw==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+
'@next/swc-linux-arm64-musl@14.2.18':
resolution: {integrity: sha512-RCaENbIZqKKqTlL8KNd+AZV/yAdCsovblOpYFp0OJ7ZxgLNbV5w23CUU1G5On+0fgafrsGcW+GdMKdFjaRwyYA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
+ '@next/swc-linux-arm64-musl@15.0.3':
+ resolution: {integrity: sha512-WkAk6R60mwDjH4lG/JBpb2xHl2/0Vj0ZRu1TIzWuOYfQ9tt9NFsIinI1Epma77JVgy81F32X/AeD+B2cBu/YQA==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+
'@next/swc-linux-x64-gnu@14.2.18':
resolution: {integrity: sha512-3kmv8DlyhPRCEBM1Vavn8NjyXtMeQ49ID0Olr/Sut7pgzaQTo4h01S7Z8YNE0VtbowyuAL26ibcz0ka6xCTH5g==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
+ '@next/swc-linux-x64-gnu@15.0.3':
+ resolution: {integrity: sha512-gWL/Cta1aPVqIGgDb6nxkqy06DkwJ9gAnKORdHWX1QBbSZZB+biFYPFti8aKIQL7otCE1pjyPaXpFzGeG2OS2w==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+
'@next/swc-linux-x64-musl@14.2.18':
resolution: {integrity: sha512-mliTfa8seVSpTbVEcKEXGjC18+TDII8ykW4a36au97spm9XMPqQTpdGPNBJ9RySSFw9/hLuaCMByluQIAnkzlw==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
+ '@next/swc-linux-x64-musl@15.0.3':
+ resolution: {integrity: sha512-QQEMwFd8r7C0GxQS62Zcdy6GKx999I/rTO2ubdXEe+MlZk9ZiinsrjwoiBL5/57tfyjikgh6GOU2WRQVUej3UA==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+
'@next/swc-win32-arm64-msvc@14.2.18':
resolution: {integrity: sha512-J5g0UFPbAjKYmqS3Cy7l2fetFmWMY9Oao32eUsBPYohts26BdrMUyfCJnZFQkX9npYaHNDOWqZ6uV9hSDPw9NA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
+ '@next/swc-win32-arm64-msvc@15.0.3':
+ resolution: {integrity: sha512-9TEp47AAd/ms9fPNgtgnT7F3M1Hf7koIYYWCMQ9neOwjbVWJsHZxrFbI3iEDJ8rf1TDGpmHbKxXf2IFpAvheIQ==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [win32]
+
'@next/swc-win32-ia32-msvc@14.2.18':
resolution: {integrity: sha512-Ynxuk4ZgIpdcN7d16ivJdjsDG1+3hTvK24Pp8DiDmIa2+A4CfhJSEHHVndCHok6rnLUzAZD+/UOKESQgTsAZGg==}
engines: {node: '>= 10'}
@@ -3551,6 +3596,12 @@ packages:
cpu: [x64]
os: [win32]
+ '@next/swc-win32-x64-msvc@15.0.3':
+ resolution: {integrity: sha512-VNAz+HN4OGgvZs6MOoVfnn41kBzT+M+tB+OK4cww6DNyWS6wKaDpaAm/qLeOUbnMh0oVx1+mg0uoYARF69dJyA==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [win32]
+
'@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.3':
resolution: {integrity: sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==}
@@ -4003,6 +4054,9 @@ packages:
'@swc/counter@0.1.3':
resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==}
+ '@swc/helpers@0.5.13':
+ resolution: {integrity: sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==}
+
'@swc/helpers@0.5.5':
resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==}
@@ -5947,10 +6001,10 @@ packages:
eslint-plugin-react: ^7.28.0
eslint-plugin-react-hooks: ^4.3.0
- eslint-config-next@14.2.18:
- resolution: {integrity: sha512-SuDRcpJY5VHBkhz5DijJ4iA4bVnBA0n48Rb+YSJSCDr+h7kKAcb1mZHusLbW+WA8LDB6edSolomXA55eG3eOVA==}
+ eslint-config-next@15.0.3:
+ resolution: {integrity: sha512-IGP2DdQQrgjcr4mwFPve4DrCqo7CVVez1WoYY47XwKSrYO4hC0Dlb+iJA60i0YfICOzgNADIb8r28BpQ5Zs0wg==}
peerDependencies:
- eslint: ^7.23.0 || ^8.0.0
+ eslint: ^7.23.0 || ^8.0.0 || ^9.0.0
typescript: '>=3.3.1'
peerDependenciesMeta:
typescript:
@@ -6045,11 +6099,11 @@ packages:
peerDependencies:
eslint: '>=7'
- eslint-plugin-react-hooks@4.6.2:
- resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==}
+ eslint-plugin-react-hooks@5.0.0:
+ resolution: {integrity: sha512-hIOwI+5hYGpJEc4uPRmz2ulCjAGD/N13Lukkh8cLV0i2IRk/bdZDYjgLVHj+U9Z704kLIdIO6iueGvxNur0sgw==}
engines: {node: '>=10'}
peerDependencies:
- eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
+ eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0
eslint-plugin-react@7.37.2:
resolution: {integrity: sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w==}
@@ -6207,6 +6261,10 @@ packages:
fast-fifo@1.3.2:
resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==}
+ fast-glob@3.3.1:
+ resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==}
+ engines: {node: '>=8.6.0'}
+
fast-glob@3.3.2:
resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
engines: {node: '>=8.6.0'}
@@ -8003,6 +8061,27 @@ packages:
sass:
optional: true
+ next@15.0.3:
+ resolution: {integrity: sha512-ontCbCRKJUIoivAdGB34yCaOcPgYXr9AAkV/IwqFfWWTXEPUgLYkSkqBhIk9KK7gGmgjc64B+RdoeIDM13Irnw==}
+ engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.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-66855b96-20241106
+ react-dom: ^18.2.0 || 19.0.0-rc-66855b96-20241106
+ sass: ^1.3.0
+ peerDependenciesMeta:
+ '@opentelemetry/api':
+ optional: true
+ '@playwright/test':
+ optional: true
+ babel-plugin-react-compiler:
+ optional: true
+ sass:
+ optional: true
+
nise@6.1.1:
resolution: {integrity: sha512-aMSAzLVY7LyeM60gvBS423nBmIPP+Wy7St7hsb+8/fc1HmeoHJfLO8CKse4u3BtOZvQLJghYPI2i/1WZrEj5/g==}
@@ -9610,6 +9689,19 @@ packages:
babel-plugin-macros:
optional: true
+ styled-jsx@5.1.6:
+ 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
+
stylis-plugin-rtl@2.1.1:
resolution: {integrity: sha512-q6xIkri6fBufIO/sV55md2CbgS5c6gg9EhSVATtHHCdOnbN/jcI0u3lYhNVeuI65c4lQPo67g8xmq5jrREvzlg==}
peerDependencies:
@@ -12371,6 +12463,17 @@ snapshots:
'@emotion/server': 11.11.0
'@types/react': 18.3.12
+ '@mui/material-nextjs@6.1.8(@emotion/cache@11.13.1)(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/server@11.11.0)(@types/react@18.3.12)(next@15.0.3(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@emotion/react': 11.13.3(@types/react@18.3.12)(react@18.3.1)
+ next: 15.0.3(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ optionalDependencies:
+ '@emotion/cache': 11.13.1
+ '@emotion/server': 11.11.0
+ '@types/react': 18.3.12
+
'@mui/material@6.1.8(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@babel/runtime': 7.26.0
@@ -12796,37 +12899,67 @@ snapshots:
'@next/env@14.2.18': {}
+ '@next/env@15.0.3': {}
+
'@next/eslint-plugin-next@14.2.18':
dependencies:
glob: 10.3.10
+ '@next/eslint-plugin-next@15.0.3':
+ dependencies:
+ fast-glob: 3.3.1
+
'@next/swc-darwin-arm64@14.2.18':
optional: true
+ '@next/swc-darwin-arm64@15.0.3':
+ optional: true
+
'@next/swc-darwin-x64@14.2.18':
optional: true
+ '@next/swc-darwin-x64@15.0.3':
+ optional: true
+
'@next/swc-linux-arm64-gnu@14.2.18':
optional: true
+ '@next/swc-linux-arm64-gnu@15.0.3':
+ optional: true
+
'@next/swc-linux-arm64-musl@14.2.18':
optional: true
+ '@next/swc-linux-arm64-musl@15.0.3':
+ optional: true
+
'@next/swc-linux-x64-gnu@14.2.18':
optional: true
+ '@next/swc-linux-x64-gnu@15.0.3':
+ optional: true
+
'@next/swc-linux-x64-musl@14.2.18':
optional: true
+ '@next/swc-linux-x64-musl@15.0.3':
+ optional: true
+
'@next/swc-win32-arm64-msvc@14.2.18':
optional: true
+ '@next/swc-win32-arm64-msvc@15.0.3':
+ optional: true
+
'@next/swc-win32-ia32-msvc@14.2.18':
optional: true
'@next/swc-win32-x64-msvc@14.2.18':
optional: true
+ '@next/swc-win32-x64-msvc@15.0.3':
+ optional: true
+
'@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.3':
optional: true
@@ -13365,6 +13498,10 @@ snapshots:
'@swc/counter@0.1.3': {}
+ '@swc/helpers@0.5.13':
+ dependencies:
+ tslib: 2.8.1
+
'@swc/helpers@0.5.5':
dependencies:
'@swc/counter': 0.1.3
@@ -15679,20 +15816,20 @@ snapshots:
transitivePeerDependencies:
- eslint-plugin-import
- eslint-config-airbnb@19.0.4(eslint-plugin-import@2.31.0)(eslint-plugin-jsx-a11y@6.10.2(eslint@8.57.1))(eslint-plugin-react-hooks@4.6.2(eslint@8.57.1))(eslint-plugin-react@7.37.2(eslint@8.57.1))(eslint@8.57.1):
+ eslint-config-airbnb@19.0.4(eslint-plugin-import@2.31.0)(eslint-plugin-jsx-a11y@6.10.2(eslint@8.57.1))(eslint-plugin-react-hooks@5.0.0(eslint@8.57.1))(eslint-plugin-react@7.37.2(eslint@8.57.1))(eslint@8.57.1):
dependencies:
eslint: 8.57.1
eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.31.0)(eslint@8.57.1)
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint-import-resolver-webpack@0.13.9(eslint-plugin-import@2.31.0)(webpack@5.96.1(esbuild@0.24.0)))(eslint@8.57.1)
eslint-plugin-jsx-a11y: 6.10.2(eslint@8.57.1)
eslint-plugin-react: 7.37.2(eslint@8.57.1)
- eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1)
+ eslint-plugin-react-hooks: 5.0.0(eslint@8.57.1)
object.assign: 4.1.5
object.entries: 1.1.8
- eslint-config-next@14.2.18(eslint-import-resolver-webpack@0.13.9(eslint-plugin-import@2.31.0)(webpack@5.96.1(esbuild@0.24.0)))(eslint@8.57.1)(typescript@5.6.3):
+ eslint-config-next@15.0.3(eslint-import-resolver-webpack@0.13.9(eslint-plugin-import@2.31.0)(webpack@5.96.1(esbuild@0.24.0)))(eslint@8.57.1)(typescript@5.6.3):
dependencies:
- '@next/eslint-plugin-next': 14.2.18
+ '@next/eslint-plugin-next': 15.0.3
'@rushstack/eslint-patch': 1.10.4
'@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3)
'@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.6.3)
@@ -15702,7 +15839,7 @@ snapshots:
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint-import-resolver-webpack@0.13.9(eslint-plugin-import@2.31.0)(webpack@5.96.1(esbuild@0.24.0)))(eslint@8.57.1)
eslint-plugin-jsx-a11y: 6.10.2(eslint@8.57.1)
eslint-plugin-react: 7.37.2(eslint@8.57.1)
- eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1)
+ eslint-plugin-react-hooks: 5.0.0(eslint@8.57.1)
optionalDependencies:
typescript: 5.6.3
transitivePeerDependencies:
@@ -15851,7 +15988,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- eslint-plugin-react-hooks@4.6.2(eslint@8.57.1):
+ eslint-plugin-react-hooks@5.0.0(eslint@8.57.1):
dependencies:
eslint: 8.57.1
@@ -16166,6 +16303,14 @@ snapshots:
fast-fifo@1.3.2: {}
+ fast-glob@3.3.1:
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ '@nodelib/fs.walk': 1.2.8
+ glob-parent: 5.1.2
+ merge2: 1.4.1
+ micromatch: 4.0.8
+
fast-glob@3.3.2:
dependencies:
'@nodelib/fs.stat': 2.0.5
@@ -18174,10 +18319,10 @@ snapshots:
nested-error-stacks@2.1.1: {}
- next-auth@5.0.0-beta.25(next@14.2.18(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1):
+ next-auth@5.0.0-beta.25(next@15.0.3(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1):
dependencies:
'@auth/core': 0.37.2
- next: 14.2.18(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ next: 15.0.3(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react: 18.3.1
next-router-mock@0.9.13(next@14.2.18(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1):
@@ -18211,6 +18356,32 @@ snapshots:
- '@babel/core'
- babel-plugin-macros
+ next@15.0.3(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@next/env': 15.0.3
+ '@swc/counter': 0.1.3
+ '@swc/helpers': 0.5.13
+ busboy: 1.6.0
+ caniuse-lite: 1.0.30001676
+ postcss: 8.4.31
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ styled-jsx: 5.1.6(@babel/core@7.26.0)(babel-plugin-macros@3.1.0)(react@18.3.1)
+ optionalDependencies:
+ '@next/swc-darwin-arm64': 15.0.3
+ '@next/swc-darwin-x64': 15.0.3
+ '@next/swc-linux-arm64-gnu': 15.0.3
+ '@next/swc-linux-arm64-musl': 15.0.3
+ '@next/swc-linux-x64-gnu': 15.0.3
+ '@next/swc-linux-x64-musl': 15.0.3
+ '@next/swc-win32-arm64-msvc': 15.0.3
+ '@next/swc-win32-x64-msvc': 15.0.3
+ '@playwright/test': 1.47.2
+ sharp: 0.33.5
+ transitivePeerDependencies:
+ - '@babel/core'
+ - babel-plugin-macros
+
nise@6.1.1:
dependencies:
'@sinonjs/commons': 3.0.1
@@ -20041,6 +20212,14 @@ snapshots:
'@babel/core': 7.26.0
babel-plugin-macros: 3.1.0
+ styled-jsx@5.1.6(@babel/core@7.26.0)(babel-plugin-macros@3.1.0)(react@18.3.1):
+ dependencies:
+ client-only: 0.0.1
+ react: 18.3.1
+ optionalDependencies:
+ '@babel/core': 7.26.0
+ babel-plugin-macros: 3.1.0
+
stylis-plugin-rtl@2.1.1(stylis@4.3.4):
dependencies:
cssjanus: 2.3.0
diff --git a/test/playwright/localTest.ts b/test/playwright/localTest.ts
index 43f67e3880e..443efeb2080 100644
--- a/test/playwright/localTest.ts
+++ b/test/playwright/localTest.ts
@@ -357,8 +357,8 @@ const test = baseTest.extend<
},
{ scope: 'worker', timeout: 60000 },
],
- baseURL: async ({ localApp }, use) => {
- await use(localApp?.url);
+ baseURL: async ({ localApp }, run) => {
+ await run(localApp?.url);
},
browserCloser: [
async ({ browser }, use) => {
diff --git a/test/playwright/test.ts b/test/playwright/test.ts
index 6ff538f06b5..34db944df13 100644
--- a/test/playwright/test.ts
+++ b/test/playwright/test.ts
@@ -27,7 +27,7 @@ export type Options = { ignoreConsoleErrors: RegExp[] };
export const test = base.extend({
ignoreConsoleErrors: [[], { option: true }],
- page: async ({ page, ignoreConsoleErrors }, use) => {
+ page: async ({ page, ignoreConsoleErrors }, run) => {
const entryPromises: Promise[] = [];
const consoleHandler = (msg: ConsoleMessage) => {
@@ -47,7 +47,7 @@ export const test = base.extend({
page.on('console', consoleHandler);
- await use(page);
+ await run(page);
page.off('console', consoleHandler);