From 2c7ad49c6f18363276327ae23c6b71dbaea14e03 Mon Sep 17 00:00:00 2001 From: Nico Domino Date: Thu, 16 May 2024 16:12:57 +0200 Subject: [PATCH 1/6] chore: rm `apps/playgrounds/*` dirs and link to new repo (#10939) --- apps/playgrounds/README.md | 22 +++ apps/playgrounds/gatsby/.env.example | 10 -- apps/playgrounds/gatsby/.gitignore | 7 - apps/playgrounds/gatsby/README.md | 109 ------------- .../playgrounds/gatsby/api/auth/[nextauth].js | 9 -- .../gatsby/api/auth/[nextauth]/[provider].js | 2 - apps/playgrounds/gatsby/gatsby-browser.js | 6 - apps/playgrounds/gatsby/nextauth.config.js | 31 ---- apps/playgrounds/gatsby/package.json | 22 --- .../gatsby/src/api/[...nextauth].js | 9 -- .../gatsby/src/components/layout.js | 70 --------- .../gatsby/src/components/layout.module.css | 101 ------------ apps/playgrounds/gatsby/src/pages/index.js | 25 --- apps/playgrounds/gatsby/static/favicon.ico | Bin 15406 -> 0 bytes apps/playgrounds/nuxt/.env.example | 4 - apps/playgrounds/nuxt/.eslintrc.cjs | 7 - apps/playgrounds/nuxt/.gitignore | 4 - apps/playgrounds/nuxt/README.md | 50 ------ apps/playgrounds/nuxt/app.vue | 45 ------ apps/playgrounds/nuxt/components/Header.vue | 146 ------------------ .../nuxt/composables/useSession.ts | 5 - apps/playgrounds/nuxt/lib/auth/client.ts | 107 ------------- apps/playgrounds/nuxt/lib/auth/server.ts | 45 ------ apps/playgrounds/nuxt/lib/auth/types.ts | 48 ------ apps/playgrounds/nuxt/nuxt.config.ts | 19 --- apps/playgrounds/nuxt/package.json | 20 --- apps/playgrounds/nuxt/pages/index.vue | 10 -- apps/playgrounds/nuxt/pages/protected.vue | 18 --- apps/playgrounds/nuxt/plugins/auth.ts | 19 --- .../playgrounds/nuxt/server/api/auth/[...].ts | 17 -- apps/playgrounds/nuxt/tsconfig.json | 4 - 31 files changed, 22 insertions(+), 969 deletions(-) create mode 100644 apps/playgrounds/README.md delete mode 100644 apps/playgrounds/gatsby/.env.example delete mode 100644 apps/playgrounds/gatsby/.gitignore delete mode 100644 apps/playgrounds/gatsby/README.md delete mode 100644 apps/playgrounds/gatsby/api/auth/[nextauth].js delete mode 100644 apps/playgrounds/gatsby/api/auth/[nextauth]/[provider].js delete mode 100644 apps/playgrounds/gatsby/gatsby-browser.js delete mode 100644 apps/playgrounds/gatsby/nextauth.config.js delete mode 100644 apps/playgrounds/gatsby/package.json delete mode 100644 apps/playgrounds/gatsby/src/api/[...nextauth].js delete mode 100644 apps/playgrounds/gatsby/src/components/layout.js delete mode 100644 apps/playgrounds/gatsby/src/components/layout.module.css delete mode 100644 apps/playgrounds/gatsby/src/pages/index.js delete mode 100644 apps/playgrounds/gatsby/static/favicon.ico delete mode 100644 apps/playgrounds/nuxt/.env.example delete mode 100644 apps/playgrounds/nuxt/.eslintrc.cjs delete mode 100644 apps/playgrounds/nuxt/.gitignore delete mode 100644 apps/playgrounds/nuxt/README.md delete mode 100644 apps/playgrounds/nuxt/app.vue delete mode 100644 apps/playgrounds/nuxt/components/Header.vue delete mode 100644 apps/playgrounds/nuxt/composables/useSession.ts delete mode 100644 apps/playgrounds/nuxt/lib/auth/client.ts delete mode 100644 apps/playgrounds/nuxt/lib/auth/server.ts delete mode 100644 apps/playgrounds/nuxt/lib/auth/types.ts delete mode 100644 apps/playgrounds/nuxt/nuxt.config.ts delete mode 100644 apps/playgrounds/nuxt/package.json delete mode 100644 apps/playgrounds/nuxt/pages/index.vue delete mode 100644 apps/playgrounds/nuxt/pages/protected.vue delete mode 100644 apps/playgrounds/nuxt/plugins/auth.ts delete mode 100644 apps/playgrounds/nuxt/server/api/auth/[...].ts delete mode 100644 apps/playgrounds/nuxt/tsconfig.json diff --git a/apps/playgrounds/README.md b/apps/playgrounds/README.md new file mode 100644 index 0000000000..9d3ee47d78 --- /dev/null +++ b/apps/playgrounds/README.md @@ -0,0 +1,22 @@ +

+
+ +

Auth.js library

+

Authentication for the Web.

+

+ + TypeScript + + + npm + + + Downloads + + + GitHub Stars + +

+

+ +The playgrounds have been moved to [nextauthjs/playgrounds](https://github.com/nextauthjs/playgrounds). diff --git a/apps/playgrounds/gatsby/.env.example b/apps/playgrounds/gatsby/.env.example deleted file mode 100644 index ef050dc139..0000000000 --- a/apps/playgrounds/gatsby/.env.example +++ /dev/null @@ -1,10 +0,0 @@ -# https://next-auth.js.org/providers/github -GITHUB_ID= -GITHUB_SECRET= - -# https://next-auth.js.org/configuration/options#nextauth_url -NEXTAUTH_URL=http://localhost:3000 - -# https://next-auth.js.org/configuration/options#nextauth_secret -# openssl rand -base64 32 -NEXTAUTH_SECRET= diff --git a/apps/playgrounds/gatsby/.gitignore b/apps/playgrounds/gatsby/.gitignore deleted file mode 100644 index 6278f1f38a..0000000000 --- a/apps/playgrounds/gatsby/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -node_modules -.env.development -.cache -yarn.lock -.vscode -public -.vercel diff --git a/apps/playgrounds/gatsby/README.md b/apps/playgrounds/gatsby/README.md deleted file mode 100644 index 919b75d7cb..0000000000 --- a/apps/playgrounds/gatsby/README.md +++ /dev/null @@ -1,109 +0,0 @@ -> The example repository is maintained from a [monorepo](https://github.com/nextauthjs/next-auth/tree/main/apps/playground-gatsby). Pull Requests should be opened against [`nextauthjs/next-auth`](https://github.com/nextauthjs/next-auth). - -

-
- -

Auth.js Example App

-

- Open Source. Full Stack. Own Your Data. -

-

- - npm - - - Bundle Size - - - Downloads - -

-

- -## Overview - -Auth.js is a complete open-source authentication solution. - -This is an example application that shows how `@auth/core` is applied to a basic Gatsby app. We are showing how to configure the backend both as a [Vercel Function](https://vercel.com/docs/concepts/functions/introduction) for deployment to Vercel, and also for [Gatsby Functions](https://www.gatsbyjs.com/docs/reference/functions) for other platforms. - -The deployed version can be found at [`next-auth-gatsby-example.vercel.app`](https://next-auth-gatsby-example.vercel.app) - -### About Auth.js - -Auth.js is an easy-to-implement, full-stack (client/server) open-source authentication library originally designed for [Next.js](https://nextjs.org) and [Serverless](https://vercel.com), but this example shows how to use it in a Gatsby project. Our goal is to [support even more frameworks](https://github.com/nextauthjs/next-auth/issues/2294) in the future. - -Go to [authjs.dev](https://authjs.dev) for more information and documentation. - -> Auth.js is not officially associated with Vercel or Next.js.\_ - -## Getting Started - -### 1. Clone the repository and install dependencies - -``` -git clone https://github.com/nextauthjs/next-auth-gatsby-example.git -cd next-auth-gatsby-example -npm install -``` - -### 2. Configure your local environment - -Copy the .env.local.example file in this directory to .env.local (which will be ignored by Git): - -``` -cp .env.local.example .env.local -``` - -Add details for one or more providers (e.g. Google, Twitter, GitHub, Email, etc). - -#### Database - -A database is needed to persist user accounts and to support email sign in. However, you can still use Auth.js for authentication without a database by using OAuth for authentication. If you do not specify a database, [JSON Web Tokens](https://jwt.io/introduction) will be enabled by default. - -You **can** skip configuring a database and come back to it later if you want. - -For more information about setting up a database, please check out the following links: - -- Docs: [authjs.dev/reference/core/adapters](https://authjs.dev/reference/core/adapters) - -### 3. Configure Authentication Providers - -1. Review and update options in `nextauth.config.js` as needed. - -2. When setting up OAuth, in the developer admin page for each of your OAuth services, you should configure the callback URL to use a callback path of `{server}/api/auth/callback/{provider}`. - -e.g. For Google OAuth you would use: `http://localhost:3000/api/auth/callback/google` - -A list of configured providers and their callback URLs is available from the endpoint `/api/auth/providers`. You can find more information at [authjs.dev/reference/core/providers](https://authjs.dev/reference/core/providers). - -3. You can also choose to specify an SMTP server for passwordless sign in via email. - -### 4. Start the application - -To run your site locally, use: - -``` -npm run dev -``` - -To run it in production mode, use: - -``` -npm run build -npm run start -``` - -### 5. Preparing for Production - -Follow the [Deployment documentation](https://authjs.dev/getting-started/deployment) - -## Acknowledgements - - -Powered By Vercel - -

Thanks to Vercel sponsoring this project by allowing it to be deployed for free for the entire Auth.js Team

- -## License - -ISC diff --git a/apps/playgrounds/gatsby/api/auth/[nextauth].js b/apps/playgrounds/gatsby/api/auth/[nextauth].js deleted file mode 100644 index 878b45b560..0000000000 --- a/apps/playgrounds/gatsby/api/auth/[nextauth].js +++ /dev/null @@ -1,9 +0,0 @@ -// Gatsby Functions are not yet supported on Vercel, so you'll need to use the root `api` folder. -import NextAuth from "next-auth" -import { authConfig } from "../../nextauth.config" - -export default async function handler(req, res) { - const { nextauth, provider, ...rest } = req.query - req.query = { nextauth: [nextauth, provider], ...rest } - return await NextAuth(req, res, authConfig) -} diff --git a/apps/playgrounds/gatsby/api/auth/[nextauth]/[provider].js b/apps/playgrounds/gatsby/api/auth/[nextauth]/[provider].js deleted file mode 100644 index 0a3e8dbc22..0000000000 --- a/apps/playgrounds/gatsby/api/auth/[nextauth]/[provider].js +++ /dev/null @@ -1,2 +0,0 @@ -// Vercel Functions for Gatsby currently do not support catch-all routes. -export { default } from "../[nextauth]" diff --git a/apps/playgrounds/gatsby/gatsby-browser.js b/apps/playgrounds/gatsby/gatsby-browser.js deleted file mode 100644 index 8498c61124..0000000000 --- a/apps/playgrounds/gatsby/gatsby-browser.js +++ /dev/null @@ -1,6 +0,0 @@ -import * as React from "react" -import { SessionProvider } from "next-auth/react" - -export const wrapRootElement = ({ element }) => ( - {element} -) diff --git a/apps/playgrounds/gatsby/nextauth.config.js b/apps/playgrounds/gatsby/nextauth.config.js deleted file mode 100644 index c3440d0678..0000000000 --- a/apps/playgrounds/gatsby/nextauth.config.js +++ /dev/null @@ -1,31 +0,0 @@ -import GitHubProvider from "next-auth/providers/github" -import CredentialsProvider from "next-auth/providers/credentials" - -/** @type {import("next-auth").NextAuthOptions} */ -export const authConfig = { - providers: [ - CredentialsProvider({ - credentials: { - Password: { placeholder: `type "password"`, type: "password" }, - }, - authorize(credentials) { - if (credentials.Password === "password") { - return { - name: "John Doe", - email: "john@doe.com", - image: "https://www.fillmurray.com/200/200", - } - } - }, - }), - GitHubProvider({ - clientId: process.env.GITHUB_ID, - clientSecret: process.env.GITHUB_SECRET, - }), - ], - theme: { - logo: "https://www.gatsbyjs.com/Gatsby-Monogram.svg", - colorScheme: "light", - brandColor: "#663399", - }, -} diff --git a/apps/playgrounds/gatsby/package.json b/apps/playgrounds/gatsby/package.json deleted file mode 100644 index c7f789a736..0000000000 --- a/apps/playgrounds/gatsby/package.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "next-auth-gatsby", - "private": true, - "scripts": { - "build": "gatsby build", - "dev": "gatsby develop --port 3000", - "dev:local": "vercel dev", - "start": "npm run develop", - "serve": "gatsby serve", - "clean": "gatsby clean" - }, - "dependencies": { - "dotenv": "16.0.0", - "gatsby": "5.9.1", - "next-auth": "workspace:*", - "react": "18.2.0", - "react-dom": "18.2.0" - }, - "devDependencies": { - "vercel": "23.1.2" - } -} diff --git a/apps/playgrounds/gatsby/src/api/[...nextauth].js b/apps/playgrounds/gatsby/src/api/[...nextauth].js deleted file mode 100644 index 4e55511d68..0000000000 --- a/apps/playgrounds/gatsby/src/api/[...nextauth].js +++ /dev/null @@ -1,9 +0,0 @@ -// If your deployment environment supports Gatsby Functions, you won't need the root `api` folder, only this. - -import NextAuth from "next-auth" -import { authConfig } from "../../nextauth.config" - -export default async function handler(req, res) { - req.query.nextauth = req.params.nextauth.split("/") - return await NextAuth(req, res, authConfig) -} diff --git a/apps/playgrounds/gatsby/src/components/layout.js b/apps/playgrounds/gatsby/src/components/layout.js deleted file mode 100644 index 7c0e839c52..0000000000 --- a/apps/playgrounds/gatsby/src/components/layout.js +++ /dev/null @@ -1,70 +0,0 @@ -import * as React from "react" -import * as styles from "./layout.module.css" - -import { signIn, signOut, useSession } from "next-auth/react" - -export default function Layout({ children }) { - const session = useSession() - - return ( -
-
-
-

- {session?.status !== "authenticated" && ( - <> - - You are not signed in - - { - e.preventDefault() - signIn() - }} - > - Sign in - - - )} - {session?.status === "authenticated" && ( - <> - {session.data.user.image && ( - {`${session.data.user.name}'s - )} - - Signed in as -
- {session.data.user.email} - {session.data.user.name - ? `(${session.data.user.name})` - : null} -
- { - e.preventDefault() - signOut() - }} - > - Sign out - - - )} -

-
-
-
{children}
-
- ) -} diff --git a/apps/playgrounds/gatsby/src/components/layout.module.css b/apps/playgrounds/gatsby/src/components/layout.module.css deleted file mode 100644 index 7f44919193..0000000000 --- a/apps/playgrounds/gatsby/src/components/layout.module.css +++ /dev/null @@ -1,101 +0,0 @@ -body { - margin: 0; -} - -.wrapper { - max-width: 640px; - margin: 0 auto; - font-family: sans-serif; -} -/* Set min-height to avoid page reflow while session loading */ -.signedInStatus { - display: block; - min-height: 4rem; - width: 100%; -} - -.loading, -.loaded { - position: relative; - top: 0; - opacity: 1; - overflow: hidden; - border-radius: 0 0 0.6rem 0.6rem; - padding: 0.6rem 1rem; - margin: 0; - background-color: rgba(0, 0, 0, 0.05); - transition: all 0.2s ease-in; -} - -.loading { - top: -2rem; - opacity: 0; -} - -.signedInText, -.notSignedInText { - position: absolute; - padding-top: 0.8rem; - left: 1rem; - right: 6.5rem; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; - display: inherit; - z-index: 1; - line-height: 1.3rem; -} - -.signedInText { - padding-top: 0rem; - left: 4.6rem; -} - -.avatar { - border-radius: 2rem; - float: left; - height: 2.8rem; - width: 2.8rem; - background-color: white; - background-size: cover; - background-repeat: no-repeat; -} - -.button, -.buttonPrimary { - float: right; - margin-right: -0.4rem; - font-weight: 500; - border-radius: 0.3rem; - cursor: pointer; - font-size: 1rem; - line-height: 1.4rem; - padding: 0.7rem 0.8rem; - position: relative; - z-index: 10; - background-color: transparent; - color: #555; -} - -.buttonPrimary { - background-color: #663399; - border-color: #663399; - color: #fff; - text-decoration: none; - padding: 0.7rem 1.4rem; -} - -.buttonPrimary:hover { - box-shadow: inset 0 0 5rem rgba(0, 0, 0, 0.2); -} - -.navItems { - margin-bottom: 2rem; - padding: 0; - list-style: none; -} - -.navItem { - display: inline-block; - margin-right: 1rem; -} diff --git a/apps/playgrounds/gatsby/src/pages/index.js b/apps/playgrounds/gatsby/src/pages/index.js deleted file mode 100644 index 71d0feac50..0000000000 --- a/apps/playgrounds/gatsby/src/pages/index.js +++ /dev/null @@ -1,25 +0,0 @@ -import * as React from "react" -import Layout from "../components/layout" - -import { useSession } from "next-auth/react" - -export default function Home() { - const session = useSession() - - return ( - -

NextAuth.js Example

-

- An example site to demonstrate how to use{" "} - Auth.js for authentication in Gatsby. -

- { - { - loading:

Loading session...

, - authenticated:
{JSON.stringify(session?.data, null, 2)}
, - unauthenticated: "Please sign in", - }[session?.status ?? "loading"] - } -
- ) -} diff --git a/apps/playgrounds/gatsby/static/favicon.ico b/apps/playgrounds/gatsby/static/favicon.ico deleted file mode 100644 index b3b1d64f97062846ce66708109e4e6f5909021c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15406 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 diff --git a/apps/playgrounds/nuxt/.env.example b/apps/playgrounds/nuxt/.env.example deleted file mode 100644 index b4f4cd00d8..0000000000 --- a/apps/playgrounds/nuxt/.env.example +++ /dev/null @@ -1,4 +0,0 @@ -GITHUB_CLIENT_ID= -GITHUB_CLIENT_SECRET= -NEXTAUTH_URL= -NEXTAUTH_SECRET= diff --git a/apps/playgrounds/nuxt/.eslintrc.cjs b/apps/playgrounds/nuxt/.eslintrc.cjs deleted file mode 100644 index dd24c05237..0000000000 --- a/apps/playgrounds/nuxt/.eslintrc.cjs +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - root: true, - extends: ["@nuxt/eslint-config"], - rules: { - "vue/multi-word-component-names": "off", - }, -} diff --git a/apps/playgrounds/nuxt/.gitignore b/apps/playgrounds/nuxt/.gitignore deleted file mode 100644 index 250fff97e8..0000000000 --- a/apps/playgrounds/nuxt/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -node_modules -.nuxt -dist -output diff --git a/apps/playgrounds/nuxt/README.md b/apps/playgrounds/nuxt/README.md deleted file mode 100644 index 7f8091d30c..0000000000 --- a/apps/playgrounds/nuxt/README.md +++ /dev/null @@ -1,50 +0,0 @@ -> The example repository is maintained from a [monorepo](https://github.com/nextauthjs/next-auth/tree/main/apps/playground-nuxt). Pull Requests should be opened against [`nextauthjs/next-auth`](https://github.com/nextauthjs/next-auth). - -Nuxt 3 support with Auth.js is currently experimental. This directory contains a minimal, proof-of-concept application. Parts of this is expected to be abstracted away into a package like `@auth/nuxt`. - -## Getting Started - -1. Setup your environment variables in `nuxt.config.ts`: - -```ts -export default defineNuxtConfig({ - // https://v3.nuxtjs.org/migration/runtime-config#runtime-config - runtimeConfig: { - secret: process.env.NEXTAUTH_SECRET - github: { - clientId: process.env.GITHUB_CLIENT_ID, - clientSecret: process.env.GITHUB_CLIENT_SECRET - } - } -}) -``` - -2. Set up Auth.js options - -Go to the API handler file (`server/api/auth/[...].ts`) and setup your providers. This file contains the dynamic route handler for Auth.js which will also contain all of your global Auth.js configurations. - -Here's an example of what it looks like: - -```ts -// server/api/auth/[...].ts - -import { NuxtAuthHandler } from "@/lib/auth/server" -import GithubProvider from "@auth/core/providers/github" -import type { AuthOptions } from "@auth/core" - -const runtimeConfig = useRuntimeConfig() - -export const authOptions: AuthOptions = { - secret: runtimeConfig.secret, - providers: [ - GithubProvider({ - clientId: runtimeConfig.github.clientId, - clientSecret: runtimeConfig.github.clientSecret, - }), - ], -} - -export default NuxtAuthHandler(authOptions) -``` - -All requests to `/api/auth/*` (`signIn`, `callback`, `signOut`, etc.) will automatically be handled by Auth.js. diff --git a/apps/playgrounds/nuxt/app.vue b/apps/playgrounds/nuxt/app.vue deleted file mode 100644 index 1da29e5580..0000000000 --- a/apps/playgrounds/nuxt/app.vue +++ /dev/null @@ -1,45 +0,0 @@ - - - diff --git a/apps/playgrounds/nuxt/components/Header.vue b/apps/playgrounds/nuxt/components/Header.vue deleted file mode 100644 index d43274a27a..0000000000 --- a/apps/playgrounds/nuxt/components/Header.vue +++ /dev/null @@ -1,146 +0,0 @@ - - - - - diff --git a/apps/playgrounds/nuxt/composables/useSession.ts b/apps/playgrounds/nuxt/composables/useSession.ts deleted file mode 100644 index cac007e314..0000000000 --- a/apps/playgrounds/nuxt/composables/useSession.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { Session } from "@auth/core/types" - -export default function useSession() { - return useState("session", () => null) -} diff --git a/apps/playgrounds/nuxt/lib/auth/client.ts b/apps/playgrounds/nuxt/lib/auth/client.ts deleted file mode 100644 index 792d70187a..0000000000 --- a/apps/playgrounds/nuxt/lib/auth/client.ts +++ /dev/null @@ -1,107 +0,0 @@ -import type { - LiteralUnion, - SignInOptions, - SignInAuthorizationParams, - SignOutParams, -} from "./types" -import type { - BuiltInProviderType, - RedirectableProviderType, -} from "@auth/core/providers" - -/** - * Client-side method to initiate a signin flow - * or send the user to the signin page listing all possible providers. - * Automatically adds the CSRF token to the request. - * - * [Documentation](https://next-auth.js.org/getting-started/client#signin) - */ -export async function signIn< - P extends RedirectableProviderType | undefined = undefined, ->( - providerId?: LiteralUnion< - P extends RedirectableProviderType - ? P | BuiltInProviderType - : BuiltInProviderType - >, - options?: SignInOptions, - authorizationParams?: SignInAuthorizationParams -) { - const { callbackUrl = window.location.href, redirect = true } = options ?? {} - - // TODO: Support custom providers - const isCredentials = providerId === "credentials" - const isEmail = providerId === "email" - const isSupportingReturn = isCredentials || isEmail - - // TODO: Handle custom base path - const signInUrl = `/api/auth/${ - isCredentials ? "callback" : "signin" - }/${providerId}` - - const _signInUrl = `${signInUrl}?${new URLSearchParams(authorizationParams)}` - - // TODO: Handle custom base path - // TODO: Remove this since SvelteKit offers the CSRF protection via origin check - const { csrfToken } = await $fetch<{ csrfToken: string }>("/api/auth/csrf") - - console.log(_signInUrl) - - const res = await fetch(_signInUrl, { - method: "post", - headers: { - "Content-Type": "application/x-www-form-urlencoded", - "X-Auth-Return-Redirect": "1", - }, - // @ts-expect-error -- ignore - body: new URLSearchParams({ - ...options, - csrfToken, - callbackUrl, - }), - }) - - const data = await res.clone().json() - const error = new URL(data.url).searchParams.get("error") - - if (redirect || !isSupportingReturn || !error) { - // TODO: Do not redirect for Credentials and Email providers by default in next major - window.location.href = data.url ?? callbackUrl - // If url contains a hash, the browser does not reload the page. We reload manually - if (data.url.includes("#")) window.location.reload() - return - } - - return res -} - -/** - * Signs the user out, by removing the session cookie. - * Automatically adds the CSRF token to the request. - * - * [Documentation](https://next-auth.js.org/getting-started/client#signout) - */ -export async function signOut(options?: SignOutParams) { - const { callbackUrl = window.location.href } = options ?? {} - // TODO: Custom base path - // TODO: Remove this since SvelteKit offers the CSRF protection via origin check - const csrfTokenResponse = await fetch("/api/auth/csrf") - const { csrfToken } = await csrfTokenResponse.json() - const res = await fetch(`/api/auth/signout`, { - method: "post", - headers: { - "Content-Type": "application/x-www-form-urlencoded", - "X-Auth-Return-Redirect": "1", - }, - body: new URLSearchParams({ - csrfToken, - callbackUrl, - }), - }) - const data = await res.json() - - const url = data.url ?? callbackUrl - window.location.href = url - // If url contains a hash, the browser does not reload the page. We reload manually - if (url.includes("#")) window.location.reload() -} diff --git a/apps/playgrounds/nuxt/lib/auth/server.ts b/apps/playgrounds/nuxt/lib/auth/server.ts deleted file mode 100644 index e7f4c5fbf4..0000000000 --- a/apps/playgrounds/nuxt/lib/auth/server.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { AuthConfig, Session } from "@auth/core/types" -import { Auth } from "@auth/core" -import { fromNodeMiddleware, getRequestURL, H3Event } from "h3" -import { createMiddleware } from "@hattip/adapter-node" - -export function NuxtAuthHandler(options: AuthConfig) { - async function handler(ctx: { request: Request }) { - options.trustHost ??= true - - return Auth(ctx.request, options) - } - - const middleware = createMiddleware(handler) - - return fromNodeMiddleware(middleware) -} - -export async function getSession( - event: H3Event, - options: AuthConfig -): Promise { - options.trustHost ??= true - - const headers = getRequestHeaders(event) - const nodeHeaders = new Headers() - - const url = new URL("/api/auth/session", getRequestURL(event)) - - Object.keys(headers).forEach((key) => { - nodeHeaders.append(key, headers[key] as any) - }) - - const response = await Auth( - new Request(url, { headers: nodeHeaders }), - options - ) - - const { status = 200 } = response - - const data = await response.json() - - if (!data || !Object.keys(data).length) return null - if (status === 200) return data - throw new Error(data.message) -} diff --git a/apps/playgrounds/nuxt/lib/auth/types.ts b/apps/playgrounds/nuxt/lib/auth/types.ts deleted file mode 100644 index 95eed544ec..0000000000 --- a/apps/playgrounds/nuxt/lib/auth/types.ts +++ /dev/null @@ -1,48 +0,0 @@ -// Taken from next-auth/react -import type { BuiltInProviderType, ProviderType } from "@auth/core/providers" -/** - * Util type that matches some strings literally, but allows any other string as well. - * @source https://github.com/microsoft/TypeScript/issues/29729#issuecomment-832522611 - */ -export declare type LiteralUnion = - | T - | (U & Record) -export interface ClientSafeProvider { - id: LiteralUnion - name: string - type: ProviderType - signinUrl: string - callbackUrl: string -} -export interface SignInOptions extends Record { - /** - * Specify to which URL the user will be redirected after signing in. Defaults to the page URL the sign-in is initiated from. - * - * [Documentation](https://next-auth.js.org/getting-started/client#specifying-a-callbackurl) - */ - callbackUrl?: string - /** [Documentation](https://next-auth.js.org/getting-started/client#using-the-redirect-false-option) */ - redirect?: boolean -} -export interface SignInResponse { - error: string | undefined - status: number - ok: boolean - url: string | null -} -/** Match `inputType` of `new URLSearchParams(inputType)` */ -export declare type SignInAuthorizationParams = - | string - | string[][] - | Record - | URLSearchParams -/** [Documentation](https://next-auth.js.org/getting-started/client#using-the-redirect-false-option-1) */ -export interface SignOutResponse { - url: string -} -export interface SignOutParams { - /** [Documentation](https://next-auth.js.org/getting-started/client#specifying-a-callbackurl-1) */ - callbackUrl?: string - /** [Documentation](https://next-auth.js.org/getting-started/client#using-the-redirect-false-option-1 */ - redirect?: R -} diff --git a/apps/playgrounds/nuxt/nuxt.config.ts b/apps/playgrounds/nuxt/nuxt.config.ts deleted file mode 100644 index e76bb280a1..0000000000 --- a/apps/playgrounds/nuxt/nuxt.config.ts +++ /dev/null @@ -1,19 +0,0 @@ -export default defineNuxtConfig({ - // https://v3.nuxtjs.org/migration/runtime-config#runtime-config - runtimeConfig: { - secret: process.env.NEXTAUTH_SECRET, - github: { - clientId: process.env.GITHUB_CLIENT_ID, - clientSecret: process.env.GITHUB_CLIENT_SECRET, - }, - }, - vite: { - define: { - "process.env.NEXTAUTH_URL": JSON.stringify(process.env.NEXTAUTH_URL), - "process.env.AUTH_TRUST_HOST": JSON.stringify( - process.env.AUTH_TRUST_HOST - ), - "process.env.VERCEL_URL": JSON.stringify(process.env.VERCEL_URL), - }, - }, -}) diff --git a/apps/playgrounds/nuxt/package.json b/apps/playgrounds/nuxt/package.json deleted file mode 100644 index 1ba4a099f4..0000000000 --- a/apps/playgrounds/nuxt/package.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "next-auth-nuxt", - "private": true, - "scripts": { - "build": "nuxt build", - "dev": "nuxt prepare && nuxt dev", - "generate": "nuxt generate", - "preview": "nuxt preview" - }, - "devDependencies": { - "@nuxt/eslint-config": "^0.1.1", - "eslint": "^8.29.0", - "h3": "1.9.0", - "nuxt": "3.8.2" - }, - "dependencies": { - "@auth/core": "workspace:*", - "@hattip/adapter-node": "^0.0.35" - } -} diff --git a/apps/playgrounds/nuxt/pages/index.vue b/apps/playgrounds/nuxt/pages/index.vue deleted file mode 100644 index 2d41f63995..0000000000 --- a/apps/playgrounds/nuxt/pages/index.vue +++ /dev/null @@ -1,10 +0,0 @@ - diff --git a/apps/playgrounds/nuxt/pages/protected.vue b/apps/playgrounds/nuxt/pages/protected.vue deleted file mode 100644 index 41aca17114..0000000000 --- a/apps/playgrounds/nuxt/pages/protected.vue +++ /dev/null @@ -1,18 +0,0 @@ - - - diff --git a/apps/playgrounds/nuxt/plugins/auth.ts b/apps/playgrounds/nuxt/plugins/auth.ts deleted file mode 100644 index 6d547ef506..0000000000 --- a/apps/playgrounds/nuxt/plugins/auth.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { Session } from "@auth/core/types" - -export default defineNuxtPlugin(async () => { - const session = useSession() - - addRouteMiddleware("auth", () => { - if (!session.value) return navigateTo("/") - }) - - if (process.server) { - const data = await $fetch("/api/auth/session", { - headers: useRequestHeaders() as any, - }) - - const hasSession = data && Object.keys(data).length - - session.value = hasSession ? data : null - } -}) diff --git a/apps/playgrounds/nuxt/server/api/auth/[...].ts b/apps/playgrounds/nuxt/server/api/auth/[...].ts deleted file mode 100644 index c1535133c5..0000000000 --- a/apps/playgrounds/nuxt/server/api/auth/[...].ts +++ /dev/null @@ -1,17 +0,0 @@ -import { NuxtAuthHandler } from "@/lib/auth/server" -import GithubProvider from "@auth/core/providers/github" -import type { AuthConfig } from "@auth/core" - -const runtimeConfig = useRuntimeConfig() - -export const authOptions = { - secret: runtimeConfig.secret, - providers: [ - GithubProvider({ - clientId: runtimeConfig.github.clientId, - clientSecret: runtimeConfig.github.clientSecret, - }), - ], -} as AuthConfig - -export default NuxtAuthHandler(authOptions) diff --git a/apps/playgrounds/nuxt/tsconfig.json b/apps/playgrounds/nuxt/tsconfig.json deleted file mode 100644 index a7bfa186c3..0000000000 --- a/apps/playgrounds/nuxt/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - // https://v3.nuxtjs.org/concepts/typescript - "extends": "./.nuxt/tsconfig.json" -} From 8a27027ccf23b9d8eb999932fe243aa6732e03f2 Mon Sep 17 00:00:00 2001 From: ndom91 Date: Thu, 16 May 2024 17:26:08 +0200 Subject: [PATCH 2/6] chore(repo): rm root @prettier/plugin-pug devDep --- package.json | 1 - pnpm-lock.yaml | 43 ++++++++++++++++++++++--------------------- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/package.json b/package.json index 83c4832059..6077d304f0 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,6 @@ "@actions/core": "^1.10.0", "@balazsorban/monorepo-release": "0.5.1", "@playwright/test": "1.41.2", - "@prettier/plugin-pug": "^3.0.0", "@types/node": "^20.8.10", "@typescript-eslint/eslint-plugin": "v6.19.1", "@typescript-eslint/parser": "v6.19.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4edd512f7f..1dffad4bcd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -25,9 +25,6 @@ importers: '@playwright/test': specifier: 1.41.2 version: 1.41.2 - '@prettier/plugin-pug': - specifier: ^3.0.0 - version: 3.0.0(prettier@3.1.1) '@types/node': specifier: ^20.8.10 version: 20.11.7 @@ -15179,7 +15176,7 @@ snapshots: '@eslint/eslintrc@1.4.1': dependencies: ajv: 6.12.6 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 espree: 9.6.1 globals: 13.24.0 ignore: 5.3.0 @@ -15778,7 +15775,7 @@ snapshots: '@humanwhocodes/config-array@0.11.14': dependencies: '@humanwhocodes/object-schema': 2.0.2 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -18209,7 +18206,7 @@ snapshots: '@typescript-eslint/type-utils': 6.19.1(eslint@8.30.0)(typescript@5.3.3) '@typescript-eslint/utils': 6.19.1(eslint@8.30.0)(typescript@5.3.3) '@typescript-eslint/visitor-keys': 6.19.1 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 eslint: 8.30.0 graphemer: 1.4.0 ignore: 5.3.0 @@ -18226,7 +18223,7 @@ snapshots: '@typescript-eslint/scope-manager': 4.33.0 '@typescript-eslint/types': 4.33.0 '@typescript-eslint/typescript-estree': 4.33.0(typescript@5.3.3) - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 eslint: 8.30.0 optionalDependencies: typescript: 5.3.3 @@ -18239,7 +18236,7 @@ snapshots: '@typescript-eslint/types': 6.19.1 '@typescript-eslint/typescript-estree': 6.19.1(typescript@5.3.3) '@typescript-eslint/visitor-keys': 6.19.1 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 eslint: 8.30.0 optionalDependencies: typescript: 5.3.3 @@ -18260,7 +18257,7 @@ snapshots: dependencies: '@typescript-eslint/typescript-estree': 6.19.1(typescript@5.3.3) '@typescript-eslint/utils': 6.19.1(eslint@8.30.0)(typescript@5.3.3) - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 eslint: 8.30.0 ts-api-utils: 1.0.3(typescript@5.3.3) optionalDependencies: @@ -18276,7 +18273,7 @@ snapshots: dependencies: '@typescript-eslint/types': 4.33.0 '@typescript-eslint/visitor-keys': 4.33.0 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 semver: 7.5.4 @@ -18290,7 +18287,7 @@ snapshots: dependencies: '@typescript-eslint/types': 6.19.1 '@typescript-eslint/visitor-keys': 6.19.1 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 @@ -18356,7 +18353,7 @@ snapshots: dependencies: '@ampproject/remapping': 2.2.1 '@bcoe/v8-coverage': 0.2.3 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 4.0.1 @@ -20754,6 +20751,10 @@ snapshots: dependencies: ms: 2.1.3 + debug@4.3.4: + dependencies: + ms: 2.1.2 + debug@4.3.4(supports-color@5.5.0): dependencies: ms: 2.1.2 @@ -21400,7 +21401,7 @@ snapshots: dependencies: '@es-joy/jsdoccomment': 0.36.1 comment-parser: 1.3.1 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 escape-string-regexp: 4.0.0 eslint: 8.30.0 esquery: 1.5.0 @@ -21447,7 +21448,7 @@ snapshots: dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.30.0) '@jridgewell/sourcemap-codec': 1.4.15 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 eslint: 8.30.0 eslint-compat-utils: 0.5.0(eslint@8.30.0) esutils: 2.0.3 @@ -21493,7 +21494,7 @@ snapshots: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -23127,7 +23128,7 @@ snapshots: istanbul-lib-source-maps@4.0.1: dependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: @@ -26705,9 +26706,9 @@ snapshots: sass@1.70.0: dependencies: - chokidar: 3.5.3 + chokidar: 3.6.0 immutable: 4.3.5 - source-map-js: 1.1.0 + source-map-js: 1.2.0 sax@1.3.0: {} @@ -27470,7 +27471,7 @@ snapshots: estree-walker: 3.0.3 is-reference: 3.0.2 locate-character: 3.0.0 - magic-string: 0.30.5 + magic-string: 0.30.8 periscopic: 3.1.0 swap-case@2.0.2: @@ -28396,7 +28397,7 @@ snapshots: vite-node@1.2.2(@types/node@20.11.7)(sass@1.70.0)(terser@5.27.0): dependencies: cac: 6.7.14 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 vite: 5.0.13(@types/node@20.11.7)(sass@1.70.0)(terser@5.27.0) @@ -28489,7 +28490,7 @@ snapshots: acorn-walk: 8.3.2 cac: 6.7.14 chai: 4.4.1 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 execa: 8.0.1 local-pkg: 0.5.0 magic-string: 0.30.5 From 0097147f33e25632a3cf2ae67b7ce80fa7365478 Mon Sep 17 00:00:00 2001 From: ndom91 Date: Fri, 17 May 2024 12:28:54 +0200 Subject: [PATCH 3/6] chore(next-auth): reword jsdoc useSession desc --- packages/next-auth/src/react.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/next-auth/src/react.tsx b/packages/next-auth/src/react.tsx index 5933cf483d..5be2d78f61 100644 --- a/packages/next-auth/src/react.tsx +++ b/packages/next-auth/src/react.tsx @@ -120,7 +120,7 @@ export const SessionContext = React.createContext?.< * React Hook that gives you access to the logged in user's session data and lets you modify it. * * :::info - * You will likely not need `useSession` if you are using the [Next.js App Router (`app/`)](https://nextjs.org/blog/next-13-4#nextjs-app-router). + * `useSession` is for client-side use only and when using [Next.js App Router (`app/`)](https://nextjs.org/blog/next-13-4#nextjs-app-router) you should prefer the `auth()` export. * ::: */ export function useSession( From a444f522543acd7e2c66b93ddb577b1f45705135 Mon Sep 17 00:00:00 2001 From: ndom91 Date: Fri, 17 May 2024 12:29:45 +0200 Subject: [PATCH 4/6] chore(next-auth): reword jsdoc SessionProvider desc --- packages/next-auth/src/react.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/next-auth/src/react.tsx b/packages/next-auth/src/react.tsx index 5be2d78f61..32872a9880 100644 --- a/packages/next-auth/src/react.tsx +++ b/packages/next-auth/src/react.tsx @@ -342,7 +342,7 @@ export async function signOut( * or the state changes (e.g. a user signs in or out) when {@link SessionProviderProps.refetchOnWindowFocus} is `true`. * * :::info - * You will likely not need `SessionProvider` if you are using the [Next.js App Router (`app/`)](https://nextjs.org/blog/next-13-4#nextjs-app-router). + * `SessionProvider` is for client-side use only and when using [Next.js App Router (`app/`)](https://nextjs.org/blog/next-13-4#nextjs-app-router) you should prefer the `auth()` export. * ::: */ export function SessionProvider(props: SessionProviderProps) { From 7eb794af997461ac02f8e3faf8767ee738d266b7 Mon Sep 17 00:00:00 2001 From: ndom91 Date: Fri, 17 May 2024 12:52:42 +0200 Subject: [PATCH 5/6] chore(docs): cleanup passkeys docs and bump docs next dep --- docs/package.json | 4 +- .../getting-started/providers/passkey.mdx | 37 +-- package.json | 1 - pnpm-lock.yaml | 218 ++++-------------- 4 files changed, 62 insertions(+), 198 deletions(-) diff --git a/docs/package.json b/docs/package.json index b425d89b5e..17463dc9c4 100644 --- a/docs/package.json +++ b/docs/package.json @@ -1,6 +1,6 @@ { "name": "docs", - "description": "Auth.js Documenation", + "description": "Auth.js Documentation", "private": true, "type": "module", "scripts": { @@ -34,7 +34,7 @@ "@vercel/kv": "^1.0.1", "algoliasearch": "^4.23.3", "classnames": "^2.5.1", - "next": "14.2.1", + "next": "14.2.3", "next-sitemap": "^4.2.3", "nextra": "3.0.0-alpha.22", "nextra-theme-docs": "3.0.0-alpha.22", diff --git a/docs/pages/getting-started/providers/passkey.mdx b/docs/pages/getting-started/providers/passkey.mdx index 7a11cb44b2..a97756b270 100644 --- a/docs/pages/getting-started/providers/passkey.mdx +++ b/docs/pages/getting-started/providers/passkey.mdx @@ -9,18 +9,21 @@ import { Accordion, Accordions } from "@/components/Accordion" ## Setup - The WebAuthn / Passkeys provider is experimental and not recommended for + The WebAuthn / Passkeys provider is experimental and not yet recommended for production use. -The WebAuthn provider requires changes to all of the framework integration as well -as any database adapter that plans to support it. Therefore, the WebAuthn provider -is currently only supported in the following framework integration and database adapters. -Support for more frameworks and adapters are coming soon.{" "} -- `next-auth@5.0.0-beta.17` or above -- `@auth/sveltekit@1.0.2` or above -- `@auth/prisma-adapter@1.3.3` or above -- `@prisma/client@5.12.0` or above +The Passkeys provider **requires a database adapter** as well as a new table in that database. Please see the docs page for your adapter for the respective migration details. + +Passkeys are currently supported in the following adapters / framework packages. + +| Package | Minmum Version | Link | +| --- | --- | --- | +| `next-auth` | `5.0.0-beta.17`| | +| `@auth/sveltekit` | `1.0.2`| | +| `@auth/prisma-adapter` | `1.3.3`| [Docs](/getting-started/adapters/prisma) | +| `@auth/unstorage-adapter` | `2.1.0`| [Docs](/getting-started/adapters/unstorage)| +| `@auth/drizzle-adapter` | `1.1.1`| [Docs](/getting-started/adapters/drizzle)| ### Install peer dependencies @@ -33,9 +36,7 @@ The `@simplewebauthn/browser` peer dependency is only required for custom signin ### Database Setup -This is the raw SQL migration, for more details including an example MongoDB migration, check out the Prisma `schema.prisma` [here](https://github.com/Maronato/next-auth/blob/main/packages/adapter-prisma/prisma/schema.prisma), or the PR adding support to Prisma [here](https://github.com/nextauthjs/next-auth/pull/9876). - -The Passkeys provider requires an additional table called `Authenticator`. Below are the updated Prisma schema and a raw SQL migration variation for both PostgreSQL and MySQL. +The Passkeys provider requires an additional table called `Authenticator`. Passkeys are now supported in multiple adapters, please see their respective docs pages for more detailed migration steps. We'll use Prisma as an example going forward here, but there is also a raw SQL migration included below. @@ -157,15 +158,15 @@ CREATE UNIQUE INDEX Authenticator_credentialID_key ON Authenticator(credentialID -### Prisma Edge Compatibility +#### Edge Compatibility -If you're using Auth.js in Next.js via middleware, you'll need to make some small adjustments as Prisma does not support edge runtimes yet. See the [Prisma adapter docs](/getting-started/adapters/prisma#edge-compatibility) for more details. +If you're using `next-auth` with Next.js and middleware, you should ensure that your database client of choice is "edge compatible". If you're using an older version of Prisma or another adapter that is not edge compatible, you'll need to make some adjustments. Check out our [edge compatibility](/guides/edge-compatibility) guide for more details. There is also Prisma specific information in the [Prisma adapter docs](/getting-started/adapters/prisma#edge-compatibility). ### Update Auth.js Configuration -Add the `Passkeys` provider to your configuration. Also make sure you're using a compatible database adapter. +Add the `Passkey` provider to your configuration and make sure you're using a compatible database adapter. You'll also need to explicitly enable the experimental WebAuthn feature. -```ts filename="./auth.ts" +```ts filename="./auth.ts" {10} import Passkey from "next-auth/providers/passkey" import { PrismaAdapter } from "@auth/prisma-adapter" import { PrismaClient } from "@prisma/client" @@ -183,9 +184,9 @@ If you're using the built-in Auth.js pages, then you are good to go now! Navigat ### Custom Pages -If you're using a custom signin page, you can leverage the `next-auth` `signIn` function to initiate a WebAuthn registration and login with the following code. Remember, when using the WebAuthn `signIn` function, you'll also need the `@simplewebauth/browser` peer dependency installed. +If you're building a custom signin page, you can leverage the `next-auth/webauthn` `signIn` function to initiate both WebAuthn registration and authentication. Remember, when using the WebAuthn `signIn` function, you'll also need the `@simplewebauth/browser` peer dependency installed. -```ts filename="app/login/page.tsx" +```ts filename="app/login/page.tsx" {4} /webauthn/ "use client" import { useSession } from "next-auth/react" diff --git a/package.json b/package.json index 6077d304f0..e2590f7044 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,6 @@ "dev:express": "turbo run dev --parallel --continue --filter=express-auth-app...", "dev:example": "turbo run dev --parallel --continue --filter=nextjs-example-app... --filter=!./packages/adapter-*", "dev:docs": "turbo run dev --filter=docs", - "dev:docs:adapters": "turbo run dev --filter=docs", "email": "fake-smtp-server", "eslint": "eslint --cache .", "lint": "prettier --cache --check .", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1dffad4bcd..101347e8d0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -142,7 +142,7 @@ importers: version: 5.8.1(prisma@5.8.1) next: specifier: 14.2.3 - version: 14.2.3(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0) + version: 14.2.3(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0) next-auth: specifier: workspace:* version: link:../../../packages/next-auth @@ -210,7 +210,7 @@ importers: version: 0.2.272(@internationalized/date@3.5.2)(@types/react@18.2.78)(prop-types@15.8.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.5) '@next/third-parties': specifier: ^14.2.1 - version: 14.2.1(next@14.2.1(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(react@18.2.0) + version: 14.2.1(next@14.2.3(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(react@18.2.0) '@oddbird/css-anchor-positioning': specifier: ^0.0.5 version: 0.0.5 @@ -222,7 +222,7 @@ importers: version: 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.78)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@vercel/analytics': specifier: ^1.2.2 - version: 1.2.2(next@14.2.1(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(react@18.2.0) + version: 1.2.2(next@14.2.3(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(react@18.2.0) '@vercel/kv': specifier: ^1.0.1 version: 1.0.1 @@ -233,17 +233,17 @@ importers: specifier: ^2.5.1 version: 2.5.1 next: - specifier: 14.2.1 - version: 14.2.1(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0) + specifier: 14.2.3 + version: 14.2.3(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0) next-sitemap: specifier: ^4.2.3 - version: 4.2.3(next@14.2.1(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0)) + version: 4.2.3(next@14.2.3(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0)) nextra: specifier: 3.0.0-alpha.22 - version: 3.0.0-alpha.22(@types/react@18.2.78)(next@14.2.1(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.5) + version: 3.0.0-alpha.22(@types/react@18.2.78)(next@14.2.3(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.5) nextra-theme-docs: specifier: 3.0.0-alpha.22 - version: 3.0.0-alpha.22(next@14.2.1(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(nextra@3.0.0-alpha.22(@types/react@18.2.78)(next@14.2.1(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.5))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 3.0.0-alpha.22(next@14.2.3(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(nextra@3.0.0-alpha.22(@types/react@18.2.78)(next@14.2.3(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.5))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react: specifier: ^18.2.0 version: 18.2.0 @@ -255,7 +255,7 @@ importers: version: 7.7.2(algoliasearch@4.23.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react-instantsearch-nextjs: specifier: ^0.2.2 - version: 0.2.2(next@14.2.1(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(react-instantsearch@7.7.2(algoliasearch@4.23.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + version: 0.2.2(next@14.2.3(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(react-instantsearch@7.7.2(algoliasearch@4.23.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) react-marquee-slider: specifier: ^1.1.5 version: 1.1.5(styled-components@5.3.6(@babel/core@7.23.9)(react-dom@18.2.0(react@18.2.0))(react-is@18.2.0)(react@18.2.0)) @@ -3203,9 +3203,6 @@ packages: '@next/env@14.0.3-canary.1': resolution: {integrity: sha512-T4+xt6KrOjbod0kuVYC0T/1o7VokwUNawHJivISUxYX1Byke0YRySkgvCKdimcEP5bMukyzLPHuR6XoFcgVP0g==} - '@next/env@14.2.1': - resolution: {integrity: sha512-qsHJle3GU3CmVx7pUoXcghX4sRN+vINkbLdH611T8ZlsP//grzqVW87BSUgOZeSAD4q7ZdZicdwNe/20U2janA==} - '@next/env@14.2.3': resolution: {integrity: sha512-W7fd7IbkfmeeY2gXrzJYDx8D2lWKbVoTIj1o1ScPHNzvp30s1AuoEFSdr39bC5sjxJaxTtq3OTCZboNp0lNWHA==} @@ -3215,12 +3212,6 @@ packages: cpu: [arm64] os: [darwin] - '@next/swc-darwin-arm64@14.2.1': - resolution: {integrity: sha512-kGjnjcIJehEcd3rT/3NAATJQndAEELk0J9GmGMXHSC75TMnvpOhONcjNHbjtcWE5HUQnIHy5JVkatrnYm1QhVw==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - '@next/swc-darwin-arm64@14.2.3': resolution: {integrity: sha512-3pEYo/RaGqPP0YzwnlmPN2puaF2WMLM3apt5jLW2fFdXD9+pqcoTzRk+iZsf8ta7+quAe4Q6Ms0nR0SFGFdS1A==} engines: {node: '>= 10'} @@ -3233,12 +3224,6 @@ packages: cpu: [x64] os: [darwin] - '@next/swc-darwin-x64@14.2.1': - resolution: {integrity: sha512-dAdWndgdQi7BK2WSXrx4lae7mYcOYjbHJUhvOUnJjMNYrmYhxbbvJ2xElZpxNxdfA6zkqagIB9He2tQk+l16ew==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - '@next/swc-darwin-x64@14.2.3': resolution: {integrity: sha512-6adp7waE6P1TYFSXpY366xwsOnEXM+y1kgRpjSRVI2CBDOcbRjsJ67Z6EgKIqWIue52d2q/Mx8g9MszARj8IEA==} engines: {node: '>= 10'} @@ -3251,12 +3236,6 @@ packages: cpu: [arm64] os: [linux] - '@next/swc-linux-arm64-gnu@14.2.1': - resolution: {integrity: sha512-2ZctfnyFOGvTkoD6L+DtQtO3BfFz4CapoHnyLTXkOxbZkVRgg3TQBUjTD/xKrO1QWeydeo8AWfZRg8539qNKrg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - '@next/swc-linux-arm64-gnu@14.2.3': resolution: {integrity: sha512-cuzCE/1G0ZSnTAHJPUT1rPgQx1w5tzSX7POXSLaS7w2nIUJUD+e25QoXD/hMfxbsT9rslEXugWypJMILBj/QsA==} engines: {node: '>= 10'} @@ -3269,12 +3248,6 @@ packages: cpu: [arm64] os: [linux] - '@next/swc-linux-arm64-musl@14.2.1': - resolution: {integrity: sha512-jazZXctiaanemy4r+TPIpFP36t1mMwWCKMsmrTRVChRqE6putyAxZA4PDujx0SnfvZHosjdkx9xIq9BzBB5tWg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - '@next/swc-linux-arm64-musl@14.2.3': resolution: {integrity: sha512-0D4/oMM2Y9Ta3nGuCcQN8jjJjmDPYpHX9OJzqk42NZGJocU2MqhBq5tWkJrUQOQY9N+In9xOdymzapM09GeiZw==} engines: {node: '>= 10'} @@ -3287,12 +3260,6 @@ packages: cpu: [x64] os: [linux] - '@next/swc-linux-x64-gnu@14.2.1': - resolution: {integrity: sha512-VjCHWCjsAzQAAo8lkBOLEIkBZFdfW+Z18qcQ056kL4KpUYc8o59JhLDCBlhg+hINQRgzQ2UPGma2AURGOH0+Qg==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - '@next/swc-linux-x64-gnu@14.2.3': resolution: {integrity: sha512-ENPiNnBNDInBLyUU5ii8PMQh+4XLr4pG51tOp6aJ9xqFQ2iRI6IH0Ds2yJkAzNV1CfyagcyzPfROMViS2wOZ9w==} engines: {node: '>= 10'} @@ -3305,12 +3272,6 @@ packages: cpu: [x64] os: [linux] - '@next/swc-linux-x64-musl@14.2.1': - resolution: {integrity: sha512-7HZKYKvAp4nAHiHIbY04finRqjeYvkITOGOurP1aLMexIFG/1+oCnqhGogBdc4lao/lkMW1c+AkwWSzSlLasqw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - '@next/swc-linux-x64-musl@14.2.3': resolution: {integrity: sha512-BTAbq0LnCbF5MtoM7I/9UeUu/8ZBY0i8SFjUMCbPDOLv+un67e2JgyN4pmgfXBwy/I+RHu8q+k+MCkDN6P9ViQ==} engines: {node: '>= 10'} @@ -3323,12 +3284,6 @@ packages: cpu: [arm64] os: [win32] - '@next/swc-win32-arm64-msvc@14.2.1': - resolution: {integrity: sha512-YGHklaJ/Cj/F0Xd8jxgj2p8po4JTCi6H7Z3Yics3xJhm9CPIqtl8erlpK1CLv+HInDqEWfXilqatF8YsLxxA2Q==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - '@next/swc-win32-arm64-msvc@14.2.3': resolution: {integrity: sha512-AEHIw/dhAMLNFJFJIJIyOFDzrzI5bAjI9J26gbO5xhAKHYTZ9Or04BesFPXiAYXDNdrwTP2dQceYA4dL1geu8A==} engines: {node: '>= 10'} @@ -3341,12 +3296,6 @@ packages: cpu: [ia32] os: [win32] - '@next/swc-win32-ia32-msvc@14.2.1': - resolution: {integrity: sha512-o+ISKOlvU/L43ZhtAAfCjwIfcwuZstiHVXq/BDsZwGqQE0h/81td95MPHliWCnFoikzWcYqh+hz54ZB2FIT8RA==} - engines: {node: '>= 10'} - cpu: [ia32] - os: [win32] - '@next/swc-win32-ia32-msvc@14.2.3': resolution: {integrity: sha512-vga40n1q6aYb0CLrM+eEmisfKCR45ixQYXuBXxOOmmoV8sYST9k7E3US32FsY+CkkF7NtzdcebiFT4CHuMSyZw==} engines: {node: '>= 10'} @@ -3359,12 +3308,6 @@ packages: cpu: [x64] os: [win32] - '@next/swc-win32-x64-msvc@14.2.1': - resolution: {integrity: sha512-GmRoTiLcvCLifujlisknv4zu9/C4i9r0ktsA8E51EMqJL4bD4CpO7lDYr7SrUxCR0tS4RVcrqKmCak24T0ohaw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - '@next/swc-win32-x64-msvc@14.2.3': resolution: {integrity: sha512-Q1/zm43RWynxrO7lW4ehciQVj+5ePBhOK+/K2P7pLFX3JaJ/IZVC69SHidrmZSOkqz7ECIOhhy7XhAFG4JYyHA==} engines: {node: '>= 10'} @@ -9626,24 +9569,6 @@ packages: sass: optional: true - next@14.2.1: - resolution: {integrity: sha512-SF3TJnKdH43PMkCcErLPv+x/DY1YCklslk3ZmwaVoyUfDgHKexuKlf9sEfBQ69w+ue8jQ3msLb+hSj1T19hGag==} - engines: {node: '>=18.17.0'} - hasBin: true - peerDependencies: - '@opentelemetry/api': ^1.1.0 - '@playwright/test': ^1.41.2 - react: ^18.2.0 - react-dom: ^18.2.0 - sass: ^1.3.0 - peerDependenciesMeta: - '@opentelemetry/api': - optional: true - '@playwright/test': - optional: true - sass: - optional: true - next@14.2.3: resolution: {integrity: sha512-dowFkFTR8v79NPJO4QsBUtxv0g9BrS/phluVpMAt2ku7H+cbcBJlopXjkWlwxrk/xGqMemr7JkGPGemPrLLX7A==} engines: {node: '>=18.17.0'} @@ -15176,7 +15101,7 @@ snapshots: '@eslint/eslintrc@1.4.1': dependencies: ajv: 6.12.6 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) espree: 9.6.1 globals: 13.24.0 ignore: 5.3.0 @@ -15775,7 +15700,7 @@ snapshots: '@humanwhocodes/config-array@0.11.14': dependencies: '@humanwhocodes/object-schema': 2.0.2 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -16299,94 +16224,65 @@ snapshots: '@next/env@14.0.3-canary.1': {} - '@next/env@14.2.1': {} - '@next/env@14.2.3': {} '@next/swc-darwin-arm64@14.0.3-canary.1': optional: true - '@next/swc-darwin-arm64@14.2.1': - optional: true - '@next/swc-darwin-arm64@14.2.3': optional: true '@next/swc-darwin-x64@14.0.3-canary.1': optional: true - '@next/swc-darwin-x64@14.2.1': - optional: true - '@next/swc-darwin-x64@14.2.3': optional: true '@next/swc-linux-arm64-gnu@14.0.3-canary.1': optional: true - '@next/swc-linux-arm64-gnu@14.2.1': - optional: true - '@next/swc-linux-arm64-gnu@14.2.3': optional: true '@next/swc-linux-arm64-musl@14.0.3-canary.1': optional: true - '@next/swc-linux-arm64-musl@14.2.1': - optional: true - '@next/swc-linux-arm64-musl@14.2.3': optional: true '@next/swc-linux-x64-gnu@14.0.3-canary.1': optional: true - '@next/swc-linux-x64-gnu@14.2.1': - optional: true - '@next/swc-linux-x64-gnu@14.2.3': optional: true '@next/swc-linux-x64-musl@14.0.3-canary.1': optional: true - '@next/swc-linux-x64-musl@14.2.1': - optional: true - '@next/swc-linux-x64-musl@14.2.3': optional: true '@next/swc-win32-arm64-msvc@14.0.3-canary.1': optional: true - '@next/swc-win32-arm64-msvc@14.2.1': - optional: true - '@next/swc-win32-arm64-msvc@14.2.3': optional: true '@next/swc-win32-ia32-msvc@14.0.3-canary.1': optional: true - '@next/swc-win32-ia32-msvc@14.2.1': - optional: true - '@next/swc-win32-ia32-msvc@14.2.3': optional: true '@next/swc-win32-x64-msvc@14.0.3-canary.1': optional: true - '@next/swc-win32-x64-msvc@14.2.1': - optional: true - '@next/swc-win32-x64-msvc@14.2.3': optional: true - '@next/third-parties@14.2.1(next@14.2.1(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(react@18.2.0)': + '@next/third-parties@14.2.1(next@14.2.3(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(react@18.2.0)': dependencies: - next: 14.2.1(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0) + next: 14.2.3(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0) react: 18.2.0 third-party-capital: 1.0.20 @@ -18206,7 +18102,7 @@ snapshots: '@typescript-eslint/type-utils': 6.19.1(eslint@8.30.0)(typescript@5.3.3) '@typescript-eslint/utils': 6.19.1(eslint@8.30.0)(typescript@5.3.3) '@typescript-eslint/visitor-keys': 6.19.1 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) eslint: 8.30.0 graphemer: 1.4.0 ignore: 5.3.0 @@ -18223,7 +18119,7 @@ snapshots: '@typescript-eslint/scope-manager': 4.33.0 '@typescript-eslint/types': 4.33.0 '@typescript-eslint/typescript-estree': 4.33.0(typescript@5.3.3) - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) eslint: 8.30.0 optionalDependencies: typescript: 5.3.3 @@ -18236,7 +18132,7 @@ snapshots: '@typescript-eslint/types': 6.19.1 '@typescript-eslint/typescript-estree': 6.19.1(typescript@5.3.3) '@typescript-eslint/visitor-keys': 6.19.1 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) eslint: 8.30.0 optionalDependencies: typescript: 5.3.3 @@ -18257,7 +18153,7 @@ snapshots: dependencies: '@typescript-eslint/typescript-estree': 6.19.1(typescript@5.3.3) '@typescript-eslint/utils': 6.19.1(eslint@8.30.0)(typescript@5.3.3) - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) eslint: 8.30.0 ts-api-utils: 1.0.3(typescript@5.3.3) optionalDependencies: @@ -18273,7 +18169,7 @@ snapshots: dependencies: '@typescript-eslint/types': 4.33.0 '@typescript-eslint/visitor-keys': 4.33.0 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 semver: 7.5.4 @@ -18287,7 +18183,7 @@ snapshots: dependencies: '@typescript-eslint/types': 6.19.1 '@typescript-eslint/visitor-keys': 6.19.1 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 @@ -18338,11 +18234,11 @@ snapshots: dependencies: crypto-js: 4.2.0 - '@vercel/analytics@1.2.2(next@14.2.1(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(react@18.2.0)': + '@vercel/analytics@1.2.2(next@14.2.3(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(react@18.2.0)': dependencies: server-only: 0.0.1 optionalDependencies: - next: 14.2.1(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0) + next: 14.2.3(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0) react: 18.2.0 '@vercel/kv@1.0.1': @@ -18353,7 +18249,7 @@ snapshots: dependencies: '@ampproject/remapping': 2.2.1 '@bcoe/v8-coverage': 0.2.3 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 4.0.1 @@ -20751,10 +20647,6 @@ snapshots: dependencies: ms: 2.1.3 - debug@4.3.4: - dependencies: - ms: 2.1.2 - debug@4.3.4(supports-color@5.5.0): dependencies: ms: 2.1.2 @@ -21401,7 +21293,7 @@ snapshots: dependencies: '@es-joy/jsdoccomment': 0.36.1 comment-parser: 1.3.1 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) escape-string-regexp: 4.0.0 eslint: 8.30.0 esquery: 1.5.0 @@ -21448,7 +21340,7 @@ snapshots: dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.30.0) '@jridgewell/sourcemap-codec': 1.4.15 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) eslint: 8.30.0 eslint-compat-utils: 0.5.0(eslint@8.30.0) esutils: 2.0.3 @@ -21494,7 +21386,7 @@ snapshots: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -23128,7 +23020,7 @@ snapshots: istanbul-lib-source-maps@4.0.1: dependencies: - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: @@ -24825,17 +24717,17 @@ snapshots: neo4j-driver-core: 5.16.0 rxjs: 7.8.1 - next-sitemap@4.2.3(next@14.2.1(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0)): + next-sitemap@4.2.3(next@14.2.3(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0)): dependencies: '@corex/deepmerge': 4.0.43 '@next/env': 13.5.6 fast-glob: 3.3.2 minimist: 1.2.8 - next: 14.2.1(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0) + next: 14.2.3(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0) - next-themes@0.2.1(next@14.2.1(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + next-themes@0.2.1(next@14.2.3(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: - next: 14.2.1(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0) + next: 14.2.3(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -24868,35 +24760,7 @@ snapshots: - '@babel/core' - babel-plugin-macros - next@14.2.1(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0): - dependencies: - '@next/env': 14.2.1 - '@swc/helpers': 0.5.5 - busboy: 1.6.0 - caniuse-lite: 1.0.30001594 - graceful-fs: 4.2.11 - postcss: 8.4.31 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - styled-jsx: 5.1.1(@babel/core@7.23.9)(react@18.2.0) - optionalDependencies: - '@next/swc-darwin-arm64': 14.2.1 - '@next/swc-darwin-x64': 14.2.1 - '@next/swc-linux-arm64-gnu': 14.2.1 - '@next/swc-linux-arm64-musl': 14.2.1 - '@next/swc-linux-x64-gnu': 14.2.1 - '@next/swc-linux-x64-musl': 14.2.1 - '@next/swc-win32-arm64-msvc': 14.2.1 - '@next/swc-win32-ia32-msvc': 14.2.1 - '@next/swc-win32-x64-msvc': 14.2.1 - '@opentelemetry/api': 1.7.0 - '@playwright/test': 1.41.2 - sass: 1.70.0 - transitivePeerDependencies: - - '@babel/core' - - babel-plugin-macros - - next@14.2.3(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0): + next@14.2.3(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0): dependencies: '@next/env': 14.2.3 '@swc/helpers': 0.5.5 @@ -24924,7 +24788,7 @@ snapshots: - '@babel/core' - babel-plugin-macros - nextra-theme-docs@3.0.0-alpha.22(next@14.2.1(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(nextra@3.0.0-alpha.22(@types/react@18.2.78)(next@14.2.1(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.5))(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + nextra-theme-docs@3.0.0-alpha.22(next@14.2.3(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(nextra@3.0.0-alpha.22(@types/react@18.2.78)(next@14.2.3(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.5))(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: '@headlessui/react': 1.7.18(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@popperjs/core': 2.11.8 @@ -24933,15 +24797,15 @@ snapshots: flexsearch: 0.7.43 focus-visible: 5.2.0 intersection-observer: 0.12.2 - next: 14.2.1(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0) - next-themes: 0.2.1(next@14.2.1(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - nextra: 3.0.0-alpha.22(@types/react@18.2.78)(next@14.2.1(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.5) + next: 14.2.3(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0) + next-themes: 0.2.1(next@14.2.3(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + nextra: 3.0.0-alpha.22(@types/react@18.2.78)(next@14.2.3(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.5) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) scroll-into-view-if-needed: 3.1.0 zod: 3.22.4 - nextra@3.0.0-alpha.22(@types/react@18.2.78)(next@14.2.1(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.5): + nextra@3.0.0-alpha.22(@types/react@18.2.78)(next@14.2.3(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.5): dependencies: '@headlessui/react': 1.7.18(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@mdx-js/mdx': 3.0.0 @@ -24959,7 +24823,7 @@ snapshots: gray-matter: 4.0.3 hast-util-to-estree: 3.1.0 katex: 0.16.9 - next: 14.2.1(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0) + next: 14.2.3(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0) p-limit: 4.0.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -26159,9 +26023,9 @@ snapshots: react: 18.2.0 use-sync-external-store: 1.2.0(react@18.2.0) - react-instantsearch-nextjs@0.2.2(next@14.2.1(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(react-instantsearch@7.7.2(algoliasearch@4.23.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)): + react-instantsearch-nextjs@0.2.2(next@14.2.3(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(react-instantsearch@7.7.2(algoliasearch@4.23.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)): dependencies: - next: 14.2.1(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0) + next: 14.2.3(@babel/core@7.23.9)(@opentelemetry/api@1.7.0)(@playwright/test@1.41.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0) react-instantsearch: 7.7.2(algoliasearch@4.23.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react-instantsearch@7.7.2(algoliasearch@4.23.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0): @@ -28397,7 +28261,7 @@ snapshots: vite-node@1.2.2(@types/node@20.11.7)(sass@1.70.0)(terser@5.27.0): dependencies: cac: 6.7.14 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) pathe: 1.1.2 picocolors: 1.0.0 vite: 5.0.13(@types/node@20.11.7)(sass@1.70.0)(terser@5.27.0) @@ -28490,7 +28354,7 @@ snapshots: acorn-walk: 8.3.2 cac: 6.7.14 chai: 4.4.1 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) execa: 8.0.1 local-pkg: 0.5.0 magic-string: 0.30.5 From 5e7d25febb223e3b0814acc569c06ae2b8b91149 Mon Sep 17 00:00:00 2001 From: ndom91 Date: Fri, 17 May 2024 12:56:31 +0200 Subject: [PATCH 6/6] chore(docs): prettier --- docs/pages/getting-started/providers/passkey.mdx | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/pages/getting-started/providers/passkey.mdx b/docs/pages/getting-started/providers/passkey.mdx index a97756b270..ae1dff2db2 100644 --- a/docs/pages/getting-started/providers/passkey.mdx +++ b/docs/pages/getting-started/providers/passkey.mdx @@ -17,13 +17,13 @@ The Passkeys provider **requires a database adapter** as well as a new table in Passkeys are currently supported in the following adapters / framework packages. -| Package | Minmum Version | Link | -| --- | --- | --- | -| `next-auth` | `5.0.0-beta.17`| | -| `@auth/sveltekit` | `1.0.2`| | -| `@auth/prisma-adapter` | `1.3.3`| [Docs](/getting-started/adapters/prisma) | -| `@auth/unstorage-adapter` | `2.1.0`| [Docs](/getting-started/adapters/unstorage)| -| `@auth/drizzle-adapter` | `1.1.1`| [Docs](/getting-started/adapters/drizzle)| +| Package | Minmum Version | Link | +| ------------------------- | --------------- | ------------------------------------------- | +| `next-auth` | `5.0.0-beta.17` | | +| `@auth/sveltekit` | `1.0.2` | | +| `@auth/prisma-adapter` | `1.3.3` | [Docs](/getting-started/adapters/prisma) | +| `@auth/unstorage-adapter` | `2.1.0` | [Docs](/getting-started/adapters/unstorage) | +| `@auth/drizzle-adapter` | `1.1.1` | [Docs](/getting-started/adapters/drizzle) | ### Install peer dependencies