From 035836da98559e0ab91e674ad58138ce0fd8fa81 Mon Sep 17 00:00:00 2001 From: Richard Shin <39282962+rshin7@users.noreply.github.com> Date: Sat, 21 Jan 2023 04:29:45 -0500 Subject: [PATCH 01/31] chore(next-auth): remove `engines` restriction (#6428) * fix: add node 19 as compatible engine * remove engines restriction Co-authored-by: Thang Vu --- packages/next-auth/package.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/packages/next-auth/package.json b/packages/next-auth/package.json index 96445984..6732720d 100644 --- a/packages/next-auth/package.json +++ b/packages/next-auth/package.json @@ -126,8 +126,5 @@ "react": "^18", "react-dom": "^18", "whatwg-fetch": "^3.6.2" - }, - "engines": { - "node": "^12.19.0 || ^14.15.0 || ^16.13.0 || ^18.12.0" } } From b4d6ed5f5fdf3a1a51f7960fcc7454f9fd398632 Mon Sep 17 00:00:00 2001 From: Thang Vu Date: Sun, 22 Jan 2023 01:30:42 +0700 Subject: [PATCH 02/31] feat(providers): add Asgardeo provider (#6452) * implement asgardeo auth provider * Import asgardeo provider in to providers * Improve provider configuration * simplify and improve the asgardeo provider * Delete package-lock.json * converted server origin to organization * revamp provider configs * update profile interface * Remove asgardeo issuer parameter and add docs * fixed docs * Update asgardeo.md * Update docs and provider branding * Remove mistakenly added code from dev app * move to core * Delete asgardeo.md Co-authored-by: Yathindra Co-authored-by: Yathindra Kodithuwakku <32919513+yathindrakodithuwakku@users.noreply.github.com> Co-authored-by: Yathindra Kodithuwakku <32919513+yathindrak@users.noreply.github.com> --- .github/ISSUE_TEMPLATE/2_bug_provider.yml | 1 + apps/dev/nextjs/.env.local.example | 4 + .../nextjs/pages/api/auth/[...nextauth].ts | 2 + docs/static/img/providers/asgardeo-dark.svg | 7 ++ docs/static/img/providers/asgardeo.svg | 7 ++ packages/core/src/providers/asgardeo.ts | 112 ++++++++++++++++++ 6 files changed, 133 insertions(+) create mode 100644 docs/static/img/providers/asgardeo-dark.svg create mode 100644 docs/static/img/providers/asgardeo.svg create mode 100644 packages/core/src/providers/asgardeo.ts diff --git a/.github/ISSUE_TEMPLATE/2_bug_provider.yml b/.github/ISSUE_TEMPLATE/2_bug_provider.yml index 28f54450..c256568a 100644 --- a/.github/ISSUE_TEMPLATE/2_bug_provider.yml +++ b/.github/ISSUE_TEMPLATE/2_bug_provider.yml @@ -25,6 +25,7 @@ body: - "Custom provider" - "42 School" - "Apple" + - "Asgardeo" - "Atlassian" - "Auth0" - "Authentik" diff --git a/apps/dev/nextjs/.env.local.example b/apps/dev/nextjs/.env.local.example index fa6a263d..958ce630 100644 --- a/apps/dev/nextjs/.env.local.example +++ b/apps/dev/nextjs/.env.local.example @@ -9,6 +9,10 @@ NEXTAUTH_URL=http://localhost:3000 # and/or verification tokens. NEXTAUTH_SECRET=secret +ASGARDEO_CLIENT_ID= +ASGARDEO_CLIENT_SECRET= +ASGARDEO_ISSUER= + AUTH0_ID= AUTH0_SECRET= AUTH0_ISSUER= diff --git a/apps/dev/nextjs/pages/api/auth/[...nextauth].ts b/apps/dev/nextjs/pages/api/auth/[...nextauth].ts index c0885779..25b8c1d8 100644 --- a/apps/dev/nextjs/pages/api/auth/[...nextauth].ts +++ b/apps/dev/nextjs/pages/api/auth/[...nextauth].ts @@ -2,6 +2,7 @@ import { Auth, type AuthConfig } from "@auth/core" // Providers import Apple from "@auth/core/providers/apple" +import Asgardeo from "@auth/core/providers/asgardeo" import Auth0 from "@auth/core/providers/auth0" import AzureAD from "@auth/core/providers/azure-ad" import AzureB2C from "@auth/core/providers/azure-ad-b2c" @@ -82,6 +83,7 @@ export const authConfig: AuthConfig = { }, }), Apple({ clientId: process.env.APPLE_ID, clientSecret: process.env.APPLE_SECRET }), + Asgardeo({ clientId: process.env.ASGARDEO_CLIENT_ID, clientSecret: process.env.ASGARDEO_CLIENT_SECRET, issuer: process.env.ASGARDEO_ISSUER }), Auth0({ clientId: process.env.AUTH0_ID, clientSecret: process.env.AUTH0_SECRET, issuer: process.env.AUTH0_ISSUER }), AzureAD({ clientId: process.env.AZURE_AD_CLIENT_ID, diff --git a/docs/static/img/providers/asgardeo-dark.svg b/docs/static/img/providers/asgardeo-dark.svg new file mode 100644 index 00000000..18eb0027 --- /dev/null +++ b/docs/static/img/providers/asgardeo-dark.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/static/img/providers/asgardeo.svg b/docs/static/img/providers/asgardeo.svg new file mode 100644 index 00000000..2ff92735 --- /dev/null +++ b/docs/static/img/providers/asgardeo.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/packages/core/src/providers/asgardeo.ts b/packages/core/src/providers/asgardeo.ts new file mode 100644 index 00000000..d640a845 --- /dev/null +++ b/packages/core/src/providers/asgardeo.ts @@ -0,0 +1,112 @@ +/** + *
+ * Built-in Asgardeo integration. + * + * + * + *
+ * + * --- + * @module providers/asgardeo + */ + +import type { OIDCConfig, OIDCUserConfig } from "./index.js" + +export interface AsgardeoProfile { + sub: string + given_name: string + email: string + picture: string +} + +/** + * Add Asgardeo login to your page. + * ## Documentation + * + * https://wso2.com/asgardeo/docs/guides/authentication + * + * + * ## Instructions + * + * - Log into https://console.asgardeo.io. + * - Next, go to "Application" tab (More info: https://wso2.com/asgardeo/docs/guides/applications/register-oidc-web-app/). + * - Register standard based - Open id connect, application. + * - Add callback URL: http://localhost:3000/api/auth/callback/asgardeo and https://your-domain.com/api/auth/callback/asgardeo + * - After registering the application, go to protocol tab. + * - Check `code` grant type. + * - Add Authorized redirect URLs & Allowed origins fields. + * - Make Email, First Name, Photo URL user attributes mandatory from the console. + * + * Create a `.env` file in the project root add the following entries: + * + * These values can be collected from the application created. + * + * ``` + * ASGARDEO_CLIENT_ID= + * ASGARDEO_CLIENT_SECRET= + * ASGARDEO_ISSUER= + * ``` + * + * In `pages/api/auth/[...nextauth].js` find or add the `Asgardeo` entries: + * + * ```js + * import Asgardeo from "next-auth/providers/asgardeo"; + * ... + * providers: [ + * Asgardeo({ + * clientId: process.env.ASGARDEO_CLIENT_ID, + * clientSecret: process.env.ASGARDEO_CLIENT_SECRET, + * issuer: process.env.ASGARDEO_ISSUER + * }), + * ], + * + * ... + * ``` + * + * ## Resources + * + * @see [Asgardeo - Authentication Guide](https://wso2.com/asgardeo/docs/guides/authentication) + * @see [Learn more about OAuth](https://authjs.dev/concepts/oauth) + * @see [Source code](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/asgardeo.ts) + * + * ## Notes + * + * By default, Auth.js assumes that the Asgardeo provider is + * based on the [OAuth 2](https://www.rfc-editor.org/rfc/rfc6749.html) specification. + * + * :::tip + * + * The Asgardeo provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/asgardeo.ts). + * To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/providers/custom-provider#override-default-options). + * + * ::: + * + * :::info **Disclaimer** + * + * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue). + * + * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from + * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec, + * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions). + * + * ::: + */ +export default function Asgardeo( + config: OIDCUserConfig +): OIDCConfig { + return { + id: "asgardeo", + name: "Asgardeo", + type: "oidc", + wellKnown: `${config?.issuer}/oauth2/token/.well-known/openid-configuration`, + style: { + logo: "/asgardeo.svg", + logoDark: "/asgardeo-dark.svg", + bg: "#fff", + text: "#000", + bgDark: "#000", + textDark: "#fff", + }, + options: config, + } +} From 557fb9d741fc47db7d64f9f232a0915958435b04 Mon Sep 17 00:00:00 2001 From: Thang Vu Date: Mon, 23 Jan 2023 12:28:48 +0700 Subject: [PATCH 03/31] chore: ignore e2e actions in forks --- .github/workflows/release.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 34e91599..62d59543 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -36,6 +36,7 @@ jobs: TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} TURBO_TEAM: ${{ secrets.TURBO_TEAM }} - name: Run E2E tests + if: github.repository == 'nextauthjs/next-auth' run: pnpm e2e timeout-minutes: 15 env: @@ -44,6 +45,7 @@ jobs: TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} TURBO_TEAM: ${{ secrets.TURBO_TEAM }} - name: Upload E2E artifacts + if: github.repository == 'nextauthjs/next-auth' uses: actions/upload-artifact@v3 if: always() with: From 128e0f3a1015cda44d5905137c8015c587ee93f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Orb=C3=A1n?= Date: Mon, 23 Jan 2023 13:40:45 +0100 Subject: [PATCH 04/31] docs: update RBAC guide --- docs/docs/getting-started/05-typescript.md | 2 +- .../03-basics/role-based-login-strategy.md | 159 ++++++++++++++---- 2 files changed, 125 insertions(+), 36 deletions(-) diff --git a/docs/docs/getting-started/05-typescript.md b/docs/docs/getting-started/05-typescript.md index e205c870..b78adaa6 100644 --- a/docs/docs/getting-started/05-typescript.md +++ b/docs/docs/getting-started/05-typescript.md @@ -5,7 +5,7 @@ title: TypeScript Auth.js has its own type definitions to use in your TypeScript projects safely. Even if you don't use TypeScript, IDEs like VSCode will pick this up to provide you with a better developer experience. While you are typing, you will get suggestions about what certain objects/functions look like, and sometimes links to documentation, examples, and other valuable resources. Check out the example repository showcasing how to use `next-auth` on a Next.js application with TypeScript: -https://github.com/nextauthjs/next-auth-typescript-example +https://github.com/nextauthjs/next-auth-example --- diff --git a/docs/docs/guides/03-basics/role-based-login-strategy.md b/docs/docs/guides/03-basics/role-based-login-strategy.md index 299909fa..2b5a00c1 100644 --- a/docs/docs/guides/03-basics/role-based-login-strategy.md +++ b/docs/docs/guides/03-basics/role-based-login-strategy.md @@ -1,64 +1,153 @@ --- -title: Role based logins +title: Role-based authentication --- -To add role based authentication to your application, you must do three things. +There are two ways to add role-based authentication (RBAC) to your application, based on the [session strategy](/concepts/session-strategies) you choose. Let's see an example for each of these. -1. Update your database schema -2. Add the `role` to the session object -3. Check for `role` in your pages/components +## Getting the role -First modify the `user` table and add a `role` column with the type of `String?`. +We are going to start by adding a `profile()` callback to the providers' config to determine the user role: -Below is an example Prisma schema file. +```ts title="/pages/api/auth/[...nextauth].ts" +import NextAuth from "next-auth" +import Google from "next-auth/providers/google" -```javascript title="/prisma/schema.prisma" +export default NextAuth({ + providers: [ + Google({ + profile(profile) { + return { role: profile.role ?? "user", ... } + }, + ... + }) + ], +}) +``` + +:::tip +To determine the user's role, you can either add your logic or if your provider assigns roles already, use that instead. +::: + +## Persisting the role +### With JWT + +When you don't have a database configured, the role will be persisted in a cookie, by using the `jwt()` callback. On sign-in, the `role` property is exposed from the `profile` callback on the `user` object. Persist the `user.role` value by assigning it to `token.role`. That's it! + +If you also want to use the role on the client, you can expose it via the `session` callback. + +```ts title="/pages/api/auth/[...nextauth].ts" +import NextAuth from "next-auth" +import Google from "next-auth/providers/google" + +export default NextAuth({ + providers: [ + Google({ + profile(profile) { + return { role: profile.role ?? "user", ... } + }, + ... + }) + ], + // highlight-start + callbacks: { + jwt({ token, user }) { + if(user) token.role = user.role + return token + }, + session({ session, token }) { + session.user.role = token.role + return session + } + } + // highlight-end +}) +``` + +:::info +With this strategy, if you want to update the role, the user needs to be forced to sign in again. +::: + +### With Database + +When you have a database, you can save the user role on the [User model](/reference/adapters/models#user). The below example is showing you how to do this with Prisma, but the idea is the same for all adapters. + +First, add a `role` column to the User model. + +```ts title="/prisma/schema.prisma" model User { id String @id @default(cuid()) name String? email String? @unique emailVerified DateTime? image String? - role String? // New Column + role String? // New column accounts Account[] sessions Session[] } - ``` -Next, implement a custom session callback in the `[...nextauth].js` file, as shown below. +The `profile()` callback's return value is used to create users in the database. That's it! Your newly created users will now have an assigned role. -```javascript title="/pages/api/auth/[...nextauth].js" -callbacks: { - async session({ session, token, user }) { - session.user.role = user.role; // Add role value to user object so it is passed along with session - return session; -}, +If you also want to use the role on the client, you can expose it via the `session` callback. + +```ts title="/pages/api/auth/[...nextauth].ts" +import NextAuth from "next-auth" +import Google from "next-auth/providers/google" + // highlight-next-line +import prisma from "lib/prisma" + +export default NextAuth({ + // highlight-next-line + adapter: PrismaAdapter(prisma), + providers: [ + Google({ + profile(profile) { + return { role: profile.role ?? "user", ... } + } + ... + }) + ], + // highlight-start + callbacks: { + session({ session, user }) { + session.user.role = user.role + return session + } + } + // highlight-end +}) ``` -Going forward, when using the `getSession` hook, check that `session.user.role` matches the required role. The example below assumes the role `'admin'` is required. +:::info +It is up to you how you want to manage to update the roles, either through direct database access or building your role update API. +::: -```javascript title="/pages/admin.js" -import { getSession } from "next-auth/react" +## Using the role + +If you want to use the role in the client, for both cases above, when using the `useSession` hook, `session.user.role` will have the required role if you exposed it via the `session` callback. You can use this to render a different UI for different users. + +```ts title="/pages/admin.tsx" +import { useSession } from "next-auth/react" export default function Page() { - const session = await getSession({ req }) + const session = await useSession() - if (session && session.user.role === "admin") { - return ( -
-

Admin

-

Welcome to the Admin Portal!

-
- ) - } else { - return ( -
-

You are not authorized to view this page!

-
- ) + if (session?.user.role === "admin") { + return

You are an admin, welcome!

} + + return

You are not authorized to view this page!

} ``` -Then it is up to you how you manage your roles, either through direct database access or building your own role update API. +:::tip +When using Next.js and JWT, you can alternatively also use [Middleware](https://next-auth.js.org/configuration/nextjs#wrap-middleware) to redirect the user based on their role, even before rendering the page. +::: + +## Resources + +- [Concepts: Session strategies](/concepts/session-strategies) +- [Next.js: Middleware](https://next-auth.js.org/configuration/nextjs#wrap-middleware) +- [Adapters: User model](/reference/adapters/models#user) +- [Adapters: Prisma adapter](/reference/adapters/prisma) +- [TypeScript](/getting-started/typescript) \ No newline at end of file From bd032335eb3e7b3aabb5fb3d3daf5a7cc344b367 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Orb=C3=A1n?= Date: Mon, 23 Jan 2023 13:41:21 +0100 Subject: [PATCH 05/31] docs: rename file --- ...{role-based-login-strategy.md => role-based-authentication.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/docs/guides/03-basics/{role-based-login-strategy.md => role-based-authentication.md} (100%) diff --git a/docs/docs/guides/03-basics/role-based-login-strategy.md b/docs/docs/guides/03-basics/role-based-authentication.md similarity index 100% rename from docs/docs/guides/03-basics/role-based-login-strategy.md rename to docs/docs/guides/03-basics/role-based-authentication.md From fbcfedf0e80d14199d74f1d8599e38a788b42fb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Orb=C3=A1n?= Date: Tue, 24 Jan 2023 02:21:09 +0100 Subject: [PATCH 06/31] fix(providers): default image to `null` for Azure AD --- packages/core/src/providers/azure-ad.ts | 31 ++++++++++++------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/packages/core/src/providers/azure-ad.ts b/packages/core/src/providers/azure-ad.ts index 39e85faa..3e991b92 100644 --- a/packages/core/src/providers/azure-ad.ts +++ b/packages/core/src/providers/azure-ad.ts @@ -34,22 +34,21 @@ export default function AzureAD

( ) // Confirm that profile photo was returned - if (response.ok) { - const pictureBuffer = await response.arrayBuffer() - const pictureBase64 = Buffer.from(pictureBuffer).toString("base64") - return { - id: profile.sub, - name: profile.name, - email: profile.email, - image: `data:image/jpeg;base64, ${pictureBase64}`, - } - } else { - return { - id: profile.sub, - name: profile.name, - email: profile.email, - image: null, - } + let image + // TODO: Do this without Buffer + if (response.ok && typeof Buffer !== "undefined") { + try { + const pictureBuffer = await response.arrayBuffer() + const pictureBase64 = Buffer.from(pictureBuffer).toString("base64") + image = `data:image/jpeg;base64, ${pictureBase64}` + } catch {} + } + + return { + id: profile.sub, + name: profile.name, + email: profile.email, + image: image ?? null, } }, style: { From c31718ca10abdf7c40f5a9ccdc16b48bbbb2745c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Orb=C3=A1n?= Date: Tue, 24 Jan 2023 02:21:56 +0100 Subject: [PATCH 07/31] fix(core): sign cookies with built-in jwt methods (#6488) --- .../core/src/lib/oauth/authorization-url.ts | 71 ++------ packages/core/src/lib/oauth/callback.ts | 13 +- packages/core/src/lib/oauth/checks.ts | 155 ++++++++++++++++++ packages/core/src/lib/oauth/nonce-handler.ts | 77 --------- packages/core/src/lib/oauth/pkce-handler.ts | 87 ---------- packages/core/src/lib/oauth/state-handler.ts | 72 -------- 6 files changed, 173 insertions(+), 302 deletions(-) create mode 100644 packages/core/src/lib/oauth/checks.ts delete mode 100644 packages/core/src/lib/oauth/nonce-handler.ts delete mode 100644 packages/core/src/lib/oauth/pkce-handler.ts delete mode 100644 packages/core/src/lib/oauth/state-handler.ts diff --git a/packages/core/src/lib/oauth/authorization-url.ts b/packages/core/src/lib/oauth/authorization-url.ts index 81b8af7f..169588da 100644 --- a/packages/core/src/lib/oauth/authorization-url.ts +++ b/packages/core/src/lib/oauth/authorization-url.ts @@ -1,7 +1,7 @@ +import * as checks from "./checks.js" import * as o from "oauth4webapi" import type { - CookiesOptions, InternalOptions, RequestInternal, ResponseInternal, @@ -58,10 +58,10 @@ export async function getAuthorizationUrl( const cookies: Cookie[] = [] - if (provider.checks?.includes("state")) { - const { value, raw } = await createState(options) - authParams.set("state", raw) - cookies.push(value) + const state = await checks.state.create(options) + if (state) { + authParams.set("state", state.value) + cookies.push(state.cookie) } if (provider.checks?.includes("pkce")) { @@ -70,17 +70,17 @@ export async function getAuthorizationUrl( // a random `nonce` must be used for CSRF protection. provider.checks = ["nonce"] } else { - const { code_challenge, pkce } = await createPKCE(options) - authParams.set("code_challenge", code_challenge) + const { value, cookie } = await checks.pkce.create(options) + authParams.set("code_challenge", value) authParams.set("code_challenge_method", "S256") - cookies.push(pkce) + cookies.push(cookie) } } - if (provider.checks?.includes("nonce")) { - const nonce = await createNonce(options) + const nonce = await checks.nonce.create(options) + if (nonce) { authParams.set("nonce", nonce.value) - cookies.push(nonce) + cookies.push(nonce.cookie) } // TODO: This does not work in normalizeOAuth because authorization endpoint can come from discovery @@ -92,52 +92,3 @@ export async function getAuthorizationUrl( logger.debug("authorization url is ready", { url, cookies, provider }) return { redirect: url, cookies } } - -/** Returns a signed cookie. */ -export async function signCookie( - type: keyof CookiesOptions, - value: string, - maxAge: number, - options: InternalOptions<"oauth"> -): Promise { - const { cookies, jwt, logger } = options - - logger.debug(`CREATE_${type.toUpperCase()}`, { value, maxAge }) - - const expires = new Date() - expires.setTime(expires.getTime() + maxAge * 1000) - return { - name: cookies[type].name, - value: await jwt.encode({ ...jwt, maxAge, token: { value } }), - options: { ...cookies[type].options, expires }, - } -} - -const STATE_MAX_AGE = 60 * 15 // 15 minutes in seconds -async function createState(options: InternalOptions<"oauth">) { - const raw = o.generateRandomState() - const maxAge = STATE_MAX_AGE - const value = await signCookie("state", raw, maxAge, options) - return { value, raw } -} - -const PKCE_MAX_AGE = 60 * 15 // 15 minutes in seconds -async function createPKCE(options: InternalOptions<"oauth">) { - const code_verifier = o.generateRandomCodeVerifier() - const code_challenge = await o.calculatePKCECodeChallenge(code_verifier) - const maxAge = PKCE_MAX_AGE - const pkce = await signCookie( - "pkceCodeVerifier", - code_verifier, - maxAge, - options - ) - return { code_challenge, pkce } -} - -const NONCE_MAX_AGE = 60 * 15 // 15 minutes in seconds -async function createNonce(options: InternalOptions<"oauth">) { - const raw = o.generateRandomNonce() - const maxAge = NONCE_MAX_AGE - return await signCookie("nonce", raw, maxAge, options) -} diff --git a/packages/core/src/lib/oauth/callback.ts b/packages/core/src/lib/oauth/callback.ts index 925560bb..61cc6b3d 100644 --- a/packages/core/src/lib/oauth/callback.ts +++ b/packages/core/src/lib/oauth/callback.ts @@ -1,8 +1,6 @@ +import * as checks from "./checks.js" import * as o from "oauth4webapi" import { OAuthCallbackError, OAuthProfileParseError } from "../../errors.js" -import { useNonce } from "./nonce-handler.js" -import { usePKCECodeVerifier } from "./pkce-handler.js" -import { useState } from "./state-handler.js" import type { InternalOptions, @@ -73,7 +71,7 @@ export async function handleOAuth( const resCookies: Cookie[] = [] - const state = await useState(cookies, resCookies, options) + const state = await checks.state.use(cookies, resCookies, options) const parameters = o.validateAuthResponse( as, @@ -91,7 +89,7 @@ export async function handleOAuth( throw new OAuthCallbackError(parameters.error) } - const codeVerifier = await usePKCECodeVerifier( + const codeVerifier = await checks.pkce.use( cookies?.[options.cookies.pkceCodeVerifier.name], options ) @@ -99,7 +97,10 @@ export async function handleOAuth( if (codeVerifier) resCookies.push(codeVerifier.cookie) // TODO: - const nonce = await useNonce(cookies?.[options.cookies.nonce.name], options) + const nonce = await checks.nonce.use( + cookies?.[options.cookies.nonce.name], + options + ) if (nonce && provider.type === "oidc") { resCookies.push(nonce.cookie) } diff --git a/packages/core/src/lib/oauth/checks.ts b/packages/core/src/lib/oauth/checks.ts new file mode 100644 index 00000000..d0f336d9 --- /dev/null +++ b/packages/core/src/lib/oauth/checks.ts @@ -0,0 +1,155 @@ +import * as o from "oauth4webapi" +import * as jwt from "../../jwt.js" + +import type { + InternalOptions, + RequestInternal, + CookiesOptions, +} from "../../types.js" +import type { Cookie } from "../cookie.js" + +import { InvalidState } from "../../errors.js" + +/** Returns a signed cookie. */ +export async function signCookie( + type: keyof CookiesOptions, + value: string, + maxAge: number, + options: InternalOptions<"oauth"> +): Promise { + const { cookies, logger } = options + + logger.debug(`CREATE_${type.toUpperCase()}`, { value, maxAge }) + + const expires = new Date() + expires.setTime(expires.getTime() + maxAge * 1000) + return { + name: cookies[type].name, + value: await jwt.encode({ ...options.jwt, maxAge, token: { value } }), + options: { ...cookies[type].options, expires }, + } +} + +const PKCE_MAX_AGE = 60 * 15 // 15 minutes in seconds +export const pkce = { + async create(options: InternalOptions<"oauth">) { + const code_verifier = o.generateRandomCodeVerifier() + const value = await o.calculatePKCECodeChallenge(code_verifier) + const maxAge = PKCE_MAX_AGE + const cookie = await signCookie( + "pkceCodeVerifier", + code_verifier, + maxAge, + options + ) + return { cookie, value } + }, + + /** + * Returns code_verifier if provider uses PKCE, + * and clears the container cookie afterwards. + */ + async use( + codeVerifier: string | undefined, + options: InternalOptions<"oauth"> + ): Promise<{ codeVerifier: string; cookie: Cookie } | undefined> { + const { cookies, provider } = options + + if (!provider?.checks?.includes("pkce") || !codeVerifier) { + return + } + + const pkce = (await jwt.decode({ + ...options.jwt, + token: codeVerifier, + })) as any + + return { + codeVerifier: pkce?.value ?? undefined, + cookie: { + name: cookies.pkceCodeVerifier.name, + value: "", + options: { ...cookies.pkceCodeVerifier.options, maxAge: 0 }, + }, + } + }, +} + +const STATE_MAX_AGE = 60 * 15 // 15 minutes in seconds +export const state = { + async create(options: InternalOptions<"oauth">) { + if (!options.provider.checks.includes("state")) return + // TODO: support customizing the state + const value = o.generateRandomState() + const maxAge = STATE_MAX_AGE + const cookie = await signCookie("state", value, maxAge, options) + return { cookie, value } + }, + /** + * Returns state from the saved cookie + * if the provider supports states, + * and clears the container cookie afterwards. + */ + async use( + cookies: RequestInternal["cookies"], + resCookies: Cookie[], + options: InternalOptions<"oauth"> + ): Promise { + const { provider, jwt } = options + if (!provider.checks.includes("state")) return + + const state = cookies?.[options.cookies.state.name] + + if (!state) throw new InvalidState("State was missing from the cookies.") + + // IDEA: Let the user do something with the returned state + const value = (await jwt.decode({ ...options.jwt, token: state })) as any + + if (!value?.value) throw new InvalidState("Could not parse state cookie.") + + // Clear the state cookie after use + resCookies.push({ + name: options.cookies.state.name, + value: "", + options: { ...options.cookies.state.options, maxAge: 0 }, + }) + + return value.value + }, +} + +const NONCE_MAX_AGE = 60 * 15 // 15 minutes in seconds +export const nonce = { + async create(options: InternalOptions<"oauth">) { + if (!options.provider.checks.includes("nonce")) return + const value = o.generateRandomNonce() + const maxAge = NONCE_MAX_AGE + const cookie = await signCookie("nonce", value, maxAge, options) + return { cookie, value } + }, + /** + * Returns nonce from if the provider supports nonce, + * and clears the container cookie afterwards. + */ + async use( + nonce: string | undefined, + options: InternalOptions<"oauth"> + ): Promise<{ value: string; cookie: Cookie } | undefined> { + const { cookies, provider } = options + + if (!provider?.checks?.includes("nonce") || !nonce) { + return + } + + const value = (await jwt.decode({ ...options.jwt, token: nonce })) as any + + return { + value: value?.value ?? undefined, + cookie: { + name: cookies.nonce.name, + value: "", + options: { ...cookies.nonce.options, maxAge: 0 }, + }, + } + }, +} diff --git a/packages/core/src/lib/oauth/nonce-handler.ts b/packages/core/src/lib/oauth/nonce-handler.ts deleted file mode 100644 index 6f4dc77a..00000000 --- a/packages/core/src/lib/oauth/nonce-handler.ts +++ /dev/null @@ -1,77 +0,0 @@ -import * as o from "oauth4webapi" -import * as jwt from "../../jwt.js" - -import type { InternalOptions } from "../../types.js" -import type { Cookie } from "../cookie.js" - -const NONCE_MAX_AGE = 60 * 15 // 15 minutes in seconds - -/** - * Returns nonce if the provider supports it - * and saves it in a cookie - */ -export async function createNonce(options: InternalOptions<"oauth">): Promise< - | undefined - | { - value: string - cookie: Cookie - } -> { - const { cookies, logger, provider } = options - if (!provider.checks?.includes("nonce")) { - // Provider does not support nonce, return nothing. - return - } - - const nonce = o.generateRandomNonce() - - const expires = new Date() - expires.setTime(expires.getTime() + NONCE_MAX_AGE * 1000) - - // Encrypt nonce and save it to an encrypted cookie - const encryptedNonce = await jwt.encode({ - ...options.jwt, - maxAge: NONCE_MAX_AGE, - token: { nonce }, - }) - - logger.debug("CREATE_ENCRYPTED_NONCE", { - nonce, - maxAge: NONCE_MAX_AGE, - }) - - return { - cookie: { - name: cookies.nonce.name, - value: encryptedNonce, - options: { ...cookies.nonce.options, expires }, - }, - value: nonce, - } -} - -/** - * Returns nonce from if the provider supports nonce, - * and clears the container cookie afterwards. - */ -export async function useNonce( - nonce: string | undefined, - options: InternalOptions<"oauth"> -): Promise<{ value: string; cookie: Cookie } | undefined> { - const { cookies, provider } = options - - if (!provider?.checks?.includes("nonce") || !nonce) { - return - } - - const value = (await jwt.decode({ ...options.jwt, token: nonce })) as any - - return { - value: value?.value ?? undefined, - cookie: { - name: cookies.nonce.name, - value: "", - options: { ...cookies.nonce.options, maxAge: 0 }, - }, - } -} diff --git a/packages/core/src/lib/oauth/pkce-handler.ts b/packages/core/src/lib/oauth/pkce-handler.ts deleted file mode 100644 index 6aa6fcda..00000000 --- a/packages/core/src/lib/oauth/pkce-handler.ts +++ /dev/null @@ -1,87 +0,0 @@ -import * as o from "oauth4webapi" -import * as jwt from "../../jwt.js" - -import type { InternalOptions } from "../../types.js" -import type { Cookie } from "../cookie.js" - -const PKCE_CODE_CHALLENGE_METHOD = "S256" -const PKCE_MAX_AGE = 60 * 15 // 15 minutes in seconds - -/** - * Returns `code_challenge` and `code_challenge_method` - * and saves them in a cookie. - */ -export async function createPKCE(options: InternalOptions<"oauth">): Promise< - | undefined - | { - code_challenge: string - code_challenge_method: "S256" - cookie: Cookie - } -> { - const { cookies, logger, provider } = options - if (!provider.checks?.includes("pkce")) { - // Provider does not support PKCE, return nothing. - return - } - const code_verifier = o.generateRandomCodeVerifier() - const code_challenge = await o.calculatePKCECodeChallenge(code_verifier) - - const maxAge = cookies.pkceCodeVerifier.options.maxAge ?? PKCE_MAX_AGE - - const expires = new Date() - expires.setTime(expires.getTime() + maxAge * 1000) - - // Encrypt code_verifier and save it to an encrypted cookie - const encryptedCodeVerifier = await jwt.encode({ - ...options.jwt, - maxAge, - token: { code_verifier }, - }) - - logger.debug("CREATE_PKCE_CHALLENGE_VERIFIER", { - code_challenge, - code_challenge_method: PKCE_CODE_CHALLENGE_METHOD, - code_verifier, - maxAge, - }) - - return { - code_challenge, - code_challenge_method: PKCE_CODE_CHALLENGE_METHOD, - cookie: { - name: cookies.pkceCodeVerifier.name, - value: encryptedCodeVerifier, - options: { ...cookies.pkceCodeVerifier.options, expires }, - }, - } -} - -/** - * Returns code_verifier if provider uses PKCE, - * and clears the container cookie afterwards. - */ -export async function usePKCECodeVerifier( - codeVerifier: string | undefined, - options: InternalOptions<"oauth"> -): Promise<{ codeVerifier: string; cookie: Cookie } | undefined> { - const { cookies, provider } = options - - if (!provider?.checks?.includes("pkce") || !codeVerifier) { - return - } - - const pkce = (await jwt.decode({ - ...options.jwt, - token: codeVerifier, - })) as any - - return { - codeVerifier: pkce?.value ?? undefined, - cookie: { - name: cookies.pkceCodeVerifier.name, - value: "", - options: { ...cookies.pkceCodeVerifier.options, maxAge: 0 }, - }, - } -} diff --git a/packages/core/src/lib/oauth/state-handler.ts b/packages/core/src/lib/oauth/state-handler.ts deleted file mode 100644 index 1655e151..00000000 --- a/packages/core/src/lib/oauth/state-handler.ts +++ /dev/null @@ -1,72 +0,0 @@ -import * as o from "oauth4webapi" -import type { InternalOptions, RequestInternal } from "../../types.js" -import type { Cookie } from "../cookie.js" -import { InvalidState } from "../../errors.js" - -const STATE_MAX_AGE = 60 * 15 // 15 minutes in seconds - -/** Returns state if the provider supports it */ -export async function createState( - options: InternalOptions<"oauth"> -): Promise<{ cookie: Cookie; value: string } | undefined> { - const { logger, provider, jwt, cookies } = options - - if (!provider.checks?.includes("state")) { - // Provider does not support state, return nothing - return - } - - const state = o.generateRandomState() - const maxAge = cookies.state.options.maxAge ?? STATE_MAX_AGE - - const encodedState = await jwt.encode({ - ...jwt, - maxAge, - token: { state }, - }) - - logger.debug("CREATE_STATE", { state, maxAge }) - - const expires = new Date() - expires.setTime(expires.getTime() + maxAge * 1000) - return { - value: state, - cookie: { - name: cookies.state.name, - value: encodedState, - options: { ...cookies.state.options, expires }, - }, - } -} - -/** - * Returns state from the saved cookie - * if the provider supports states, - * and clears the container cookie afterwards. - */ -export async function useState( - cookies: RequestInternal["cookies"], - resCookies: Cookie[], - options: InternalOptions<"oauth"> -): Promise { - const { provider, jwt } = options - if (!provider.checks.includes("state")) return - - const state = cookies?.[options.cookies.state.name] - - if (!state) throw new InvalidState("State was missing from the cookies.") - - // IDEA: Let the user do something with the returned state - const value = (await jwt.decode({ ...options.jwt, token: state })) as any - - if (!value?.value) throw new InvalidState("Could not parse state cookie.") - - // Clear the state cookie after use - resCookies.push({ - name: options.cookies.state.name, - value: "", - options: { ...options.cookies.state.options, maxAge: 0 }, - }) - - return value.value -} From daa85be1ade347108b8ee6e6607619ef21c6311f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Orb=C3=A1n?= Date: Tue, 24 Jan 2023 02:25:45 +0100 Subject: [PATCH 08/31] Revert "chore(next-auth): remove `engines` restriction (#6428)" This reverts commit 035836da98559e0ab91e674ad58138ce0fd8fa81. --- packages/next-auth/package.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/next-auth/package.json b/packages/next-auth/package.json index 6732720d..96445984 100644 --- a/packages/next-auth/package.json +++ b/packages/next-auth/package.json @@ -126,5 +126,8 @@ "react": "^18", "react-dom": "^18", "whatwg-fetch": "^3.6.2" + }, + "engines": { + "node": "^12.19.0 || ^14.15.0 || ^16.13.0 || ^18.12.0" } } From b21709db401b773909b1963579ad21def229a864 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Orb=C3=A1n?= Date: Tue, 24 Jan 2023 02:26:49 +0100 Subject: [PATCH 09/31] chore: update lock file --- pnpm-lock.yaml | 463 ++++++++++++------------------------------------- 1 file changed, 115 insertions(+), 348 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0c7da936..390dd777 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -133,27 +133,6 @@ importers: typescript: 4.9.4 vite: 4.0.1 - apps/examples/nextjs: - specifiers: - '@types/node': ^17 - '@types/react': ^18.0.15 - next: latest - next-auth: latest - nodemailer: ^6 - react: ^18.2.0 - react-dom: ^18.2.0 - typescript: ^4 - dependencies: - next: 13.1.2_biqbaboplfbrettd7655fr4n2y - next-auth: 4.18.8_xpfrgizk2uibqsegg5y3s2zbwy - nodemailer: 6.8.0 - react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 - devDependencies: - '@types/node': 17.0.45 - '@types/react': 18.0.26 - typescript: 4.9.4 - apps/playgrounds/gatsby: specifiers: dotenv: ^16.0.0 @@ -164,7 +143,7 @@ importers: vercel: ^23.1.2 dependencies: dotenv: 16.0.3 - gatsby: 5.5.0-next.0_biqbaboplfbrettd7655fr4n2y + gatsby: 5.6.0-next.0_biqbaboplfbrettd7655fr4n2y next-auth: link:../../../packages/next-auth react: 18.2.0 react-dom: 18.2.0_react@18.2.0 @@ -7513,8 +7492,8 @@ packages: resolution: {integrity: sha512-Tbsj02wXCbqGmzdnXNk0SOF19ChhRU70BsroIi4Pm6Ehp56in6vch94mfbdQ17DozxkL3BAVjbZ4Qc1a0HFRAg==} dev: false - /@builder.io/partytown/0.5.4: - resolution: {integrity: sha512-qnikpQgi30AS01aFlNQV6l8/qdZIcP76mp90ti+u4rucXHsn4afSKivQXApqxvrQG9+Ibv45STyvHizvxef/7A==} + /@builder.io/partytown/0.7.5: + resolution: {integrity: sha512-Zbr2Eo0AQ4yzmQr/36/h+6LKjmdVBB3Q5cGzO6rtlIKB/IOpbQVUZW+XAnhpJmJr9sIF97OZjgbhG9k7Sjn4yw==} hasBin: true dev: false @@ -9101,14 +9080,14 @@ packages: dev: true optional: true - /@gatsbyjs/parcel-namer-relative-to-cwd/2.5.0-next.0_@parcel+core@2.8.2: - resolution: {integrity: sha512-1BEOXlcXkIrOPgRdNXf404CfmqmtpcKcAgmde+gpGUS040fT5BRTT+9kxnJQaj7ZbLMhRxI83zjZ6Nkwi/8g8w==} + /@gatsbyjs/parcel-namer-relative-to-cwd/2.6.0-next.0_@parcel+core@2.8.2: + resolution: {integrity: sha512-YAEMsZhRG59bs9Ps3TKh/jxQ2ysnHU7+eVEEq/gssh2o+og//WTiR7KldR6xFEWQWMmmYQThAGyuJe/sN9hVNA==} engines: {node: '>=18.0.0', parcel: 2.x} dependencies: '@babel/runtime': 7.20.7 '@parcel/namer-default': 2.8.2_@parcel+core@2.8.2 '@parcel/plugin': 2.8.2_@parcel+core@2.8.2 - gatsby-core-utils: 4.5.0-next.0 + gatsby-core-utils: 4.6.0-next.0 transitivePeerDependencies: - '@parcel/core' dev: false @@ -10635,10 +10614,6 @@ packages: /@next/env/13.1.1: resolution: {integrity: sha512-vFMyXtPjSAiOXOywMojxfKIqE3VWN5RCAx+tT3AS3pcKjMLFTCJFUWsKv8hC+87Z1F4W3r68qTwDFZIFmd5Xkw==} - /@next/env/13.1.2: - resolution: {integrity: sha512-PpT4UZIX66VMTqXt4HKEJ+/PwbS+tWmmhZlazaws1a+dbUA5pPdjntQ46Jvj616i3ZKN9doS9LHx3y50RLjAWg==} - dev: false - /@next/swc-android-arm-eabi/13.1.1: resolution: {integrity: sha512-qnFCx1kT3JTWhWve4VkeWuZiyjG0b5T6J2iWuin74lORCupdrNukxkq9Pm+Z7PsatxuwVJMhjUoYz7H4cWzx2A==} engines: {node: '>= 10'} @@ -10647,15 +10622,6 @@ packages: requiresBuild: true optional: true - /@next/swc-android-arm-eabi/13.1.2: - resolution: {integrity: sha512-7mRz1owoGsbfIcdOJA3kk7KEwPZ+OvVT1z9DkR/yru4QdVLF69h/1SHy0vlUNQMxDRllabhxCfkoZCB34GOGAg==} - engines: {node: '>= 10'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: false - optional: true - /@next/swc-android-arm64/13.1.1: resolution: {integrity: sha512-eCiZhTzjySubNqUnNkQCjU3Fh+ep3C6b5DCM5FKzsTH/3Gr/4Y7EiaPZKILbvnXmhWtKPIdcY6Zjx51t4VeTfA==} engines: {node: '>= 10'} @@ -10664,15 +10630,6 @@ packages: requiresBuild: true optional: true - /@next/swc-android-arm64/13.1.2: - resolution: {integrity: sha512-mgjZ2eJSayovQm1LcE54BLSI4jjnnnLtq5GY5g+DdPuUiCT644gKtjZ/w2BQvuIecCqqBO+Ph9yzo/wUTq7NLg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: false - optional: true - /@next/swc-darwin-arm64/13.1.1: resolution: {integrity: sha512-9zRJSSIwER5tu9ADDkPw5rIZ+Np44HTXpYMr0rkM656IvssowPxmhK0rTreC1gpUCYwFsRbxarUJnJsTWiutPg==} engines: {node: '>= 10'} @@ -10681,15 +10638,6 @@ packages: requiresBuild: true optional: true - /@next/swc-darwin-arm64/13.1.2: - resolution: {integrity: sha512-RikoQqy109r2222UJlyGs4dZw2BibkfPqpeFdW5JEGv+L2PStlHID8DwyVYbmHfQ0VIBGvbf/NAUtFakAWlhwg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - /@next/swc-darwin-x64/13.1.1: resolution: {integrity: sha512-qWr9qEn5nrnlhB0rtjSdR00RRZEtxg4EGvicIipqZWEyayPxhUu6NwKiG8wZiYZCLfJ5KWr66PGSNeDMGlNaiA==} engines: {node: '>= 10'} @@ -10698,15 +10646,6 @@ packages: requiresBuild: true optional: true - /@next/swc-darwin-x64/13.1.2: - resolution: {integrity: sha512-JbDZjaTvL8gyPC5TAH6OnD4jmXPkyUxRYPvu08ZmhT/XAFBb/Cso0BdXyDax/BPCG70mimP9d3hXNKNq+A0VtQ==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - /@next/swc-freebsd-x64/13.1.1: resolution: {integrity: sha512-UwP4w/NcQ7V/VJEj3tGVszgb4pyUCt3lzJfUhjDMUmQbzG9LDvgiZgAGMYH6L21MoyAATJQPDGiAMWAPKsmumA==} engines: {node: '>= 10'} @@ -10715,15 +10654,6 @@ packages: requiresBuild: true optional: true - /@next/swc-freebsd-x64/13.1.2: - resolution: {integrity: sha512-ax4j8VrdFQ/xc3W7Om0u1vnDxVApQHKsChBbAMynCrnycZmpbqK4MZu4ZkycT+mx2eccCiqZROpbzDbEdPosEw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: false - optional: true - /@next/swc-linux-arm-gnueabihf/13.1.1: resolution: {integrity: sha512-CnsxmKHco9sosBs1XcvCXP845Db+Wx1G0qouV5+Gr+HT/ZlDYEWKoHVDgnJXLVEQzq4FmHddBNGbXvgqM1Gfkg==} engines: {node: '>= 10'} @@ -10732,15 +10662,6 @@ packages: requiresBuild: true optional: true - /@next/swc-linux-arm-gnueabihf/13.1.2: - resolution: {integrity: sha512-NcRHTesnCxnUvSJa637PQJffBBkmqi5XS/xVWGY7dI6nyJ+pC96Oj7kd+mcjnFUQI5lHKbg39qBWKtOzbezc4w==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@next/swc-linux-arm64-gnu/13.1.1: resolution: {integrity: sha512-JfDq1eri5Dif+VDpTkONRd083780nsMCOKoFG87wA0sa4xL8LGcXIBAkUGIC1uVy9SMsr2scA9CySLD/i+Oqiw==} engines: {node: '>= 10'} @@ -10749,15 +10670,6 @@ packages: requiresBuild: true optional: true - /@next/swc-linux-arm64-gnu/13.1.2: - resolution: {integrity: sha512-AxJdjocLtPrsBY4P2COSBIc3crT5bpjgGenNuINoensOlXhBkYM0aRDYZdydwXOhG+kN2ngUvfgitop9pa204w==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@next/swc-linux-arm64-musl/13.1.1: resolution: {integrity: sha512-GA67ZbDq2AW0CY07zzGt07M5b5Yaq5qUpFIoW3UFfjOPgb0Sqf3DAW7GtFMK1sF4ROHsRDMGQ9rnT0VM2dVfKA==} engines: {node: '>= 10'} @@ -10766,15 +10678,6 @@ packages: requiresBuild: true optional: true - /@next/swc-linux-arm64-musl/13.1.2: - resolution: {integrity: sha512-JmNimDkcCRq7P5zpkdqeaSZ69qKDntEPtyIaMNWqy5M0WUJxGim0Fs6Qzxayiyvuuh9Guxks4woQ/j/ZvX/c8Q==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@next/swc-linux-x64-gnu/13.1.1: resolution: {integrity: sha512-nnjuBrbzvqaOJaV+XgT8/+lmXrSCOt1YYZn/irbDb2fR2QprL6Q7WJNgwsZNxiLSfLdv+2RJGGegBx9sLBEzGA==} engines: {node: '>= 10'} @@ -10783,15 +10686,6 @@ packages: requiresBuild: true optional: true - /@next/swc-linux-x64-gnu/13.1.2: - resolution: {integrity: sha512-TsLsjZwUlgmvI42neTuIoD6K9RlXCUzqPtvIClgXxVO0um0DiZwK+M+0zX/uVXhMVphfPY2c5YeR1zFSIONY4A==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@next/swc-linux-x64-musl/13.1.1: resolution: {integrity: sha512-CM9xnAQNIZ8zf/igbIT/i3xWbQZYaF397H+JroF5VMOCUleElaMdQLL5riJml8wUfPoN3dtfn2s4peSr3azz/g==} engines: {node: '>= 10'} @@ -10800,15 +10694,6 @@ packages: requiresBuild: true optional: true - /@next/swc-linux-x64-musl/13.1.2: - resolution: {integrity: sha512-eSkyXgCXydEFPTkcncQOGepafedPte6JT/OofB9uvruucrrMVBagCASOuPxodWEMrlfEKSXVnExMKIlfmQMD7A==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@next/swc-win32-arm64-msvc/13.1.1: resolution: {integrity: sha512-pzUHOGrbgfGgPlOMx9xk3QdPJoRPU+om84hqVoe6u+E0RdwOG0Ho/2UxCgDqmvpUrMab1Deltlt6RqcXFpnigQ==} engines: {node: '>= 10'} @@ -10817,15 +10702,6 @@ packages: requiresBuild: true optional: true - /@next/swc-win32-arm64-msvc/13.1.2: - resolution: {integrity: sha512-DmXFaRTgt2KrV9dmRLifDJE+cYiutHVFIw5/C9BtnwXH39uf3YbPxeD98vNrtqqqZVVLXY/1ySaSIwzYnqeY9g==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: false - optional: true - /@next/swc-win32-ia32-msvc/13.1.1: resolution: {integrity: sha512-WeX8kVS46aobM9a7Xr/kEPcrTyiwJqQv/tbw6nhJ4fH9xNZ+cEcyPoQkwPo570dCOLz3Zo9S2q0E6lJ/EAUOBg==} engines: {node: '>= 10'} @@ -10834,15 +10710,6 @@ packages: requiresBuild: true optional: true - /@next/swc-win32-ia32-msvc/13.1.2: - resolution: {integrity: sha512-3+nBkuFs/wT+lmRVQNH5SyDT7I4vUlNPntosEaEP63FuYQdPLaxz0GvcR66MdFSFh2fsvazpe4wciOwVS4FItQ==} - engines: {node: '>= 10'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: false - optional: true - /@next/swc-win32-x64-msvc/13.1.1: resolution: {integrity: sha512-mVF0/3/5QAc5EGVnb8ll31nNvf3BWpPY4pBb84tk+BfQglWLqc5AC9q1Ht/YMWiEgs8ALNKEQ3GQnbY0bJF2Gg==} engines: {node: '>= 10'} @@ -10851,15 +10718,6 @@ packages: requiresBuild: true optional: true - /@next/swc-win32-x64-msvc/13.1.2: - resolution: {integrity: sha512-avsyveEvcvH42PvKjR4Pb8JlLttuGURr2H3ZhS2b85pHOiZ7yjH3rMUoGnNzuLMApyxYaCvd4MedPrLhnNhkog==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: false - optional: true - /@nicolo-ribaudo/chokidar-2/2.1.8-no-fsevents.3: resolution: {integrity: sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==} requiresBuild: true @@ -14691,21 +14549,12 @@ packages: engines: {node: '>=4'} dev: false - /axios/0.21.4_debug@3.2.7: - resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} - dependencies: - follow-redirects: 1.15.1_debug@3.2.7 - transitivePeerDependencies: - - debug - dev: false - /axios/0.21.4_debug@4.3.4: resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} dependencies: - follow-redirects: 1.15.1_debug@4.3.4 + follow-redirects: 1.15.1 transitivePeerDependencies: - debug - dev: true /axios/0.25.0: resolution: {integrity: sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==} @@ -15097,8 +14946,8 @@ packages: - supports-color dev: true - /babel-plugin-remove-graphql-queries/5.5.0-next.0_jqsf6f3mvfsscspe5xblmymkvm: - resolution: {integrity: sha512-y7xJGPPHPljVR3nhZNllraBJ42F1j1iJsrUlUWQW5nLDNM/iPyWdpKmvKaChvU9gez5cs8pQexVcFh6NbUzcMg==} + /babel-plugin-remove-graphql-queries/5.6.0-next.0_34zmit57noivsgqvgdpgpcttx4: + resolution: {integrity: sha512-hrxx7U73x6TUL+x/h2/OrQT4hdeGkYjK39oiYtt6erSVz8q1iOYl4tfCYN0wuHyrvpRdXJ7UBrAhLgBFIPn8Gw==} engines: {node: '>=18.0.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -15107,8 +14956,8 @@ packages: '@babel/core': 7.20.12 '@babel/runtime': 7.20.7 '@babel/types': 7.20.7 - gatsby: 5.5.0-next.0_biqbaboplfbrettd7655fr4n2y - gatsby-core-utils: 4.5.0-next.0 + gatsby: 5.6.0-next.0_biqbaboplfbrettd7655fr4n2y + gatsby-core-utils: 4.6.0-next.0 dev: false /babel-plugin-styled-components/2.0.7_styled-components@5.3.6: @@ -15192,8 +15041,8 @@ packages: - supports-color dev: false - /babel-preset-gatsby/3.5.0-next.0_pp2vm42zn6vfmnpuhar3irht7i: - resolution: {integrity: sha512-ljJsjFAfZjfKoCwO0bw3vxC3PmbE4XTZ91kIlKv8p+au5bOtDu2cFxltLte8khR6aAg5vEwUwvr4D4PUP4Wgsg==} + /babel-preset-gatsby/3.6.0-next.0_pp2vm42zn6vfmnpuhar3irht7i: + resolution: {integrity: sha512-Yg3s+TqJcaiolWzERdtCc/nQMnQDGqv6VvB4CEsRFAzZy9YoDLN6BauTpJ/FWeJc595TdszCYLqYLoa0cXcfVw==} engines: {node: '>=18.0.0'} peerDependencies: '@babel/core': ^7.11.6 @@ -15214,8 +15063,8 @@ packages: babel-plugin-macros: 3.1.0 babel-plugin-transform-react-remove-prop-types: 0.4.24 core-js: 3.26.0 - gatsby-core-utils: 4.5.0-next.0 - gatsby-legacy-polyfills: 3.5.0-next.0 + gatsby-core-utils: 4.6.0-next.0 + gatsby-legacy-polyfills: 3.6.0-next.0 transitivePeerDependencies: - supports-color dev: false @@ -15450,6 +15299,7 @@ packages: term-size: 2.2.1 type-fest: 0.8.1 widest-line: 3.1.0 + dev: true /boxen/5.1.2: resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} @@ -15879,6 +15729,7 @@ packages: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 + dev: true /chalk/4.1.1: resolution: {integrity: sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==} @@ -16646,8 +16497,8 @@ packages: readable-stream: 3.6.0 dev: true - /create-gatsby/3.5.0-next.0: - resolution: {integrity: sha512-KmDOCTD0AO/kY2ctCP5j+5Cxc8TGuMs32vvyaKEbLAhkctuvQoRKUQ9NR4+uWSJoWuO5zEm008e3HKI+TpM60A==} + /create-gatsby/3.6.0-next.0: + resolution: {integrity: sha512-eeTIlCWsSWhQkfbcRstHO8n7I6kkf/tWkyjHt5nEGoIn2HW1457Qt4QMLhMyowhNBw/nXHiU+QuUvg+1oY8z9g==} hasBin: true dependencies: '@babel/runtime': 7.20.7 @@ -20517,19 +20368,6 @@ packages: peerDependenciesMeta: debug: optional: true - dev: true - - /follow-redirects/1.15.1_debug@3.2.7: - resolution: {integrity: sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - dependencies: - debug: 3.2.7 - dev: false /follow-redirects/1.15.1_debug@4.3.4: resolution: {integrity: sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==} @@ -20690,6 +20528,16 @@ packages: graceful-fs: 4.2.10 jsonfile: 6.1.0 universalify: 2.0.0 + dev: true + + /fs-extra/11.1.0: + resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.10 + jsonfile: 6.1.0 + universalify: 2.0.0 + dev: false /fs-extra/7.0.1: resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} @@ -20788,8 +20636,8 @@ packages: /functions-have-names/1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - /gatsby-cli/5.5.0-next.0: - resolution: {integrity: sha512-zDxea5Umb9LKU2kXSac84J/5QL4TvvGxyBkqUtvRq9rZRGYV+MTXgQTIzhlJQens+5kBepahERMLcifB9pJAwg==} + /gatsby-cli/5.6.0-next.0: + resolution: {integrity: sha512-B38HOsNXQ1r8EAap/J0E6CRv2QYxuf8J+Uc+aASbbDgEmfZw8A95ayT6JM8rqYaf9mambUmzot/QF/hKQBY1uA==} engines: {node: '>=18.0.0'} hasBin: true requiresBuild: true @@ -20810,13 +20658,13 @@ packages: clipboardy: 2.3.0 common-tags: 1.8.2 convert-hrtime: 3.0.0 - create-gatsby: 3.5.0-next.0 + create-gatsby: 3.6.0-next.0 envinfo: 7.8.1 execa: 5.1.1 fs-exists-cached: 1.0.0 - fs-extra: 10.1.0 - gatsby-core-utils: 4.5.0-next.0 - gatsby-telemetry: 4.5.0-next.0 + fs-extra: 11.1.0 + gatsby-core-utils: 4.6.0-next.0 + gatsby-telemetry: 4.6.0-next.0 hosted-git-info: 3.0.8 is-valid-path: 0.1.1 joi: 17.7.0 @@ -20840,8 +20688,8 @@ packages: - supports-color dev: false - /gatsby-core-utils/4.5.0-next.0: - resolution: {integrity: sha512-5rnnAppOADM+aRkglo0ImObnOsENc80NOR0RT1v5Qr/BFhs1KFIDQc4lSW0dvDDCeBDi8Ngj52t1GMvCTuUaTg==} + /gatsby-core-utils/4.6.0-next.0: + resolution: {integrity: sha512-4cc4d7WfJmYWprWBIxQBRiwyT2uECR9/40rqPCe62yeshTHIZUVCxeqzEeU6R0qkDpLjHkP0F/itv2oNa0AspQ==} engines: {node: '>=18.0.0'} dependencies: '@babel/runtime': 7.20.7 @@ -20849,8 +20697,9 @@ packages: configstore: 5.0.1 fastq: 1.15.0 file-type: 16.5.4 - fs-extra: 10.1.0 + fs-extra: 11.1.0 got: 11.8.6 + hash-wasm: 4.9.0 import-from: 4.0.0 lmdb: 2.5.3 lock: 1.1.0 @@ -20861,20 +20710,20 @@ packages: xdg-basedir: 4.0.0 dev: false - /gatsby-graphiql-explorer/3.5.0-next.0: - resolution: {integrity: sha512-CY0paEPQwJWJyXi9U8I79ubL3FKWc7Z8QeR6B6QMacodmWdn8KHl7j+qMYG+ErHmM3ruAhxMI5HJyCDOZaHFwA==} + /gatsby-graphiql-explorer/3.6.0-next.0: + resolution: {integrity: sha512-pXW8ufxLdklCjVtKyUZ6Nr6ROjH/5dUqbnp6hMdUGLWFjvpj3AWc/DH3wsDOLw//bBEZqHAcEyj2DwNcFv8mHw==} engines: {node: '>=18.0.0'} dev: false - /gatsby-legacy-polyfills/3.5.0-next.0: - resolution: {integrity: sha512-UW+/a4IGFcv7fCEK5BF4K7cwIBE3FEtbuVDSJ8a89zWSHWFLs82cSfc3+bDXPqv3m5/E2rWs0KLCWwEerzHNhQ==} + /gatsby-legacy-polyfills/3.6.0-next.0: + resolution: {integrity: sha512-XwGPOPDF/Xo/wZWW52YmFlZ/89Qb/jZdxBaPHfs2zRKvTAFmFkHBl+KAy5MBISY4IFWTfOyBN2UjnklmxRn93w==} dependencies: '@babel/runtime': 7.20.7 core-js-compat: 3.9.0 dev: false - /gatsby-link/5.5.0-next.0_y2kppt6lrltqk6wasg3eswwzsa: - resolution: {integrity: sha512-+TydIhkhkIs/8DnVK7Zv6gai6VSmeloGOPlme2aN/Y1a0DaYLlfH9pkF0to7DVYCC6Fn99n3VlHmUrWQxnA1bw==} + /gatsby-link/5.6.0-next.0_y2kppt6lrltqk6wasg3eswwzsa: + resolution: {integrity: sha512-tKTT58UQI3PQdWTmALZ9UYZ7hN4lgxrkLNhHRlfhhjsZXAwqqVXfR51gfV8cvEltEOdqdfrUSMZ9167KxEnp5A==} engines: {node: '>=18.0.0'} peerDependencies: '@gatsbyjs/reach-router': ^2.0.0 @@ -20883,33 +20732,33 @@ packages: dependencies: '@gatsbyjs/reach-router': 2.0.0_biqbaboplfbrettd7655fr4n2y '@types/reach__router': 1.3.11 - gatsby-page-utils: 3.5.0-next.0 + gatsby-page-utils: 3.6.0-next.0 prop-types: 15.8.1 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 dev: false - /gatsby-page-utils/3.5.0-next.0: - resolution: {integrity: sha512-MHD6azIuWYxwSxQ7pgow5K53OdIVbsKUKRKP8/0WUIMG8xZkOBZtRCgGL0QrPB7ze73hujxhMDGd8firz8bNYw==} + /gatsby-page-utils/3.6.0-next.0: + resolution: {integrity: sha512-3jul3U94W/33H8DMoaEfo6z26Tlp62Lf9FtS828s1A076ao9CFBpT2xrCCAn+rF8uXKAY1oB3b337Oaxdyx70g==} engines: {node: '>=18.0.0'} dependencies: '@babel/runtime': 7.20.7 bluebird: 3.7.2 chokidar: 3.5.3 fs-exists-cached: 1.0.0 - gatsby-core-utils: 4.5.0-next.0 + gatsby-core-utils: 4.6.0-next.0 glob: 7.2.3 lodash: 4.17.21 micromatch: 4.0.5 dev: false - /gatsby-parcel-config/1.5.0-next.0_@parcel+core@2.8.2: - resolution: {integrity: sha512-k+MqR2JQX1/siMttbyIX1zOfv3ZI390H2Pk2SjdUFJxV4dYZzcLermRkAOSNHUQIrrQ7TaLDMtq9AOcIjMmNmA==} + /gatsby-parcel-config/1.6.0-next.0_@parcel+core@2.8.2: + resolution: {integrity: sha512-zqNIyHiaegO0hX8LJ6qmPAsZC0G3QmjjDvcmKVp4xvU8c21L7LUDJP++9Ek1iKm45gfuCweXeeKX01W5EWzDFA==} engines: {parcel: 2.x} peerDependencies: '@parcel/core': ^2.0.0 dependencies: - '@gatsbyjs/parcel-namer-relative-to-cwd': 2.5.0-next.0_@parcel+core@2.8.2 + '@gatsbyjs/parcel-namer-relative-to-cwd': 2.6.0-next.0_@parcel+core@2.8.2 '@parcel/bundler-default': 2.8.2_@parcel+core@2.8.2 '@parcel/compressor-raw': 2.8.2_@parcel+core@2.8.2 '@parcel/core': 2.8.2 @@ -20924,8 +20773,8 @@ packages: '@parcel/transformer-json': 2.8.2_@parcel+core@2.8.2 dev: false - /gatsby-plugin-page-creator/5.5.0-next.0_tiqeetwuawru2xunllrkp6n53m: - resolution: {integrity: sha512-OY0BOHl93aKqHCVwCFrABlGJFCW5T7tp5XqY5MPBmXRgCqWKVuZuZqgpHXoDTwjJSXMcn3sVzC5RhH7OgKIAiQ==} + /gatsby-plugin-page-creator/5.6.0-next.0_4kofk2l43xwpw753oec5pxbv5e: + resolution: {integrity: sha512-zNfm0f5wpVhlwDnvGwkfQtIcIHJeRJBeYQCkUYUPwoA1s4AJFY6+wbYSRYHcM8r2K5aDfE1/t32YEY43UNIzGA==} engines: {node: '>=18.0.0'} peerDependencies: gatsby: ^5.0.0-next @@ -20935,12 +20784,12 @@ packages: '@sindresorhus/slugify': 1.1.2 chokidar: 3.5.3 fs-exists-cached: 1.0.0 - fs-extra: 10.1.0 - gatsby: 5.5.0-next.0_biqbaboplfbrettd7655fr4n2y - gatsby-core-utils: 4.5.0-next.0 - gatsby-page-utils: 3.5.0-next.0 - gatsby-plugin-utils: 4.5.0-next.0_tiqeetwuawru2xunllrkp6n53m - gatsby-telemetry: 4.5.0-next.0 + fs-extra: 11.1.0 + gatsby: 5.6.0-next.0_biqbaboplfbrettd7655fr4n2y + gatsby-core-utils: 4.6.0-next.0 + gatsby-page-utils: 3.6.0-next.0 + gatsby-plugin-utils: 4.6.0-next.0_4kofk2l43xwpw753oec5pxbv5e + gatsby-telemetry: 4.6.0-next.0 globby: 11.1.0 lodash: 4.17.21 transitivePeerDependencies: @@ -20949,8 +20798,8 @@ packages: - supports-color dev: false - /gatsby-plugin-typescript/5.5.0-next.0_gatsby@5.5.0-next.0: - resolution: {integrity: sha512-Snj6bZC1hPf+tmhbSJ2UBUO6f2vd6AGvEF06M3Tk22jSpZZ3ia0wPCQzAWal03hV0QO2CTRaY/1ZVns7WSlDzg==} + /gatsby-plugin-typescript/5.6.0-next.0_gatsby@5.6.0-next.0: + resolution: {integrity: sha512-CUguJx8GjTQHymcfBOcwUXZtetfhLYtgUehkM8ovvNlscgavGxmbGD90gXMmo5JgrLPhdx8krtMsdIeCOOvo4w==} engines: {node: '>=18.0.0'} peerDependencies: gatsby: ^5.0.0-next @@ -20961,14 +20810,14 @@ packages: '@babel/plugin-proposal-optional-chaining': 7.20.7_@babel+core@7.20.12 '@babel/preset-typescript': 7.18.6_@babel+core@7.20.12 '@babel/runtime': 7.20.7 - babel-plugin-remove-graphql-queries: 5.5.0-next.0_jqsf6f3mvfsscspe5xblmymkvm - gatsby: 5.5.0-next.0_biqbaboplfbrettd7655fr4n2y + babel-plugin-remove-graphql-queries: 5.6.0-next.0_34zmit57noivsgqvgdpgpcttx4 + gatsby: 5.6.0-next.0_biqbaboplfbrettd7655fr4n2y transitivePeerDependencies: - supports-color dev: false - /gatsby-plugin-utils/4.5.0-next.0_tiqeetwuawru2xunllrkp6n53m: - resolution: {integrity: sha512-PomEO3MOAEGAxhpiAVqvCd6FH4VNk5ce3J/2YDAY3mZcNl7443TzyBoLyebki27BY+cAhddYXx5dxsa23UplKw==} + /gatsby-plugin-utils/4.6.0-next.0_4kofk2l43xwpw753oec5pxbv5e: + resolution: {integrity: sha512-3xidC+kpOz9xtsG5yv4UGB87pA0bo3YEHBTtUf5kshNEycMeTeh6xgb6gnD56kCVQ4DFrUBAe5U95hWH8n65Aw==} engines: {node: '>=18.0.0'} peerDependencies: gatsby: ^5.0.0-next @@ -20976,10 +20825,10 @@ packages: dependencies: '@babel/runtime': 7.20.7 fastq: 1.15.0 - fs-extra: 10.1.0 - gatsby: 5.5.0-next.0_biqbaboplfbrettd7655fr4n2y - gatsby-core-utils: 4.5.0-next.0 - gatsby-sharp: 1.5.0-next.0 + fs-extra: 11.1.0 + gatsby: 5.6.0-next.0_biqbaboplfbrettd7655fr4n2y + gatsby-core-utils: 4.6.0-next.0 + gatsby-sharp: 1.6.0-next.0 graphql: 16.6.0 graphql-compose: 9.0.10_graphql@16.6.0 import-from: 4.0.0 @@ -20987,8 +20836,8 @@ packages: mime: 3.0.0 dev: false - /gatsby-react-router-scroll/6.5.0-next.0_y2kppt6lrltqk6wasg3eswwzsa: - resolution: {integrity: sha512-x8prKBH32JDvDVjo04j0XHZ1kXKcshqkTCUDQu/5yQ/l3dy485Ut/kXlTylbp591fw8uuEqjgvF5ElsBrmMlWg==} + /gatsby-react-router-scroll/6.6.0-next.0_y2kppt6lrltqk6wasg3eswwzsa: + resolution: {integrity: sha512-zSVEibH40eR64HROVbQ2OTV4sSDVXCgAEIG9yykhGJv5oz2yEFwWcjmPYWEtaiu2qcjPnLSkjsPOw5tVqrFr7A==} engines: {node: '>=18.0.0'} peerDependencies: '@gatsbyjs/reach-router': ^2.0.0 @@ -21002,8 +20851,8 @@ packages: react-dom: 18.2.0_react@18.2.0 dev: false - /gatsby-script/2.5.0-next.0_y2kppt6lrltqk6wasg3eswwzsa: - resolution: {integrity: sha512-eYFPQQ6QwjZxw8H4ojuJIFM62cFDos/CZFHxKAxyEvt9Qv1m2bzWCIK4PxRswESa0jAQYpbx+i/nLFA3P3zYsQ==} + /gatsby-script/2.6.0-next.0_y2kppt6lrltqk6wasg3eswwzsa: + resolution: {integrity: sha512-kJQ+NqtS4ue3I7t0Asgy+bAdnwQ0Wzu6BK3z/jnj57lU6mBthU5XWj9RiCu3W4GjsIW/qqjN1e/rqvukN+sWMw==} engines: {node: '>=18.0.0'} peerDependencies: '@gatsbyjs/reach-router': ^2.0.0 @@ -21015,16 +20864,16 @@ packages: react-dom: 18.2.0_react@18.2.0 dev: false - /gatsby-sharp/1.5.0-next.0: - resolution: {integrity: sha512-6ETKQa9CgNqpuxfrAovKxJsC8kwqbw3mhMTDBgD6ceeQr6GgKx9xG6jmNBbA6IxEiFvKpwz5cAIuJr8P5ylznw==} + /gatsby-sharp/1.6.0-next.0: + resolution: {integrity: sha512-QaGkqU55JaZAbjgU1QyrX0rbyRUEFluMT7LykLlfGMCdox4DzE5ERtP5BVIHCzRXc0JAZtmFCDcFmpPSKxB28w==} engines: {node: '>=18.0.0'} dependencies: '@types/sharp': 0.31.1 sharp: 0.31.3 dev: false - /gatsby-telemetry/4.5.0-next.0: - resolution: {integrity: sha512-RcD7x7hnc9wOe9K0xvufQHLBjNW8xcQcf4e6DY7ffftBVIlYAudIlBe1n9BRtTUXOHPumHIGDhp97CyDv+m4HQ==} + /gatsby-telemetry/4.6.0-next.0: + resolution: {integrity: sha512-LQcqw21mO0s5sKPoi5MWYqcK7iVp5qej5fTpOYgDenabGDSIxYAoRa5CGQ6tRwGUjMu3NYykmCpPdsY0DHNHyw==} engines: {node: '>=18.0.0'} requiresBuild: true dependencies: @@ -21032,10 +20881,10 @@ packages: '@babel/runtime': 7.20.7 '@turist/fetch': 7.2.0_node-fetch@2.6.7 '@turist/time': 0.0.2 - boxen: 4.2.0 + boxen: 5.1.2 configstore: 5.0.1 - fs-extra: 10.1.0 - gatsby-core-utils: 4.5.0-next.0 + fs-extra: 11.1.0 + gatsby-core-utils: 4.6.0-next.0 git-up: 7.0.0 is-docker: 2.2.1 lodash: 4.17.21 @@ -21044,20 +20893,20 @@ packages: - encoding dev: false - /gatsby-worker/2.5.0-next.0: - resolution: {integrity: sha512-u/IdMyXh1vxWNG19oq4KCD9p9tcYzQ3tFcG98Jai6phyzjIOvl4RIhV8jByTJ5YvupIWlOtfsrd4ra+cuGLAoA==} + /gatsby-worker/2.6.0-next.0: + resolution: {integrity: sha512-C2bBppw4MqtEo1pEUma2UE06txv22q+ix04G3idMxjqFLtWq+H3+fQmuDZB4laI601ClzyAHK99dSNKQrfGqeA==} engines: {node: '>=18.0.0'} dependencies: '@babel/core': 7.20.12 '@babel/runtime': 7.20.7 - fs-extra: 10.1.0 + fs-extra: 11.1.0 signal-exit: 3.0.7 transitivePeerDependencies: - supports-color dev: false - /gatsby/5.5.0-next.0_biqbaboplfbrettd7655fr4n2y: - resolution: {integrity: sha512-5wR5rmmQ96PbMF3J4vNCwN7eIHcbrp3ReNVPzL6Pt673Pzlt3ga/Jaf6qUmeUORXaHpp5faDfWvcrfF9a92zQQ==} + /gatsby/5.6.0-next.0_biqbaboplfbrettd7655fr4n2y: + resolution: {integrity: sha512-QwM9R3JtRo7Qk1A0v5Hgpo45SXtRYh7OzZntOaj8VsDk7HebITZ5eLrdTq/wPYNYn3Jlng2bG+bObcIEjjqcyw==} engines: {node: '>=18.0.0'} hasBin: true requiresBuild: true @@ -21073,7 +20922,7 @@ packages: '@babel/runtime': 7.20.7 '@babel/traverse': 7.20.12 '@babel/types': 7.20.7 - '@builder.io/partytown': 0.5.4 + '@builder.io/partytown': 0.7.5 '@gatsbyjs/reach-router': 2.0.0_biqbaboplfbrettd7655fr4n2y '@gatsbyjs/webpack-hot-middleware': 2.25.3 '@graphql-codegen/add': 3.2.3_graphql@16.6.0 @@ -21097,14 +20946,14 @@ packages: address: 1.2.2 anser: 2.1.1 autoprefixer: 10.4.13_postcss@8.4.20 - axios: 0.21.4_debug@3.2.7 + axios: 0.21.4_debug@4.3.4 babel-jsx-utils: 1.1.0 babel-loader: 8.3.0_la66t7xldg4uecmyawueag5wkm babel-plugin-add-module-exports: 1.0.4 babel-plugin-dynamic-import-node: 2.3.3 babel-plugin-lodash: 3.3.4 - babel-plugin-remove-graphql-queries: 5.5.0-next.0_jqsf6f3mvfsscspe5xblmymkvm - babel-preset-gatsby: 3.5.0-next.0_pp2vm42zn6vfmnpuhar3irht7i + babel-plugin-remove-graphql-queries: 5.6.0-next.0_34zmit57noivsgqvgdpgpcttx4 + babel-preset-gatsby: 3.6.0-next.0_pp2vm42zn6vfmnpuhar3irht7i better-opn: 2.1.1 bluebird: 3.7.2 browserslist: 4.21.4 @@ -21113,14 +20962,14 @@ packages: chokidar: 3.5.3 common-tags: 1.8.2 compression: 1.7.4 - cookie: 0.4.2 + cookie: 0.5.0 core-js: 3.26.0 cors: 2.8.5 css-loader: 5.2.7_webpack@5.75.0 css-minimizer-webpack-plugin: 2.0.0_webpack@5.75.0 css.escape: 1.5.1 date-fns: 2.29.3 - debug: 3.2.7 + debug: 4.3.4 deepmerge: 4.2.2 detect-port: 1.5.1 devcert: 1.2.2 @@ -21144,21 +20993,21 @@ packages: file-loader: 6.2.0_webpack@5.75.0 find-cache-dir: 3.3.2 fs-exists-cached: 1.0.0 - fs-extra: 10.1.0 - gatsby-cli: 5.5.0-next.0 - gatsby-core-utils: 4.5.0-next.0 - gatsby-graphiql-explorer: 3.5.0-next.0 - gatsby-legacy-polyfills: 3.5.0-next.0 - gatsby-link: 5.5.0-next.0_y2kppt6lrltqk6wasg3eswwzsa - gatsby-page-utils: 3.5.0-next.0 - gatsby-parcel-config: 1.5.0-next.0_@parcel+core@2.8.2 - gatsby-plugin-page-creator: 5.5.0-next.0_tiqeetwuawru2xunllrkp6n53m - gatsby-plugin-typescript: 5.5.0-next.0_gatsby@5.5.0-next.0 - gatsby-plugin-utils: 4.5.0-next.0_tiqeetwuawru2xunllrkp6n53m - gatsby-react-router-scroll: 6.5.0-next.0_y2kppt6lrltqk6wasg3eswwzsa - gatsby-script: 2.5.0-next.0_y2kppt6lrltqk6wasg3eswwzsa - gatsby-telemetry: 4.5.0-next.0 - gatsby-worker: 2.5.0-next.0 + fs-extra: 11.1.0 + gatsby-cli: 5.6.0-next.0 + gatsby-core-utils: 4.6.0-next.0 + gatsby-graphiql-explorer: 3.6.0-next.0 + gatsby-legacy-polyfills: 3.6.0-next.0 + gatsby-link: 5.6.0-next.0_y2kppt6lrltqk6wasg3eswwzsa + gatsby-page-utils: 3.6.0-next.0 + gatsby-parcel-config: 1.6.0-next.0_@parcel+core@2.8.2 + gatsby-plugin-page-creator: 5.6.0-next.0_4kofk2l43xwpw753oec5pxbv5e + gatsby-plugin-typescript: 5.6.0-next.0_gatsby@5.6.0-next.0 + gatsby-plugin-utils: 4.6.0-next.0_4kofk2l43xwpw753oec5pxbv5e + gatsby-react-router-scroll: 6.6.0-next.0_y2kppt6lrltqk6wasg3eswwzsa + gatsby-script: 2.6.0-next.0_y2kppt6lrltqk6wasg3eswwzsa + gatsby-telemetry: 4.6.0-next.0 + gatsby-worker: 2.6.0-next.0 glob: 7.2.3 globby: 11.1.0 got: 11.8.6 @@ -21175,11 +21024,10 @@ packages: latest-version: 7.0.0 lmdb: 2.5.3 lodash: 4.17.21 - md5-file: 5.0.0 meant: 1.0.3 memoizee: 0.4.15 micromatch: 4.0.5 - mime: 2.6.0 + mime: 3.0.0 mini-css-extract-plugin: 1.6.2_webpack@5.75.0 mitt: 1.2.0 moment: 2.29.4 @@ -21229,11 +21077,11 @@ packages: webpack-dev-middleware: 4.3.0_webpack@5.75.0 webpack-merge: 5.8.0 webpack-stats-plugin: 1.1.1 - webpack-virtual-modules: 0.3.2 + webpack-virtual-modules: 0.5.0 xstate: 4.35.2 yaml-loader: 0.8.0 optionalDependencies: - gatsby-sharp: 1.5.0-next.0 + gatsby-sharp: 1.6.0-next.0 transitivePeerDependencies: - '@swc/core' - '@types/webpack' @@ -22000,6 +21848,10 @@ packages: resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==} dev: true + /hash-wasm/4.9.0: + resolution: {integrity: sha512-7SW7ejyfnRxuOc7ptQHSf4LDoZaWOivfzqw+5rpcQku0nHfmicPKE51ra9BiRLAmT8+gGLestr1XroUkqdjL6w==} + dev: false + /hasha/5.2.2: resolution: {integrity: sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==} engines: {node: '>=8'} @@ -25973,12 +25825,6 @@ packages: hasBin: true dev: true - /md5-file/5.0.0: - resolution: {integrity: sha512-xbEFXCYVWrSx/gEKS1VPlg84h/4L20znVIulKw6kMfmBUAZNAnF00eczz9ICMl+/hjQGo5KSXRxbL/47X3rmMw==} - engines: {node: '>=10.13.0'} - hasBin: true - dev: false - /mdast-squeeze-paragraphs/4.0.0: resolution: {integrity: sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ==} dependencies: @@ -26693,33 +26539,6 @@ packages: engines: {node: '>= 0.4.0'} dev: true - /next-auth/4.18.8_xpfrgizk2uibqsegg5y3s2zbwy: - resolution: {integrity: sha512-USP8ihmvB7iCGtkS0+toe2QPrzdbZfkydQZX56JOI9Ft5n/BardOXh3D4wQ2An+vpq/jDKojGlgfv21wVElW7A==} - engines: {node: ^12.19.0 || ^14.15.0 || ^16.13.0 || ^18.12.0} - peerDependencies: - next: ^12.2.5 || ^13 - nodemailer: ^6.6.5 - react: ^17.0.2 || ^18 - react-dom: ^17.0.2 || ^18 - peerDependenciesMeta: - nodemailer: - optional: true - dependencies: - '@babel/runtime': 7.20.7 - '@panva/hkdf': 1.0.2 - cookie: 0.5.0 - jose: 4.11.1 - next: 13.1.2_biqbaboplfbrettd7655fr4n2y - nodemailer: 6.8.0 - oauth: 0.9.15 - openid-client: 5.1.6 - preact: 10.11.3 - preact-render-to-string: 5.2.3_preact@10.11.3 - react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 - uuid: 8.3.2 - dev: false - /next-tick/1.1.0: resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} @@ -26811,50 +26630,6 @@ packages: - babel-plugin-macros dev: false - /next/13.1.2_biqbaboplfbrettd7655fr4n2y: - resolution: {integrity: sha512-Rdnnb2YH///w78FEOR/IQ6TXga+qpth4OqFSem48ng1PYYKr6XBsIk1XVaRcIGM3o6iiHnun0nJvkJHDf+ICyQ==} - engines: {node: '>=14.6.0'} - hasBin: true - peerDependencies: - fibers: '>= 3.1.0' - node-sass: ^6.0.0 || ^7.0.0 - react: ^18.2.0 - react-dom: ^18.2.0 - sass: ^1.3.0 - peerDependenciesMeta: - fibers: - optional: true - node-sass: - optional: true - sass: - optional: true - dependencies: - '@next/env': 13.1.2 - '@swc/helpers': 0.4.14 - caniuse-lite: 1.0.30001431 - postcss: 8.4.14 - react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 - styled-jsx: 5.1.1_react@18.2.0 - optionalDependencies: - '@next/swc-android-arm-eabi': 13.1.2 - '@next/swc-android-arm64': 13.1.2 - '@next/swc-darwin-arm64': 13.1.2 - '@next/swc-darwin-x64': 13.1.2 - '@next/swc-freebsd-x64': 13.1.2 - '@next/swc-linux-arm-gnueabihf': 13.1.2 - '@next/swc-linux-arm64-gnu': 13.1.2 - '@next/swc-linux-arm64-musl': 13.1.2 - '@next/swc-linux-x64-gnu': 13.1.2 - '@next/swc-linux-x64-musl': 13.1.2 - '@next/swc-win32-arm64-msvc': 13.1.2 - '@next/swc-win32-ia32-msvc': 13.1.2 - '@next/swc-win32-x64-msvc': 13.1.2 - transitivePeerDependencies: - - '@babel/core' - - babel-plugin-macros - dev: false - /nice-try/1.0.5: resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} @@ -32356,6 +32131,7 @@ packages: /term-size/2.2.1: resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} engines: {node: '>=8'} + dev: true /terminal-link/2.1.1: resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} @@ -34469,17 +34245,8 @@ packages: resolution: {integrity: sha512-aWwE/YuO2W7VCOyWwyDJ7BRSYRYjeXat+X31YiasMM3FS6/4X9W4Mb9Q0g+jIdVgArr1Mb08sHBJKMT5M9+gVA==} dev: false - /webpack-virtual-modules/0.3.2: - resolution: {integrity: sha512-RXQXioY6MhzM4CNQwmBwKXYgBs6ulaiQ8bkNQEl2J6Z+V+s7lgl/wGvaI/I0dLnYKB8cKsxQc17QOAVIphPLDw==} - dependencies: - debug: 3.2.7 - transitivePeerDependencies: - - supports-color - dev: false - /webpack-virtual-modules/0.5.0: resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==} - dev: true /webpack/5.73.0: resolution: {integrity: sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==} From 505f69b519ccc00de443357ebebc4cb1e5099d9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Orb=C3=A1n?= Date: Tue, 24 Jan 2023 02:29:10 +0100 Subject: [PATCH 10/31] chore: fix pipeline --- .github/workflows/release.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 62d59543..a00ebe66 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -47,7 +47,6 @@ jobs: - name: Upload E2E artifacts if: github.repository == 'nextauthjs/next-auth' uses: actions/upload-artifact@v3 - if: always() with: name: playwright-report path: apps/dev/nextjs/playwright-report/ From 52f70e9f4f9ad7b26e31ac9df7a75c2b74dc6dce Mon Sep 17 00:00:00 2001 From: Robin Panta Date: Tue, 24 Jan 2023 07:04:45 +0530 Subject: [PATCH 11/31] docs: update "guide deep-dive" link (#6473) Fixes https://github.com/nextauthjs/next-auth/issues/6466 --- docs/docs/reference/04-providers/04-email.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/reference/04-providers/04-email.md b/docs/docs/reference/04-providers/04-email.md index a4d59c8b..ec8279f7 100644 --- a/docs/docs/reference/04-providers/04-email.md +++ b/docs/docs/reference/04-providers/04-email.md @@ -16,4 +16,4 @@ sidebar_label: Email options See our guides on magic links authentication for further tips on how to customize this provider: - [Tutorial](/getting-started/email-tutorial) -- [Guide deep-dive](guides/providers/email) +- [Guide deep-dive](/guides/providers/email) From 7bb037bb9d434a1d3d52414b5337f6c5ff73b86f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Orb=C3=A1n?= Date: Tue, 24 Jan 2023 02:42:13 +0100 Subject: [PATCH 12/31] chore: temp. disable E2E tests --- .github/workflows/release.yml | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a00ebe66..919e9390 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -35,22 +35,22 @@ jobs: UPSTASH_REDIS_KEY: ${{ secrets.UPSTASH_REDIS_KEY }} TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} TURBO_TEAM: ${{ secrets.TURBO_TEAM }} - - name: Run E2E tests - if: github.repository == 'nextauthjs/next-auth' - run: pnpm e2e - timeout-minutes: 15 - env: - AUTH0_USERNAME: ${{ secrets.AUTH0_USERNAME }} - AUTH0_PASSWORD: ${{ secrets.AUTH0_PASSWORD }} - TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} - TURBO_TEAM: ${{ secrets.TURBO_TEAM }} - - name: Upload E2E artifacts - if: github.repository == 'nextauthjs/next-auth' - uses: actions/upload-artifact@v3 - with: - name: playwright-report - path: apps/dev/nextjs/playwright-report/ - retention-days: 30 + # - name: Run E2E tests + # if: github.repository == 'nextauthjs/next-auth' + # run: pnpm e2e + # timeout-minutes: 15 + # env: + # AUTH0_USERNAME: ${{ secrets.AUTH0_USERNAME }} + # AUTH0_PASSWORD: ${{ secrets.AUTH0_PASSWORD }} + # TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} + # TURBO_TEAM: ${{ secrets.TURBO_TEAM }} + # - name: Upload E2E artifacts + # if: github.repository == 'nextauthjs/next-auth' + # uses: actions/upload-artifact@v3 + # with: + # name: playwright-report + # path: apps/dev/nextjs/playwright-report/ + # retention-days: 30 # - name: Coverage # uses: codecov/codecov-action@v1 # with: From 9b9af4d5e5512b2deea0a10343fcc6bc11945975 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Orb=C3=A1n?= Date: Tue, 24 Jan 2023 02:56:20 +0100 Subject: [PATCH 13/31] chore: bump versions [skip ci] --- packages/adapter-dynamodb/package.json | 4 ++-- packages/adapter-xata/package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/adapter-dynamodb/package.json b/packages/adapter-dynamodb/package.json index 5b528f69..7809f2e7 100644 --- a/packages/adapter-dynamodb/package.json +++ b/packages/adapter-dynamodb/package.json @@ -1,7 +1,7 @@ { "name": "@next-auth/dynamodb-adapter", "repository": "https://github.com/nextauthjs/next-auth", - "version": "1.0.6", + "version": "1.1.0", "description": "AWS DynamoDB adapter for next-auth.", "keywords": [ "next-auth", @@ -44,4 +44,4 @@ "jest": "^27.4.3", "next-auth": "workspace:*" } -} \ No newline at end of file +} diff --git a/packages/adapter-xata/package.json b/packages/adapter-xata/package.json index a063f135..6cc93f3b 100644 --- a/packages/adapter-xata/package.json +++ b/packages/adapter-xata/package.json @@ -1,6 +1,6 @@ { "name": "@next-auth/xata-adapter", - "version": "0.2.0", + "version": "0.2.1", "description": "Xata adapter for next-auth.", "homepage": "https://authjs.dev", "repository": "https://github.com/nextauthjs/next-auth", From 44c38247da8c94df532ae1b9aeed08aa348ddd59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Orb=C3=A1n?= Date: Tue, 24 Jan 2023 02:58:49 +0100 Subject: [PATCH 14/31] chore: trigger CI From b9a84350b5047876b3d1c5bc1cfbcb7c7472023c Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Tue, 24 Jan 2023 02:02:00 +0000 Subject: [PATCH 15/31] chore(release): bump package version(s) [skip ci] --- packages/adapter-dynamodb/package.json | 4 ++-- packages/adapter-xata/package.json | 4 ++-- packages/core/package.json | 4 ++-- packages/frameworks-sveltekit/package.json | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/adapter-dynamodb/package.json b/packages/adapter-dynamodb/package.json index 7809f2e7..173c4da8 100644 --- a/packages/adapter-dynamodb/package.json +++ b/packages/adapter-dynamodb/package.json @@ -1,7 +1,7 @@ { "name": "@next-auth/dynamodb-adapter", "repository": "https://github.com/nextauthjs/next-auth", - "version": "1.1.0", + "version": "1.2.0", "description": "AWS DynamoDB adapter for next-auth.", "keywords": [ "next-auth", @@ -44,4 +44,4 @@ "jest": "^27.4.3", "next-auth": "workspace:*" } -} +} \ No newline at end of file diff --git a/packages/adapter-xata/package.json b/packages/adapter-xata/package.json index 6cc93f3b..e3dd8e5d 100644 --- a/packages/adapter-xata/package.json +++ b/packages/adapter-xata/package.json @@ -1,6 +1,6 @@ { "name": "@next-auth/xata-adapter", - "version": "0.2.1", + "version": "0.2.2", "description": "Xata adapter for next-auth.", "homepage": "https://authjs.dev", "repository": "https://github.com/nextauthjs/next-auth", @@ -43,4 +43,4 @@ "jest": { "preset": "@next-auth/adapter-test/jest" } -} +} \ No newline at end of file diff --git a/packages/core/package.json b/packages/core/package.json index 7d5093a6..58190971 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@auth/core", - "version": "0.2.5", + "version": "0.3.0", "description": "Authentication for the Web.", "keywords": [ "authentication", @@ -92,4 +92,4 @@ "postcss": "8.4.19", "postcss-nested": "6.0.0" } -} +} \ No newline at end of file diff --git a/packages/frameworks-sveltekit/package.json b/packages/frameworks-sveltekit/package.json index 22a8dafa..e8c5edb5 100644 --- a/packages/frameworks-sveltekit/package.json +++ b/packages/frameworks-sveltekit/package.json @@ -1,6 +1,6 @@ { "name": "@auth/sveltekit", - "version": "0.1.12", + "version": "0.2.0", "description": "Authentication for SvelteKit.", "keywords": [ "authentication", @@ -69,4 +69,4 @@ }, "./package.json": "./package.json" } -} +} \ No newline at end of file From 06e891c0eadee00daf09bf2dc68cbd310b6e687b Mon Sep 17 00:00:00 2001 From: Thang Vu Date: Tue, 24 Jan 2023 15:22:42 +0700 Subject: [PATCH 16/31] chore: cache output for `@auth/sveltekit` --- pnpm-lock.yaml | 78 ++++++++++++++++++++------------------------------ turbo.json | 4 +++ 2 files changed, 35 insertions(+), 47 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 390dd777..30fa45e5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -123,8 +123,8 @@ importers: typescript: 4.9.4 vite: 4.0.1 dependencies: - '@auth/core': link:../../../packages/core - '@auth/sveltekit': link:../../../packages/frameworks-sveltekit + '@auth/core': 0.2.5 + '@auth/sveltekit': 0.1.12_bzkxp32pqvunv6braeh76ugwhu devDependencies: '@sveltejs/adapter-auto': 1.0.0-next.91_l5ueyfihz3gpzzvvyo2ean5u3e '@sveltejs/kit': 1.0.0-next.589_svelte@3.55.0+vite@4.0.1 @@ -868,6 +868,35 @@ packages: - supports-color dev: false + /@auth/core/0.2.5: + resolution: {integrity: sha512-e9jQOW6kSnxa0gfeR5neqLIDAUvZtyGTh3YpO2eN5F/5gBybE582M5e34rXlJKj+/tAgf+oYBJAY5CUxGTY9tw==} + peerDependencies: + nodemailer: 6.8.0 + peerDependenciesMeta: + nodemailer: + optional: true + dependencies: + '@panva/hkdf': 1.0.2 + cookie: 0.5.0 + jose: 4.11.1 + oauth4webapi: 2.0.6 + preact: 10.11.3 + preact-render-to-string: 5.2.3_preact@10.11.3 + dev: false + + /@auth/sveltekit/0.1.12_bzkxp32pqvunv6braeh76ugwhu: + resolution: {integrity: sha512-nQyOXOaVRl+70XSIsgQCpU0BFkOb52DqsRmfNUOIm4/EtGTERLLsKVCRaPXXCYp6t22I2pu4E2gD79r74gPyZA==} + peerDependencies: + '@sveltejs/kit': ^1.0.0 + svelte: ^3.54.0 + dependencies: + '@auth/core': 0.2.5 + '@sveltejs/kit': 1.0.0-next.589_svelte@3.55.0+vite@4.0.1 + svelte: 3.55.0 + transitivePeerDependencies: + - nodemailer + dev: false + /@aws-crypto/ie11-detection/2.0.0: resolution: {integrity: sha512-pkVXf/dq6PITJ0jzYZ69VhL8VFOFoPZLZqtU/12SGnzYuJOOGNfF41q9GxdI1yqC8R13Rq3jOLKDFpUJFT5eTA==} dependencies: @@ -8330,7 +8359,6 @@ packages: cpu: [arm] os: [android] requiresBuild: true - dev: true optional: true /@esbuild/android-arm64/0.16.4: @@ -8339,7 +8367,6 @@ packages: cpu: [arm64] os: [android] requiresBuild: true - dev: true optional: true /@esbuild/android-x64/0.16.4: @@ -8348,7 +8375,6 @@ packages: cpu: [x64] os: [android] requiresBuild: true - dev: true optional: true /@esbuild/darwin-arm64/0.16.4: @@ -8357,7 +8383,6 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true - dev: true optional: true /@esbuild/darwin-x64/0.16.4: @@ -8366,7 +8391,6 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true - dev: true optional: true /@esbuild/freebsd-arm64/0.16.4: @@ -8375,7 +8399,6 @@ packages: cpu: [arm64] os: [freebsd] requiresBuild: true - dev: true optional: true /@esbuild/freebsd-x64/0.16.4: @@ -8384,7 +8407,6 @@ packages: cpu: [x64] os: [freebsd] requiresBuild: true - dev: true optional: true /@esbuild/linux-arm/0.16.4: @@ -8393,7 +8415,6 @@ packages: cpu: [arm] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-arm64/0.16.4: @@ -8402,7 +8423,6 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-ia32/0.16.4: @@ -8411,7 +8431,6 @@ packages: cpu: [ia32] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-loong64/0.14.54: @@ -8438,7 +8457,6 @@ packages: cpu: [loong64] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-mips64el/0.16.4: @@ -8447,7 +8465,6 @@ packages: cpu: [mips64el] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-ppc64/0.16.4: @@ -8456,7 +8473,6 @@ packages: cpu: [ppc64] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-riscv64/0.16.4: @@ -8465,7 +8481,6 @@ packages: cpu: [riscv64] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-s390x/0.16.4: @@ -8474,7 +8489,6 @@ packages: cpu: [s390x] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-x64/0.16.4: @@ -8483,7 +8497,6 @@ packages: cpu: [x64] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/netbsd-x64/0.16.4: @@ -8492,7 +8505,6 @@ packages: cpu: [x64] os: [netbsd] requiresBuild: true - dev: true optional: true /@esbuild/openbsd-x64/0.16.4: @@ -8501,7 +8513,6 @@ packages: cpu: [x64] os: [openbsd] requiresBuild: true - dev: true optional: true /@esbuild/sunos-x64/0.16.4: @@ -8510,7 +8521,6 @@ packages: cpu: [x64] os: [sunos] requiresBuild: true - dev: true optional: true /@esbuild/win32-arm64/0.16.4: @@ -8519,7 +8529,6 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true - dev: true optional: true /@esbuild/win32-ia32/0.16.4: @@ -8528,7 +8537,6 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true - dev: true optional: true /@esbuild/win32-x64/0.16.4: @@ -8537,7 +8545,6 @@ packages: cpu: [x64] os: [win32] requiresBuild: true - dev: true optional: true /@eslint/eslintrc/0.4.3: @@ -11415,7 +11422,6 @@ packages: /@polka/url/1.0.0-next.21: resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} - dev: true /@prisma/client/3.15.2_prisma@3.15.2: resolution: {integrity: sha512-ErqtwhX12ubPhU4d++30uFY/rPcyvjk+mdifaZO5SeM21zS3t4jQrscy8+6IyB0GIYshl5ldTq6JSBo1d63i8w==} @@ -11834,7 +11840,6 @@ packages: vite: 4.0.1 transitivePeerDependencies: - supports-color - dev: true /@sveltejs/kit/1.0.1_svelte@3.54.0+vite@4.0.1: resolution: {integrity: sha512-C41aCaDjA7xoUdsrc/lSdU1059UdLPIRE1vEIRRynzpMujNgp82bTMHkDosb6vykH6LrLf3tT2w2/5NYQhKYGQ==} @@ -11916,7 +11921,6 @@ packages: vitefu: 0.2.4_vite@4.0.1 transitivePeerDependencies: - supports-color - dev: true /@svgr/babel-plugin-add-jsx-attribute/6.0.0_@babel+core@7.20.12: resolution: {integrity: sha512-MdPdhdWLtQsjd29Wa4pABdhWbaRMACdM1h31BY+c6FghTZqNGT7pEYdBoaGeKtdTOBC/XNFQaKVj+r/Ei2ryWA==} @@ -12443,7 +12447,6 @@ packages: /@types/cookie/0.5.1: resolution: {integrity: sha512-COUnqfB2+ckwXXSFInsFdOAWQzCCx+a5hq2ruyj+Vjund94RJQd4LG2u9hnvJrTgunKAaax7ancBYlDrNYxA0g==} - dev: true /@types/cors/2.8.13: resolution: {integrity: sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==} @@ -17847,7 +17850,6 @@ packages: /devalue/4.2.0: resolution: {integrity: sha512-mbjoAaCL2qogBKgeFxFPOXAUsZchircF+B/79LD4sHH0+NHfYm8gZpQrskKDn5gENGt35+5OI1GUF7hLVnkPDw==} - dev: true /devcert/1.2.2: resolution: {integrity: sha512-UsLqvtJGPiGwsIZnJINUnFYaWgK7CroreGRndWHZkRD58tPFr3pVbbSyHR8lbh41+azR4jKvuNZ+eCoBZGA5kA==} @@ -18912,7 +18914,6 @@ packages: '@esbuild/win32-arm64': 0.16.4 '@esbuild/win32-ia32': 0.16.4 '@esbuild/win32-x64': 0.16.4 - dev: true /esbuild/0.8.57: resolution: {integrity: sha512-j02SFrUwFTRUqiY0Kjplwjm1psuzO1d6AjaXKuOR9hrY0HuPsT6sV42B6myW34h1q4CRy+Y3g4RU/cGJeI/nNA==} @@ -19561,7 +19562,6 @@ packages: /esm-env/1.0.0: resolution: {integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==} - dev: true /esm/3.2.25: resolution: {integrity: sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==} @@ -21457,7 +21457,6 @@ packages: /globalyzer/0.1.0: resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==} - dev: true /globby/11.0.4: resolution: {integrity: sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==} @@ -21507,7 +21506,6 @@ packages: /globrex/0.1.2: resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} - dev: true /glur/1.1.2: resolution: {integrity: sha512-l+8esYHTKOx2G/Aao4lEQ0bnHWg4fWtJbVoZZT9Knxi01pB8C80BR85nONLFwkkQoFRCmXY+BUcGZN3yZ2QsRA==} @@ -25001,7 +24999,6 @@ packages: /kleur/4.1.5: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} - dev: true /klona/2.0.5: resolution: {integrity: sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==} @@ -25651,7 +25648,6 @@ packages: engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.14 - dev: true /mailparser/2.8.1: resolution: {integrity: sha512-H/CYAO9dsw6SFNbEGGpZsejVSWDcFlyHjb1OkHUWg0wggUekva1tNc28trB155nSqM8rhtbwTKt//orX0AmJxQ==} @@ -26333,12 +26329,10 @@ packages: /mri/1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} - dev: true /mrmime/1.0.1: resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==} engines: {node: '>=10'} - dev: true /ms/2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} @@ -30304,7 +30298,6 @@ packages: hasBin: true optionalDependencies: fsevents: 2.3.2 - dev: true /route-sort/1.0.0: resolution: {integrity: sha512-SFgmvjoIhp5S4iBEDW3XnbT+7PRuZ55oRuNjY+CDB1SGZkyCG9bqQ3/dhaZTctTBYMAvDxd2Uy9dStuaUfgJqQ==} @@ -30376,7 +30369,6 @@ packages: engines: {node: '>=6'} dependencies: mri: 1.2.0 - dev: true /safe-buffer/5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} @@ -30825,7 +30817,6 @@ packages: '@polka/url': 1.0.0-next.21 mrmime: 1.0.1 totalist: 3.0.0 - dev: true /sisteransi/1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} @@ -31847,7 +31838,6 @@ packages: svelte: '>=3.19.0' dependencies: svelte: 3.55.0 - dev: true /svelte-preprocess/4.10.7_niwyv7xychq2ag6arq5eqxbomm: resolution: {integrity: sha512-sNPBnqYD6FnmdBrUmBCaqS00RyCsCpj2BG58A1JBswNF7b0OKviwxqVrOL/CKyJrLSClrSeqQv5BXNg2RUbPOw==} @@ -31959,7 +31949,6 @@ packages: /svelte/3.55.0: resolution: {integrity: sha512-uGu2FVMlOuey4JoKHKrpZFkoYyj0VLjJdz47zX5+gVK5odxHM40RVhar9/iK2YFRVxvfg9FkhfVlR0sjeIrOiA==} engines: {node: '>= 8'} - dev: true /svelte2tsx/0.5.22_gf4dcx76vtk2o62ixxeqx7chra: resolution: {integrity: sha512-OytIql7Bv53oFuL0jjsnp/gNvR4ngAUdAjswgibmIQT2Lj2OIQYn2J3gKqRd+wSj/n3M/wrz4zJpudQRSfncZw==} @@ -32308,7 +32297,6 @@ packages: dependencies: globalyzer: 0.1.0 globrex: 0.1.2 - dev: true /tiny-invariant/1.2.0: resolution: {integrity: sha512-1Uhn/aqw5C6RI4KejVeTg6mIS7IqxnLJ8Mv2tV5rTc0qWobay7pDUz6Wi392Cnc8ak1H0F2cjoRzb2/AW4+Fvg==} @@ -32398,7 +32386,6 @@ packages: /totalist/3.0.0: resolution: {integrity: sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==} engines: {node: '>=6'} - dev: true /tough-cookie/2.5.0: resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} @@ -33088,7 +33075,6 @@ packages: engines: {node: '>=12.18'} dependencies: busboy: 1.6.0 - dev: true /unenv/1.0.1: resolution: {integrity: sha512-08MoQ5+Edg9ckEP5y6vT8R6sOgCsNPxwPA1mKIOyergTtPOOuSyyJnbmF8CdnUplO2TUqSm0s1IysCkylxmndw==} @@ -33810,7 +33796,6 @@ packages: rollup: 3.7.4 optionalDependencies: fsevents: 2.3.2 - dev: true /vite/4.0.1_@types+node@18.11.10: resolution: {integrity: sha512-kZQPzbDau35iWOhy3CpkrRC7It+HIHtulAzBhMqzGHKRf/4+vmh8rPDDdv98SWQrFWo6//3ozwsRmwQIPZsK9g==} @@ -33864,7 +33849,6 @@ packages: optional: true dependencies: vite: 4.0.1 - dev: true /vitest/0.25.7: resolution: {integrity: sha512-lJ+Ue+v8kHl2JzjaKHJ9u5Yo/loU7zrWK2/Whn8OKQjtq5G7nkeWfXuq3elZaC8xKdkdIuWiiIicaNBG1F5yzg==} diff --git a/turbo.json b/turbo.json index 257df04f..9f7a16d3 100644 --- a/turbo.json +++ b/turbo.json @@ -25,6 +25,10 @@ "dependsOn": ["^build"], "outputs": ["lib/**", "providers/**", "*.js", "*.d.ts", "*.d.ts.map"] }, + "@auth/sveltekit#build": { + "dependsOn": ["^build"], + "outputs": ["client.*", "index.*"] + }, "clean": { "cache": false }, From 681d53c2f8b5b9997776c0a76d8faccde22b7e41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Orb=C3=A1n?= Date: Tue, 24 Jan 2023 14:01:40 +0100 Subject: [PATCH 17/31] chore(core): cleanup --- packages/core/src/lib/index.ts | 4 +-- .../core/src/lib/oauth/authorization-url.ts | 2 +- packages/core/src/lib/routes/callback.ts | 6 ++--- packages/core/src/lib/routes/shared.ts | 4 +-- packages/core/src/lib/routes/signin.ts | 2 +- packages/core/src/lib/routes/signout.ts | 2 +- packages/core/src/lib/web.ts | 27 ++++++++----------- packages/core/src/types.ts | 6 ++--- 8 files changed, 24 insertions(+), 29 deletions(-) diff --git a/packages/core/src/lib/index.ts b/packages/core/src/lib/index.ts index 5aab02c4..01d97ee8 100644 --- a/packages/core/src/lib/index.ts +++ b/packages/core/src/lib/index.ts @@ -72,9 +72,9 @@ export async function AuthInternal< if (pages.signIn) { let signinUrl = `${pages.signIn}${ pages.signIn.includes("?") ? "&" : "?" - }callbackUrl=${encodeURIComponent(options.callbackUrl)}` + }${new URLSearchParams({ callbackUrl: options.callbackUrl })}` if (error) - signinUrl = `${signinUrl}&error=${encodeURIComponent(error)}` + signinUrl = `${signinUrl}&${new URLSearchParams({ error })}` return { redirect: signinUrl, cookies } } diff --git a/packages/core/src/lib/oauth/authorization-url.ts b/packages/core/src/lib/oauth/authorization-url.ts index 169588da..983cf29f 100644 --- a/packages/core/src/lib/oauth/authorization-url.ts +++ b/packages/core/src/lib/oauth/authorization-url.ts @@ -90,5 +90,5 @@ export async function getAuthorizationUrl( } logger.debug("authorization url is ready", { url, cookies, provider }) - return { redirect: url, cookies } + return { redirect: url.toString(), cookies } } diff --git a/packages/core/src/lib/routes/callback.ts b/packages/core/src/lib/routes/callback.ts index 35e33be5..4812bef3 100644 --- a/packages/core/src/lib/routes/callback.ts +++ b/packages/core/src/lib/routes/callback.ts @@ -149,7 +149,7 @@ export async function callback(params: { return { redirect: `${pages.newUser}${ pages.newUser.includes("?") ? "&" : "?" - }callbackUrl=${encodeURIComponent(callbackUrl)}`, + }${new URLSearchParams({ callbackUrl })}`, cookies, } } @@ -256,7 +256,7 @@ export async function callback(params: { return { redirect: `${pages.newUser}${ pages.newUser.includes("?") ? "&" : "?" - }callbackUrl=${encodeURIComponent(callbackUrl)}`, + }${new URLSearchParams({ callbackUrl })}`, cookies, } } @@ -350,6 +350,6 @@ export async function callback(params: { logger.error(error) url.searchParams.set("error", CallbackRouteError.name) url.pathname += "/error" - return { redirect: url, cookies } + return { redirect: url.toString(), cookies } } } diff --git a/packages/core/src/lib/routes/shared.ts b/packages/core/src/lib/routes/shared.ts index 217dd5f4..f1ea11ee 100644 --- a/packages/core/src/lib/routes/shared.ts +++ b/packages/core/src/lib/routes/shared.ts @@ -13,13 +13,13 @@ export async function handleAuthorized( if (!authorized) { logger.debug("User not authorized", params) url.searchParams.set("error", "AccessDenied") - return { status: 403 as const, redirect: url } + return { status: 403 as const, redirect: url.toString() } } } catch (e) { const error = new AuthorizedCallbackError(e as Error) logger.error(error) url.searchParams.set("error", "Configuration") - return { status: 500 as const, redirect: url } + return { status: 500 as const, redirect: url.toString() } } } diff --git a/packages/core/src/lib/routes/signin.ts b/packages/core/src/lib/routes/signin.ts index dcc63fb6..3cdd190c 100644 --- a/packages/core/src/lib/routes/signin.ts +++ b/packages/core/src/lib/routes/signin.ts @@ -54,7 +54,7 @@ export async function signin( logger.error(error) url.searchParams.set("error", error.name) url.pathname += "/error" - return { redirect: url } + return { redirect: url.toString() } } } diff --git a/packages/core/src/lib/routes/signout.ts b/packages/core/src/lib/routes/signout.ts index 867d6ba6..4a566eeb 100644 --- a/packages/core/src/lib/routes/signout.ts +++ b/packages/core/src/lib/routes/signout.ts @@ -8,7 +8,7 @@ import type { SessionStore } from "../cookie.js" * If the session strategy is database, * The session is also deleted from the database. * In any case, the session cookie is cleared and - * an `events.signOut` is emitted. + * {@link EventCallbacks.signOut} is emitted. */ export async function signout( sessionStore: SessionStore, diff --git a/packages/core/src/lib/web.ts b/packages/core/src/lib/web.ts index 4c3395bf..fc1a782f 100644 --- a/packages/core/src/lib/web.ts +++ b/packages/core/src/lib/web.ts @@ -76,27 +76,22 @@ export function toResponse(res: ResponseInternal): Response { res.cookies?.forEach((cookie) => { const { name, value, options } = cookie const cookieHeader = serialize(name, value, options) - if (headers.has("Set-Cookie")) { - headers.append("Set-Cookie", cookieHeader) - } else { - headers.set("Set-Cookie", cookieHeader) - } + if (headers.has("Set-Cookie")) headers.append("Set-Cookie", cookieHeader) + else headers.set("Set-Cookie", cookieHeader) // headers.set("Set-Cookie", cookieHeader) // TODO: Remove. Seems to be a bug with Headers in the runtime }) - const body = - headers.get("content-type") === "application/json" - ? JSON.stringify(res.body) - : res.body + let body = res.body - const response = new Response(body, { - headers, - status: res.redirect ? 302 : res.status ?? 200, - }) + if (headers.get("content-type") === "application/json") + body = JSON.stringify(res.body) + else if (headers.get("content-type") === "application/x-www-form-urlencoded") + body = new URLSearchParams(res.body).toString() - if (res.redirect) { - response.headers.set("Location", res.redirect.toString()) - } + const status = res.redirect ? 302 : res.status ?? 200 + const response = new Response(body, { headers, status }) + + if (res.redirect) response.headers.set("Location", res.redirect) return response } diff --git a/packages/core/src/types.ts b/packages/core/src/types.ts index dd37d09e..9e4f0f12 100644 --- a/packages/core/src/types.ts +++ b/packages/core/src/types.ts @@ -203,7 +203,7 @@ export interface CallbacksOptions

{ * Its content is forwarded to the `session` callback, * where you can control what should be returned to the client. * Anything else will be kept inaccessible from the client. - * + * * Returning `null` will invalidate the JWT session by clearing * the user's cookies. You'll still have to monitor and invalidate * unexpired tokens from future requests yourself to prevent @@ -220,7 +220,7 @@ export interface CallbacksOptions

{ account?: A | null profile?: P isNewUser?: boolean - }) => Awaitable + }) => Awaitable } /** [Documentation](https://authjs.dev/reference/configuration/auth-config#cookies) */ @@ -452,7 +452,7 @@ export interface ResponseInternal< status?: number headers?: Headers | HeadersInit body?: Body - redirect?: URL | string + redirect?: string cookies?: Cookie[] } From a336ba762cb7040b31044773a81b555b840314dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20Sellam?= Date: Wed, 25 Jan 2023 13:57:52 +0100 Subject: [PATCH 18/31] =?UTF-8?q?fix(adapters):=20allow=20already=20initia?= =?UTF-8?q?lized=20firebase=20app=20=F0=9F=90=9B=20=20(#6230)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 🐛 Fix already initialized firebase app * remove comment Co-authored-by: Jérémie Sellam Co-authored-by: Thang Vu --- packages/adapter-firebase/src/getFirebase.ts | 11 +++++++++++ packages/adapter-firebase/src/index.ts | 3 ++- 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 packages/adapter-firebase/src/getFirebase.ts diff --git a/packages/adapter-firebase/src/getFirebase.ts b/packages/adapter-firebase/src/getFirebase.ts new file mode 100644 index 00000000..b38f67b1 --- /dev/null +++ b/packages/adapter-firebase/src/getFirebase.ts @@ -0,0 +1,11 @@ +import { initializeApp, getApps, FirebaseOptions } from "firebase/app" + +export default function getFirebase(firebaseOptions: FirebaseOptions) { + const apps = getApps() + const app = apps.find((app) => app.name === firebaseOptions.projectId) + if (app) { + return app + } else { + return initializeApp(firebaseOptions) + } +} diff --git a/packages/adapter-firebase/src/index.ts b/packages/adapter-firebase/src/index.ts index f216f466..e42d10d3 100644 --- a/packages/adapter-firebase/src/index.ts +++ b/packages/adapter-firebase/src/index.ts @@ -25,6 +25,7 @@ import type { } from "next-auth/adapters" import { getConverter } from "./converter" +import getFirebase from "./getFirebase" export type IndexableObject = Record @@ -39,7 +40,7 @@ export function FirestoreAdapter({ emulator, ...firebaseOptions }: FirebaseOptions & FirestoreAdapterOptions): Adapter { - const firebaseApp = initializeApp(firebaseOptions) + const firebaseApp = getFirebase(firebaseOptions) const db = getFirestore(firebaseApp) if (emulator) { From 0204766e0f2c7b2f3b2a83a28fb87d808dbfba9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Orb=C3=A1n?= Date: Wed, 25 Jan 2023 14:29:16 +0000 Subject: [PATCH 19/31] fix(core): don't lock `nodemailer` version as peer dependency --- packages/core/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/core/package.json b/packages/core/package.json index 58190971..f03a7055 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -69,7 +69,7 @@ "preact-render-to-string": "5.2.3" }, "peerDependencies": { - "nodemailer": "6.8.0" + "nodemailer": "^6.8.0" }, "peerDependenciesMeta": { "nodemailer": { @@ -92,4 +92,4 @@ "postcss": "8.4.19", "postcss-nested": "6.0.0" } -} \ No newline at end of file +} From c0dea283ba94927fc7ad81108479281d704bea16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Orb=C3=A1n?= Date: Thu, 26 Jan 2023 13:11:04 +0100 Subject: [PATCH 20/31] fix(core): avoid circular dependency Fixes #6508 --- packages/core/src/index.ts | 15 +++------------ packages/core/src/lib/index.ts | 12 +++++++++++- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index 0030dda2..94e761c3 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -34,7 +34,7 @@ import { assertConfig } from "./lib/assert.js" import { ErrorPageLoop } from "./errors.js" -import { AuthInternal } from "./lib/index.js" +import { AuthInternal, skipCSRFCheck } from "./lib/index.js" import renderPage from "./lib/pages/index.js" import { logger, setLogger, type LoggerInstance } from "./lib/utils/logger.js" import { toInternalRequest, toResponse } from "./lib/web.js" @@ -51,6 +51,8 @@ import type { import type { Provider } from "./providers/index.js" import { JWTOptions } from "./jwt.js" +export { skipCSRFCheck } + /** * Core functionality provided by Auth.js. * @@ -298,14 +300,3 @@ export interface AuthConfig { trustHost?: boolean skipCSRFCheck?: typeof skipCSRFCheck } - -/** - * :::danger - * This option is inteded for framework authors. - * ::: - * - * Auth.js comes with built-in {@link https://authjs.dev/concepts/security#csrf CSRF} protection, but - * if you are implementing a framework that is already protected against CSRF attacks, you can skip this check by - * passing this value to {@link AuthConfig.skipCSRFCheck}. - */ -export const skipCSRFCheck = Symbol("skip-csrf-check") diff --git a/packages/core/src/lib/index.ts b/packages/core/src/lib/index.ts index 01d97ee8..981725f4 100644 --- a/packages/core/src/lib/index.ts +++ b/packages/core/src/lib/index.ts @@ -1,5 +1,4 @@ import { UnknownAction } from "../errors.js" -import { skipCSRFCheck } from "../index.js" import { SessionStore } from "./cookie.js" import { init } from "./init.js" import renderPage from "./pages/index.js" @@ -186,3 +185,14 @@ export async function AuthInternal< } throw new UnknownAction(`Cannot handle action: ${action}`) } + +/** + * :::danger + * This option is inteded for framework authors. + * ::: + * + * Auth.js comes with built-in {@link https://authjs.dev/concepts/security#csrf CSRF} protection, but + * if you are implementing a framework that is already protected against CSRF attacks, you can skip this check by + * passing this value to {@link AuthConfig.skipCSRFCheck}. + */ +export const skipCSRFCheck = Symbol("skip-csrf-check") From 1bde7cc8df8d56a37de5f575efa4b11a7c7de488 Mon Sep 17 00:00:00 2001 From: Oskar Date: Thu, 26 Jan 2023 13:16:47 +0100 Subject: [PATCH 21/31] fix(core): correct docs link (#6446) --- packages/core/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index 94e761c3..4060c73c 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -27,7 +27,7 @@ * ## Resources * * - [Getting started](https://authjs.dev/getting-started/introduction) - * - [Most common use case guides](https://authjs.dev/guides/overview) + * - [Most common use case guides](https://authjs.dev/guides) * * @module main */ From dfe65094728eea1335a42e4f9cdcead16cee06a1 Mon Sep 17 00:00:00 2001 From: James <5511220+Zamiell@users.noreply.github.com> Date: Sun, 29 Jan 2023 07:05:14 -0500 Subject: [PATCH 22/31] fix: comment Discord profile, fix `@auth/sveltekit` build on Windows (#6550) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: discord types were inaccurate * fix: build on windows computers * Apply review suggestions * Update discord.ts --------- Co-authored-by: Balázs Orbán --- packages/core/src/lib/oauth/callback.ts | 2 +- packages/core/src/providers/discord.ts | 80 ++++++++++++++++--- packages/core/src/providers/oauth.ts | 2 +- .../frameworks-sveltekit/scripts/postbuild.js | 10 ++- 4 files changed, 79 insertions(+), 15 deletions(-) diff --git a/packages/core/src/lib/oauth/callback.ts b/packages/core/src/lib/oauth/callback.ts index 61cc6b3d..717fabaa 100644 --- a/packages/core/src/lib/oauth/callback.ts +++ b/packages/core/src/lib/oauth/callback.ts @@ -203,7 +203,7 @@ async function getProfile( // If we didn't get a response either there was a problem with the provider // response *or* the user cancelled the action with the provider. // - // Unfortuately, we can't tell which - at least not in a way that works for + // Unfortunately, we can't tell which - at least not in a way that works for // all providers, so we return an empty object; the user should then be // redirected back to the sign up page. We log the error to help developers // who might be trying to debug this when configuring a new provider. diff --git a/packages/core/src/providers/discord.ts b/packages/core/src/providers/discord.ts index f2b11961..f4d504cd 100644 --- a/packages/core/src/providers/discord.ts +++ b/packages/core/src/providers/discord.ts @@ -1,21 +1,77 @@ import type { OAuthConfig, OAuthUserConfig } from "./index.js" +/** + * Corresponds to the user structure documented here: + * https://discord.com/developers/docs/resources/user#user-object-user-structure + */ export interface DiscordProfile extends Record { - accent_color: number - avatar: string - banner: string - banner_color: string - discriminator: string - email: string - flags: number + /** the user's id (i.e. the numerical snowflake) */ id: string - image_url: string - locale: string - mfa_enabled: boolean - premium_type: number - public_flags: number + /** the user's username, not unique across the platform */ username: string + /** the user's 4-digit discord-tag */ + discriminator: string + /** + * the user's avatar hash: + * https://discord.com/developers/docs/reference#image-formatting + */ + avatar: string | null + /** whether the user belongs to an OAuth2 application */ + bot?: boolean + /** + * whether the user is an Official Discord System user (part of the urgent + * message system) + */ + system?: boolean + /** whether the user has two factor enabled on their account */ + mfa_enabled: boolean + /** + * the user's banner hash: + * https://discord.com/developers/docs/reference#image-formatting + */ + banner: string | null + + /** the user's banner color encoded as an integer representation of hexadecimal color code */ + accent_color: number | null + + /** + * the user's chosen language option: + * https://discord.com/developers/docs/reference#locales + */ + locale: string + /** whether the email on this account has been verified */ verified: boolean + /** the user's email */ + email: string | null + /** + * the flags on a user's account: + * https://discord.com/developers/docs/resources/user#user-object-user-flags + */ + flags: number + /** + * the type of Nitro subscription on a user's account: + * https://discord.com/developers/docs/resources/user#user-object-premium-types + */ + premium_type: number + /** + * the public flags on a user's account: + * https://discord.com/developers/docs/resources/user#user-object-user-flags + */ + public_flags: number + /** undocumented field; corresponds to the user's custom nickname */ + display_name: string | null + /** + * undocumented field; corresponds to the Discord feature where you can e.g. + * put your avatar inside of an ice cube + */ + avatar_decoration: string | null + /** + * undocumented field; corresponds to the premium feature where you can + * select a custom banner color + */ + banner_color: string | null + /** undocumented field; the CDN URL of their profile picture */ + image_url: string } export default function Discord

( diff --git a/packages/core/src/providers/oauth.ts b/packages/core/src/providers/oauth.ts index 82aa8840..87edda7f 100644 --- a/packages/core/src/providers/oauth.ts +++ b/packages/core/src/providers/oauth.ts @@ -66,7 +66,7 @@ export type TokenEndpointHandler = EndpointHandler< params: CallbackParamsType /** * When using this custom flow, make sure to do all the necessary security checks. - * Thist object contains parameters you have to match against the request to make sure it is valid. + * This object contains parameters you have to match against the request to make sure it is valid. */ checks: OAuthChecks }, diff --git a/packages/frameworks-sveltekit/scripts/postbuild.js b/packages/frameworks-sveltekit/scripts/postbuild.js index 9c22dd0a..980a64c9 100644 --- a/packages/frameworks-sveltekit/scripts/postbuild.js +++ b/packages/frameworks-sveltekit/scripts/postbuild.js @@ -1,8 +1,16 @@ // After build, copy the files in ./package to the root directory, excluding the package.json file. + import fs from "fs/promises" import path from "path" -const __dirname = path.dirname(new URL(import.meta.url).pathname) +let __dirname = path.dirname(new URL(import.meta.url).pathname) + +// The above hack to polyfill "__dirname" for ESM does not work on Windows computers, +// so we might have to manually perform more steps. +__dirname = __dirname.split(path.sep).join(path.posix.sep) +if (__dirname.match(/^\/\w:\//)) { + __dirname = __dirname.slice(3) // Remove the drive prefix. +} const root = path.join(__dirname, "..") const pkgDir = path.join(root, "package") From 533320eb94a8d234f419951458a5f84a65be06b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Orb=C3=A1n?= Date: Sun, 29 Jan 2023 14:33:41 +0100 Subject: [PATCH 23/31] chore: generate `oauth-types` on build --- .gitignore | 1 + packages/core/package.json | 5 +- packages/core/scripts/generate-providers.js | 18 ++++++ packages/core/src/providers/oauth-types.ts | 69 --------------------- 4 files changed, 22 insertions(+), 71 deletions(-) create mode 100644 packages/core/scripts/generate-providers.js delete mode 100644 packages/core/src/providers/oauth-types.ts diff --git a/.gitignore b/.gitignore index b9541b8e..4ed618bc 100644 --- a/.gitignore +++ b/.gitignore @@ -84,6 +84,7 @@ docs/providers.json packages/core/*.js packages/core/*.d.ts packages/core/*.d.ts.map +packages/core/src/providers/oauth-types.ts packages/core/lib packages/core/providers packages/core/src/lib/pages/styles.ts diff --git a/packages/core/package.json b/packages/core/package.json index f03a7055..0b6392ee 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -77,10 +77,11 @@ } }, "scripts": { - "build": "pnpm css && tsc", + "build": "pnpm css && pnpm providers && tsc", "clean": "rm -rf *.js *.d.ts* lib providers", "css": "node scripts/generate-css", - "dev": "pnpm css && tsc -w" + "dev": "pnpm css && pnpm providers && tsc -w", + "providers": "node scripts/generate-providers" }, "devDependencies": { "@next-auth/tsconfig": "workspace:*", diff --git a/packages/core/scripts/generate-providers.js b/packages/core/scripts/generate-providers.js new file mode 100644 index 00000000..f8bef7df --- /dev/null +++ b/packages/core/scripts/generate-providers.js @@ -0,0 +1,18 @@ +import { join } from "path" +import { readdirSync, writeFileSync } from "fs" + +const providersPath = join(process.cwd(), "src/providers") + +const files = readdirSync(providersPath, "utf8") + +const providers = files.map((file) => { + const strippedProviderName = file.substring(0, file.indexOf(".")) + return `"${strippedProviderName}"` +}).filter((provider) => provider !== '"oauth-types"' && provider !== '"index"') + +const result = ` +// THIS FILE IS AUTOGENERATED. DO NOT EDIT. +export type OAuthProviderType = + | ${providers.join("\n | ")}` + +writeFileSync(join(providersPath, "oauth-types.ts"), result) diff --git a/packages/core/src/providers/oauth-types.ts b/packages/core/src/providers/oauth-types.ts deleted file mode 100644 index 66c75b2f..00000000 --- a/packages/core/src/providers/oauth-types.ts +++ /dev/null @@ -1,69 +0,0 @@ -// THIS FILE IS AUTOGENERATED. DO NOT EDIT. -export type OAuthProviderType = - | "42-school" - | "apple" - | "atlassian" - | "auth0" - | "authentik" - | "azure-ad-b2c" - | "azure-ad" - | "battlenet" - | "box" - | "boxyhq-saml" - | "bungie" - | "cognito" - | "coinbase" - | "credentials" - | "discord" - | "dropbox" - | "duende-identity-server6" - | "email" - | "eveonline" - | "facebook" - | "faceit" - | "foursquare" - | "freshbooks" - | "fusionauth" - | "github" - | "gitlab" - | "google" - | "hubspot" - | "identity-server4" - | "index" - | "instagram" - | "kakao" - | "keycloak" - | "line" - | "linkedin" - | "mailchimp" - | "mailru" - | "medium" - | "naver" - | "netlify" - | "oauth-types.js" - | "oauth" - | "okta" - | "onelogin" - | "osso" - | "osu" - | "patreon" - | "pinterest" - | "pipedrive" - | "reddit" - | "salesforce" - | "slack" - | "spotify" - | "strava" - | "todoist" - | "trakt" - | "twitch" - | "twitter" - | "united-effects" - | "vk" - | "wikimedia" - | "wordpress" - | "workos" - | "yandex" - | "zitadel" - | "zoho" - | "zoom" From 3f89e668ecaeee154be09c29fd0c587fcf39f6bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Orb=C3=A1n?= Date: Mon, 30 Jan 2023 13:34:54 +0100 Subject: [PATCH 24/31] fix(ts): mark `options` provider config option internal (#6564) * chore(dev): use workspace modules in Svelte app * fix(ts): mark `options` provider config option internal --- apps/dev/sveltekit/package.json | 4 +- packages/core/src/providers/credentials.ts | 4 - packages/core/src/providers/index.ts | 6 +- pnpm-lock.yaml | 187 ++++++++++++--------- 4 files changed, 116 insertions(+), 85 deletions(-) diff --git a/apps/dev/sveltekit/package.json b/apps/dev/sveltekit/package.json index 196eb8c1..921c5aee 100644 --- a/apps/dev/sveltekit/package.json +++ b/apps/dev/sveltekit/package.json @@ -19,8 +19,8 @@ "vite": "4.0.1" }, "dependencies": { - "@auth/core": "0.2.5", - "@auth/sveltekit": "0.1.12" + "@auth/core": "workspace:*", + "@auth/sveltekit": "workspace:*" }, "type": "module" } diff --git a/packages/core/src/providers/credentials.ts b/packages/core/src/providers/credentials.ts index d8e71ad9..095678b9 100644 --- a/packages/core/src/providers/credentials.ts +++ b/packages/core/src/providers/credentials.ts @@ -49,10 +49,6 @@ export interface CredentialsConfig< export type CredentialsProviderType = "Credentials" -export type CredentialsConfigInternal< - C extends Record = Record -> = CredentialsConfig & { options: CredentialsConfig } - /** * The Credentials provider allows you to handle signing in with arbitrary credentials, * such as a username and password, domain, or two factor authentication or hardware device (e.g. YubiKey U2F / FIDO). diff --git a/packages/core/src/providers/index.ts b/packages/core/src/providers/index.ts index ffa3819b..91da0513 100644 --- a/packages/core/src/providers/index.ts +++ b/packages/core/src/providers/index.ts @@ -65,12 +65,16 @@ export type Provider

= ( | EmailConfig | CredentialsConfig ) & { + /** + * Used to deep merge user-provided config with the default config + * @internal + */ options: Record } export type BuiltInProviders = Record< OAuthProviderType, - (options: Partial>) => OAuthConfig + (config: Partial>) => OAuthConfig > & Record & Record diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 30fa45e5..296c9e39 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -114,8 +114,8 @@ importers: apps/dev/sveltekit: specifiers: - '@auth/core': 0.2.5 - '@auth/sveltekit': 0.1.12 + '@auth/core': workspace:* + '@auth/sveltekit': workspace:* '@sveltejs/adapter-auto': next '@sveltejs/kit': next svelte: 3.55.0 @@ -123,8 +123,8 @@ importers: typescript: 4.9.4 vite: 4.0.1 dependencies: - '@auth/core': 0.2.5 - '@auth/sveltekit': 0.1.12_bzkxp32pqvunv6braeh76ugwhu + '@auth/core': link:../../../packages/core + '@auth/sveltekit': link:../../../packages/frameworks-sveltekit devDependencies: '@sveltejs/adapter-auto': 1.0.0-next.91_l5ueyfihz3gpzzvvyo2ean5u3e '@sveltejs/kit': 1.0.0-next.589_svelte@3.55.0+vite@4.0.1 @@ -143,7 +143,7 @@ importers: vercel: ^23.1.2 dependencies: dotenv: 16.0.3 - gatsby: 5.6.0-next.0_biqbaboplfbrettd7655fr4n2y + gatsby: 5.6.0-next.2_biqbaboplfbrettd7655fr4n2y next-auth: link:../../../packages/next-auth react: 18.2.0 react-dom: 18.2.0_react@18.2.0 @@ -868,35 +868,6 @@ packages: - supports-color dev: false - /@auth/core/0.2.5: - resolution: {integrity: sha512-e9jQOW6kSnxa0gfeR5neqLIDAUvZtyGTh3YpO2eN5F/5gBybE582M5e34rXlJKj+/tAgf+oYBJAY5CUxGTY9tw==} - peerDependencies: - nodemailer: 6.8.0 - peerDependenciesMeta: - nodemailer: - optional: true - dependencies: - '@panva/hkdf': 1.0.2 - cookie: 0.5.0 - jose: 4.11.1 - oauth4webapi: 2.0.6 - preact: 10.11.3 - preact-render-to-string: 5.2.3_preact@10.11.3 - dev: false - - /@auth/sveltekit/0.1.12_bzkxp32pqvunv6braeh76ugwhu: - resolution: {integrity: sha512-nQyOXOaVRl+70XSIsgQCpU0BFkOb52DqsRmfNUOIm4/EtGTERLLsKVCRaPXXCYp6t22I2pu4E2gD79r74gPyZA==} - peerDependencies: - '@sveltejs/kit': ^1.0.0 - svelte: ^3.54.0 - dependencies: - '@auth/core': 0.2.5 - '@sveltejs/kit': 1.0.0-next.589_svelte@3.55.0+vite@4.0.1 - svelte: 3.55.0 - transitivePeerDependencies: - - nodemailer - dev: false - /@aws-crypto/ie11-detection/2.0.0: resolution: {integrity: sha512-pkVXf/dq6PITJ0jzYZ69VhL8VFOFoPZLZqtU/12SGnzYuJOOGNfF41q9GxdI1yqC8R13Rq3jOLKDFpUJFT5eTA==} dependencies: @@ -2906,7 +2877,7 @@ packages: '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/plugin-proposal-optional-chaining': 7.18.9_@babel+core@7.20.12 + '@babel/plugin-proposal-optional-chaining': 7.20.7_@babel+core@7.20.12 /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.18.9_@babel+core@7.20.2: resolution: {integrity: sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==} @@ -2917,7 +2888,7 @@ packages: '@babel/core': 7.20.2 '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/plugin-proposal-optional-chaining': 7.18.9_@babel+core@7.20.2 + '@babel/plugin-proposal-optional-chaining': 7.20.7_@babel+core@7.20.2 dev: true /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.18.9_@babel+core@7.20.5: @@ -2929,7 +2900,7 @@ packages: '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/plugin-proposal-optional-chaining': 7.18.9_@babel+core@7.20.5 + '@babel/plugin-proposal-optional-chaining': 7.20.7_@babel+core@7.20.5 dev: true /@babel/plugin-proposal-async-generator-functions/7.17.12: @@ -3652,7 +3623,30 @@ packages: '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.20.12 - dev: false + + /@babel/plugin-proposal-optional-chaining/7.20.7_@babel+core@7.20.2: + resolution: {integrity: sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.2 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.20.2 + dev: true + + /@babel/plugin-proposal-optional-chaining/7.20.7_@babel+core@7.20.5: + resolution: {integrity: sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.20.5 + dev: true /@babel/plugin-proposal-private-methods/7.17.12: resolution: {integrity: sha512-SllXoxo19HmxhDWm3luPz+cPhtoTSKLJE9PXshsfrOzBqs60QP0r8OaJItrPhAj0d7mZMnNF0Y1UUggCDgMz1A==} @@ -8359,6 +8353,7 @@ packages: cpu: [arm] os: [android] requiresBuild: true + dev: true optional: true /@esbuild/android-arm64/0.16.4: @@ -8367,6 +8362,7 @@ packages: cpu: [arm64] os: [android] requiresBuild: true + dev: true optional: true /@esbuild/android-x64/0.16.4: @@ -8375,6 +8371,7 @@ packages: cpu: [x64] os: [android] requiresBuild: true + dev: true optional: true /@esbuild/darwin-arm64/0.16.4: @@ -8383,6 +8380,7 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true + dev: true optional: true /@esbuild/darwin-x64/0.16.4: @@ -8391,6 +8389,7 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true + dev: true optional: true /@esbuild/freebsd-arm64/0.16.4: @@ -8399,6 +8398,7 @@ packages: cpu: [arm64] os: [freebsd] requiresBuild: true + dev: true optional: true /@esbuild/freebsd-x64/0.16.4: @@ -8407,6 +8407,7 @@ packages: cpu: [x64] os: [freebsd] requiresBuild: true + dev: true optional: true /@esbuild/linux-arm/0.16.4: @@ -8415,6 +8416,7 @@ packages: cpu: [arm] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-arm64/0.16.4: @@ -8423,6 +8425,7 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-ia32/0.16.4: @@ -8431,6 +8434,7 @@ packages: cpu: [ia32] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-loong64/0.14.54: @@ -8457,6 +8461,7 @@ packages: cpu: [loong64] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-mips64el/0.16.4: @@ -8465,6 +8470,7 @@ packages: cpu: [mips64el] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-ppc64/0.16.4: @@ -8473,6 +8479,7 @@ packages: cpu: [ppc64] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-riscv64/0.16.4: @@ -8481,6 +8488,7 @@ packages: cpu: [riscv64] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-s390x/0.16.4: @@ -8489,6 +8497,7 @@ packages: cpu: [s390x] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-x64/0.16.4: @@ -8497,6 +8506,7 @@ packages: cpu: [x64] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/netbsd-x64/0.16.4: @@ -8505,6 +8515,7 @@ packages: cpu: [x64] os: [netbsd] requiresBuild: true + dev: true optional: true /@esbuild/openbsd-x64/0.16.4: @@ -8513,6 +8524,7 @@ packages: cpu: [x64] os: [openbsd] requiresBuild: true + dev: true optional: true /@esbuild/sunos-x64/0.16.4: @@ -8521,6 +8533,7 @@ packages: cpu: [x64] os: [sunos] requiresBuild: true + dev: true optional: true /@esbuild/win32-arm64/0.16.4: @@ -8529,6 +8542,7 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true + dev: true optional: true /@esbuild/win32-ia32/0.16.4: @@ -8537,6 +8551,7 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true + dev: true optional: true /@esbuild/win32-x64/0.16.4: @@ -8545,6 +8560,7 @@ packages: cpu: [x64] os: [win32] requiresBuild: true + dev: true optional: true /@eslint/eslintrc/0.4.3: @@ -11422,6 +11438,7 @@ packages: /@polka/url/1.0.0-next.21: resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} + dev: true /@prisma/client/3.15.2_prisma@3.15.2: resolution: {integrity: sha512-ErqtwhX12ubPhU4d++30uFY/rPcyvjk+mdifaZO5SeM21zS3t4jQrscy8+6IyB0GIYshl5ldTq6JSBo1d63i8w==} @@ -11840,6 +11857,7 @@ packages: vite: 4.0.1 transitivePeerDependencies: - supports-color + dev: true /@sveltejs/kit/1.0.1_svelte@3.54.0+vite@4.0.1: resolution: {integrity: sha512-C41aCaDjA7xoUdsrc/lSdU1059UdLPIRE1vEIRRynzpMujNgp82bTMHkDosb6vykH6LrLf3tT2w2/5NYQhKYGQ==} @@ -11921,6 +11939,7 @@ packages: vitefu: 0.2.4_vite@4.0.1 transitivePeerDependencies: - supports-color + dev: true /@svgr/babel-plugin-add-jsx-attribute/6.0.0_@babel+core@7.20.12: resolution: {integrity: sha512-MdPdhdWLtQsjd29Wa4pABdhWbaRMACdM1h31BY+c6FghTZqNGT7pEYdBoaGeKtdTOBC/XNFQaKVj+r/Ei2ryWA==} @@ -12447,6 +12466,7 @@ packages: /@types/cookie/0.5.1: resolution: {integrity: sha512-COUnqfB2+ckwXXSFInsFdOAWQzCCx+a5hq2ruyj+Vjund94RJQd4LG2u9hnvJrTgunKAaax7ancBYlDrNYxA0g==} + dev: true /@types/cors/2.8.13: resolution: {integrity: sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==} @@ -14047,8 +14067,10 @@ packages: indent-string: 4.0.0 dev: true - /ajv-formats/2.1.1: + /ajv-formats/2.1.1_ajv@8.11.0: resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 peerDependenciesMeta: ajv: optional: true @@ -14555,14 +14577,14 @@ packages: /axios/0.21.4_debug@4.3.4: resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} dependencies: - follow-redirects: 1.15.1 + follow-redirects: 1.15.1_debug@4.3.4 transitivePeerDependencies: - debug /axios/0.25.0: resolution: {integrity: sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==} dependencies: - follow-redirects: 1.15.1 + follow-redirects: 1.15.1_debug@4.3.4 transitivePeerDependencies: - debug dev: true @@ -14949,7 +14971,7 @@ packages: - supports-color dev: true - /babel-plugin-remove-graphql-queries/5.6.0-next.0_34zmit57noivsgqvgdpgpcttx4: + /babel-plugin-remove-graphql-queries/5.6.0-next.0_x3fnz3zp5bgltr62wwyqvgm7l4: resolution: {integrity: sha512-hrxx7U73x6TUL+x/h2/OrQT4hdeGkYjK39oiYtt6erSVz8q1iOYl4tfCYN0wuHyrvpRdXJ7UBrAhLgBFIPn8Gw==} engines: {node: '>=18.0.0'} peerDependencies: @@ -14959,7 +14981,7 @@ packages: '@babel/core': 7.20.12 '@babel/runtime': 7.20.7 '@babel/types': 7.20.7 - gatsby: 5.6.0-next.0_biqbaboplfbrettd7655fr4n2y + gatsby: 5.6.0-next.2_biqbaboplfbrettd7655fr4n2y gatsby-core-utils: 4.6.0-next.0 dev: false @@ -16500,8 +16522,8 @@ packages: readable-stream: 3.6.0 dev: true - /create-gatsby/3.6.0-next.0: - resolution: {integrity: sha512-eeTIlCWsSWhQkfbcRstHO8n7I6kkf/tWkyjHt5nEGoIn2HW1457Qt4QMLhMyowhNBw/nXHiU+QuUvg+1oY8z9g==} + /create-gatsby/3.6.0-next.1: + resolution: {integrity: sha512-7PSTSNLa1w0LZ81WXZ09IBVcE+SCuOk8QOPJC3tK2D50iTeKo1rBp2mZEX0ao5sC5q/N869HuLBPkzdvP5Lvig==} hasBin: true dependencies: '@babel/runtime': 7.20.7 @@ -17850,6 +17872,7 @@ packages: /devalue/4.2.0: resolution: {integrity: sha512-mbjoAaCL2qogBKgeFxFPOXAUsZchircF+B/79LD4sHH0+NHfYm8gZpQrskKDn5gENGt35+5OI1GUF7hLVnkPDw==} + dev: true /devcert/1.2.2: resolution: {integrity: sha512-UsLqvtJGPiGwsIZnJINUnFYaWgK7CroreGRndWHZkRD58tPFr3pVbbSyHR8lbh41+azR4jKvuNZ+eCoBZGA5kA==} @@ -18914,6 +18937,7 @@ packages: '@esbuild/win32-arm64': 0.16.4 '@esbuild/win32-ia32': 0.16.4 '@esbuild/win32-x64': 0.16.4 + dev: true /esbuild/0.8.57: resolution: {integrity: sha512-j02SFrUwFTRUqiY0Kjplwjm1psuzO1d6AjaXKuOR9hrY0HuPsT6sV42B6myW34h1q4CRy+Y3g4RU/cGJeI/nNA==} @@ -19562,6 +19586,7 @@ packages: /esm-env/1.0.0: resolution: {integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==} + dev: true /esm/3.2.25: resolution: {integrity: sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==} @@ -19710,7 +19735,7 @@ packages: dependencies: '@apidevtools/json-schema-ref-parser': 9.0.9 ajv: 8.11.0 - ajv-formats: 2.1.1 + ajv-formats: 2.1.1_ajv@8.11.0 body-parser: 1.20.0 content-type: 1.0.4 deep-freeze: 0.0.1 @@ -20360,15 +20385,6 @@ packages: resolution: {integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==} dev: true - /follow-redirects/1.15.1: - resolution: {integrity: sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - /follow-redirects/1.15.1_debug@4.3.4: resolution: {integrity: sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==} engines: {node: '>=4.0'} @@ -20379,7 +20395,6 @@ packages: optional: true dependencies: debug: 4.3.4 - dev: true /for-each/0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} @@ -20636,8 +20651,8 @@ packages: /functions-have-names/1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - /gatsby-cli/5.6.0-next.0: - resolution: {integrity: sha512-B38HOsNXQ1r8EAap/J0E6CRv2QYxuf8J+Uc+aASbbDgEmfZw8A95ayT6JM8rqYaf9mambUmzot/QF/hKQBY1uA==} + /gatsby-cli/5.6.0-next.1: + resolution: {integrity: sha512-tFrTZlEezIxFKMkCXXKu3tKBrjqpZt+PykNABkSgOdMGO1pT/xysSClCbKOMockWosrpgaNup+1rP8sjVRdIsw==} engines: {node: '>=18.0.0'} hasBin: true requiresBuild: true @@ -20658,7 +20673,7 @@ packages: clipboardy: 2.3.0 common-tags: 1.8.2 convert-hrtime: 3.0.0 - create-gatsby: 3.6.0-next.0 + create-gatsby: 3.6.0-next.1 envinfo: 7.8.1 execa: 5.1.1 fs-exists-cached: 1.0.0 @@ -20773,8 +20788,8 @@ packages: '@parcel/transformer-json': 2.8.2_@parcel+core@2.8.2 dev: false - /gatsby-plugin-page-creator/5.6.0-next.0_4kofk2l43xwpw753oec5pxbv5e: - resolution: {integrity: sha512-zNfm0f5wpVhlwDnvGwkfQtIcIHJeRJBeYQCkUYUPwoA1s4AJFY6+wbYSRYHcM8r2K5aDfE1/t32YEY43UNIzGA==} + /gatsby-plugin-page-creator/5.6.0-next.1_wxxlwg4kb5uwyfjvsdo3jviy2e: + resolution: {integrity: sha512-9yE2C4Xbc+llNRzzC9MbpgSM1GQCi4lUqlNy8Hq/C25S0wTTRW+FQZxuWTiR+AUTUL8MK9wJsNF5f0bZc8hfJw==} engines: {node: '>=18.0.0'} peerDependencies: gatsby: ^5.0.0-next @@ -20785,10 +20800,10 @@ packages: chokidar: 3.5.3 fs-exists-cached: 1.0.0 fs-extra: 11.1.0 - gatsby: 5.6.0-next.0_biqbaboplfbrettd7655fr4n2y + gatsby: 5.6.0-next.2_biqbaboplfbrettd7655fr4n2y gatsby-core-utils: 4.6.0-next.0 gatsby-page-utils: 3.6.0-next.0 - gatsby-plugin-utils: 4.6.0-next.0_4kofk2l43xwpw753oec5pxbv5e + gatsby-plugin-utils: 4.6.0-next.1_wxxlwg4kb5uwyfjvsdo3jviy2e gatsby-telemetry: 4.6.0-next.0 globby: 11.1.0 lodash: 4.17.21 @@ -20798,7 +20813,7 @@ packages: - supports-color dev: false - /gatsby-plugin-typescript/5.6.0-next.0_gatsby@5.6.0-next.0: + /gatsby-plugin-typescript/5.6.0-next.0_gatsby@5.6.0-next.2: resolution: {integrity: sha512-CUguJx8GjTQHymcfBOcwUXZtetfhLYtgUehkM8ovvNlscgavGxmbGD90gXMmo5JgrLPhdx8krtMsdIeCOOvo4w==} engines: {node: '>=18.0.0'} peerDependencies: @@ -20810,14 +20825,14 @@ packages: '@babel/plugin-proposal-optional-chaining': 7.20.7_@babel+core@7.20.12 '@babel/preset-typescript': 7.18.6_@babel+core@7.20.12 '@babel/runtime': 7.20.7 - babel-plugin-remove-graphql-queries: 5.6.0-next.0_34zmit57noivsgqvgdpgpcttx4 - gatsby: 5.6.0-next.0_biqbaboplfbrettd7655fr4n2y + babel-plugin-remove-graphql-queries: 5.6.0-next.0_x3fnz3zp5bgltr62wwyqvgm7l4 + gatsby: 5.6.0-next.2_biqbaboplfbrettd7655fr4n2y transitivePeerDependencies: - supports-color dev: false - /gatsby-plugin-utils/4.6.0-next.0_4kofk2l43xwpw753oec5pxbv5e: - resolution: {integrity: sha512-3xidC+kpOz9xtsG5yv4UGB87pA0bo3YEHBTtUf5kshNEycMeTeh6xgb6gnD56kCVQ4DFrUBAe5U95hWH8n65Aw==} + /gatsby-plugin-utils/4.6.0-next.1_wxxlwg4kb5uwyfjvsdo3jviy2e: + resolution: {integrity: sha512-RhM2cQ6RYmdGQkXKs4d+KfG5ovGjvbF4fps/H4Sk81nJ1AnlPGbUlMaCdgFhhTJL1ID8l4rYdpQKXM87THJosQ==} engines: {node: '>=18.0.0'} peerDependencies: gatsby: ^5.0.0-next @@ -20826,7 +20841,7 @@ packages: '@babel/runtime': 7.20.7 fastq: 1.15.0 fs-extra: 11.1.0 - gatsby: 5.6.0-next.0_biqbaboplfbrettd7655fr4n2y + gatsby: 5.6.0-next.2_biqbaboplfbrettd7655fr4n2y gatsby-core-utils: 4.6.0-next.0 gatsby-sharp: 1.6.0-next.0 graphql: 16.6.0 @@ -20905,8 +20920,8 @@ packages: - supports-color dev: false - /gatsby/5.6.0-next.0_biqbaboplfbrettd7655fr4n2y: - resolution: {integrity: sha512-QwM9R3JtRo7Qk1A0v5Hgpo45SXtRYh7OzZntOaj8VsDk7HebITZ5eLrdTq/wPYNYn3Jlng2bG+bObcIEjjqcyw==} + /gatsby/5.6.0-next.2_biqbaboplfbrettd7655fr4n2y: + resolution: {integrity: sha512-cXyyDjlA2V3NhnfJtLhcrShrYU6k/FB67el5MZIqzrHjb7sg77lJztMpoy4PvXs4MlNvhRupSclIO+o9+G0pyg==} engines: {node: '>=18.0.0'} hasBin: true requiresBuild: true @@ -20952,7 +20967,7 @@ packages: babel-plugin-add-module-exports: 1.0.4 babel-plugin-dynamic-import-node: 2.3.3 babel-plugin-lodash: 3.3.4 - babel-plugin-remove-graphql-queries: 5.6.0-next.0_34zmit57noivsgqvgdpgpcttx4 + babel-plugin-remove-graphql-queries: 5.6.0-next.0_x3fnz3zp5bgltr62wwyqvgm7l4 babel-preset-gatsby: 3.6.0-next.0_pp2vm42zn6vfmnpuhar3irht7i better-opn: 2.1.1 bluebird: 3.7.2 @@ -20994,16 +21009,16 @@ packages: find-cache-dir: 3.3.2 fs-exists-cached: 1.0.0 fs-extra: 11.1.0 - gatsby-cli: 5.6.0-next.0 + gatsby-cli: 5.6.0-next.1 gatsby-core-utils: 4.6.0-next.0 gatsby-graphiql-explorer: 3.6.0-next.0 gatsby-legacy-polyfills: 3.6.0-next.0 gatsby-link: 5.6.0-next.0_y2kppt6lrltqk6wasg3eswwzsa gatsby-page-utils: 3.6.0-next.0 gatsby-parcel-config: 1.6.0-next.0_@parcel+core@2.8.2 - gatsby-plugin-page-creator: 5.6.0-next.0_4kofk2l43xwpw753oec5pxbv5e - gatsby-plugin-typescript: 5.6.0-next.0_gatsby@5.6.0-next.0 - gatsby-plugin-utils: 4.6.0-next.0_4kofk2l43xwpw753oec5pxbv5e + gatsby-plugin-page-creator: 5.6.0-next.1_wxxlwg4kb5uwyfjvsdo3jviy2e + gatsby-plugin-typescript: 5.6.0-next.0_gatsby@5.6.0-next.2 + gatsby-plugin-utils: 4.6.0-next.1_wxxlwg4kb5uwyfjvsdo3jviy2e gatsby-react-router-scroll: 6.6.0-next.0_y2kppt6lrltqk6wasg3eswwzsa gatsby-script: 2.6.0-next.0_y2kppt6lrltqk6wasg3eswwzsa gatsby-telemetry: 4.6.0-next.0 @@ -21457,6 +21472,7 @@ packages: /globalyzer/0.1.0: resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==} + dev: true /globby/11.0.4: resolution: {integrity: sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==} @@ -21506,6 +21522,7 @@ packages: /globrex/0.1.2: resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} + dev: true /glur/1.1.2: resolution: {integrity: sha512-l+8esYHTKOx2G/Aao4lEQ0bnHWg4fWtJbVoZZT9Knxi01pB8C80BR85nONLFwkkQoFRCmXY+BUcGZN3yZ2QsRA==} @@ -22176,7 +22193,7 @@ packages: engines: {node: '>=8.0.0'} dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.1 + follow-redirects: 1.15.1_debug@4.3.4 requires-port: 1.0.0 transitivePeerDependencies: - debug @@ -24999,6 +25016,7 @@ packages: /kleur/4.1.5: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} + dev: true /klona/2.0.5: resolution: {integrity: sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==} @@ -25648,6 +25666,7 @@ packages: engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.14 + dev: true /mailparser/2.8.1: resolution: {integrity: sha512-H/CYAO9dsw6SFNbEGGpZsejVSWDcFlyHjb1OkHUWg0wggUekva1tNc28trB155nSqM8rhtbwTKt//orX0AmJxQ==} @@ -26329,10 +26348,12 @@ packages: /mri/1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} + dev: true /mrmime/1.0.1: resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==} engines: {node: '>=10'} + dev: true /ms/2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} @@ -30298,6 +30319,7 @@ packages: hasBin: true optionalDependencies: fsevents: 2.3.2 + dev: true /route-sort/1.0.0: resolution: {integrity: sha512-SFgmvjoIhp5S4iBEDW3XnbT+7PRuZ55oRuNjY+CDB1SGZkyCG9bqQ3/dhaZTctTBYMAvDxd2Uy9dStuaUfgJqQ==} @@ -30369,6 +30391,7 @@ packages: engines: {node: '>=6'} dependencies: mri: 1.2.0 + dev: true /safe-buffer/5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} @@ -30455,7 +30478,7 @@ packages: dependencies: '@types/json-schema': 7.0.11 ajv: 8.11.0 - ajv-formats: 2.1.1 + ajv-formats: 2.1.1_ajv@8.11.0 ajv-keywords: 5.1.0_ajv@8.11.0 dev: true @@ -30817,6 +30840,7 @@ packages: '@polka/url': 1.0.0-next.21 mrmime: 1.0.1 totalist: 3.0.0 + dev: true /sisteransi/1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} @@ -31838,6 +31862,7 @@ packages: svelte: '>=3.19.0' dependencies: svelte: 3.55.0 + dev: true /svelte-preprocess/4.10.7_niwyv7xychq2ag6arq5eqxbomm: resolution: {integrity: sha512-sNPBnqYD6FnmdBrUmBCaqS00RyCsCpj2BG58A1JBswNF7b0OKviwxqVrOL/CKyJrLSClrSeqQv5BXNg2RUbPOw==} @@ -31949,6 +31974,7 @@ packages: /svelte/3.55.0: resolution: {integrity: sha512-uGu2FVMlOuey4JoKHKrpZFkoYyj0VLjJdz47zX5+gVK5odxHM40RVhar9/iK2YFRVxvfg9FkhfVlR0sjeIrOiA==} engines: {node: '>= 8'} + dev: true /svelte2tsx/0.5.22_gf4dcx76vtk2o62ixxeqx7chra: resolution: {integrity: sha512-OytIql7Bv53oFuL0jjsnp/gNvR4ngAUdAjswgibmIQT2Lj2OIQYn2J3gKqRd+wSj/n3M/wrz4zJpudQRSfncZw==} @@ -32297,6 +32323,7 @@ packages: dependencies: globalyzer: 0.1.0 globrex: 0.1.2 + dev: true /tiny-invariant/1.2.0: resolution: {integrity: sha512-1Uhn/aqw5C6RI4KejVeTg6mIS7IqxnLJ8Mv2tV5rTc0qWobay7pDUz6Wi392Cnc8ak1H0F2cjoRzb2/AW4+Fvg==} @@ -32386,6 +32413,7 @@ packages: /totalist/3.0.0: resolution: {integrity: sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==} engines: {node: '>=6'} + dev: true /tough-cookie/2.5.0: resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} @@ -33075,6 +33103,7 @@ packages: engines: {node: '>=12.18'} dependencies: busboy: 1.6.0 + dev: true /unenv/1.0.1: resolution: {integrity: sha512-08MoQ5+Edg9ckEP5y6vT8R6sOgCsNPxwPA1mKIOyergTtPOOuSyyJnbmF8CdnUplO2TUqSm0s1IysCkylxmndw==} @@ -33796,6 +33825,7 @@ packages: rollup: 3.7.4 optionalDependencies: fsevents: 2.3.2 + dev: true /vite/4.0.1_@types+node@18.11.10: resolution: {integrity: sha512-kZQPzbDau35iWOhy3CpkrRC7It+HIHtulAzBhMqzGHKRf/4+vmh8rPDDdv98SWQrFWo6//3ozwsRmwQIPZsK9g==} @@ -33849,6 +33879,7 @@ packages: optional: true dependencies: vite: 4.0.1 + dev: true /vitest/0.25.7: resolution: {integrity: sha512-lJ+Ue+v8kHl2JzjaKHJ9u5Yo/loU7zrWK2/Whn8OKQjtq5G7nkeWfXuq3elZaC8xKdkdIuWiiIicaNBG1F5yzg==} From bdee262abe76cea70f779fc77daffc5a7ec89717 Mon Sep 17 00:00:00 2001 From: Frank Dumont Date: Mon, 30 Jan 2023 20:37:53 +0100 Subject: [PATCH 25/31] fix: typo in log message (#6569) --- packages/core/src/lib/routes/callback.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/src/lib/routes/callback.ts b/packages/core/src/lib/routes/callback.ts index 4812bef3..8c683674 100644 --- a/packages/core/src/lib/routes/callback.ts +++ b/packages/core/src/lib/routes/callback.ts @@ -53,7 +53,7 @@ export async function callback(params: { cookies.push(...authorizationResult.cookies) } - logger.debug("authroization result", authorizationResult) + logger.debug("authorization result", authorizationResult) const { profile, account, OAuthProfile } = authorizationResult From be046a6cb23283383e4bc4ef66998f4ed7d08faf Mon Sep 17 00:00:00 2001 From: OrJDev <91349014+OrJDev@users.noreply.github.com> Date: Mon, 30 Jan 2023 21:39:37 +0200 Subject: [PATCH 26/31] chore: suggest using the correct command to seek for packages (#6570) * fix: suggest using the correct command to seek for packages * seek for adapter packages aswell * cleanup: seek for auth org packages --- .github/ISSUE_TEMPLATE/1_bug_framework.yml | 2 +- .github/ISSUE_TEMPLATE/2_bug_provider.yml | 2 +- .github/ISSUE_TEMPLATE/3_bug_adapter.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/1_bug_framework.yml b/.github/ISSUE_TEMPLATE/1_bug_framework.yml index 9e327045..9a20c07f 100644 --- a/.github/ISSUE_TEMPLATE/1_bug_framework.yml +++ b/.github/ISSUE_TEMPLATE/1_bug_framework.yml @@ -30,7 +30,7 @@ body: Run this command in your project's root folder and paste the result: ```sh - npx envinfo --system --binaries --browsers --npmPackages "next,react,next-auth" + npx envinfo --system --binaries --browsers --npmPackages "next,react,next-auth,@auth/*" ``` Alternatively, you can manually gather the version information from your package.json for these packages: "next", "react" and "next-auth". Please also mention your OS and Node.js version, as well as the browser you are using. validations: diff --git a/.github/ISSUE_TEMPLATE/2_bug_provider.yml b/.github/ISSUE_TEMPLATE/2_bug_provider.yml index c256568a..2696c665 100644 --- a/.github/ISSUE_TEMPLATE/2_bug_provider.yml +++ b/.github/ISSUE_TEMPLATE/2_bug_provider.yml @@ -88,7 +88,7 @@ body: Run this command in your project's root folder and paste the result: ```sh - npx envinfo --system --binaries --browsers --npmPackages "next,react,next-auth" + npx envinfo --system --binaries --browsers --npmPackages "next,react,next-auth,@auth/*" ``` Alternatively, you can manually gather the version information from your package.json for these packages: "next", "react" and "next-auth". Please also mention your OS and Node.js version, as well as the browser you are using. validations: diff --git a/.github/ISSUE_TEMPLATE/3_bug_adapter.yml b/.github/ISSUE_TEMPLATE/3_bug_adapter.yml index aa4b6b0b..1eea75b3 100644 --- a/.github/ISSUE_TEMPLATE/3_bug_adapter.yml +++ b/.github/ISSUE_TEMPLATE/3_bug_adapter.yml @@ -44,7 +44,7 @@ body: Run this command in your project's root folder and paste the result: ```sh - npx envinfo --system --binaries --browsers --npmPackages "next,react,next-auth" && npx envinfo --npmPackages "@next-auth/*" + npx envinfo --system --binaries --browsers --npmPackages "next,react,next-auth,@auth/*" && npx envinfo --npmPackages "@next-auth/*" ``` Alternatively, if the above command did not work, we need the version of the following packages from your package.json: "next", "react", "next-auth" and your adapter. Please also mention your OS and Node.js version, as well as the browser you are using. validations: From 334e23343aec0d925d8dedb1547a58beff175e2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Orb=C3=A1n?= Date: Tue, 31 Jan 2023 01:19:16 +0100 Subject: [PATCH 27/31] chore: fix typo --- packages/core/src/lib/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/src/lib/index.ts b/packages/core/src/lib/index.ts index 981725f4..d4e35836 100644 --- a/packages/core/src/lib/index.ts +++ b/packages/core/src/lib/index.ts @@ -188,7 +188,7 @@ export async function AuthInternal< /** * :::danger - * This option is inteded for framework authors. + * This option is intended for framework authors. * ::: * * Auth.js comes with built-in {@link https://authjs.dev/concepts/security#csrf CSRF} protection, but From a5e0db4bb31cb1a1e10a86098c7c80560e289461 Mon Sep 17 00:00:00 2001 From: Thang Vu Date: Tue, 31 Jan 2023 17:10:47 +0700 Subject: [PATCH 28/31] feat(providers): add Notion provider (#6567) * add notion provider along with logo and styles " * adjust notion documentation * update issue template with Notion provider * update docs and provider with code from TomYeoman * feat: move Notion provider to core * get it working --------- Co-authored-by: Harrison Broadbent Co-authored-by: Harrison Broadbent Co-authored-by: Thang Vu --- .github/ISSUE_TEMPLATE/2_bug_provider.yml | 1 + apps/dev/nextjs/.env.local.example | 4 + .../nextjs/pages/api/auth/[...nextauth].ts | 4 +- docs/static/img/providers/notion.svg | 5 + packages/core/src/providers/notion.ts | 166 ++++++++++++++++++ 5 files changed, 179 insertions(+), 1 deletion(-) create mode 100644 docs/static/img/providers/notion.svg create mode 100644 packages/core/src/providers/notion.ts diff --git a/.github/ISSUE_TEMPLATE/2_bug_provider.yml b/.github/ISSUE_TEMPLATE/2_bug_provider.yml index 2696c665..e5d343b0 100644 --- a/.github/ISSUE_TEMPLATE/2_bug_provider.yml +++ b/.github/ISSUE_TEMPLATE/2_bug_provider.yml @@ -58,6 +58,7 @@ body: - "Medium" - "Naver" - "Netlify" + - "Notion" - "Okta" - "OneLogin" - "Osso" diff --git a/apps/dev/nextjs/.env.local.example b/apps/dev/nextjs/.env.local.example index 958ce630..51b9bc74 100644 --- a/apps/dev/nextjs/.env.local.example +++ b/apps/dev/nextjs/.env.local.example @@ -21,6 +21,10 @@ KEYCLOAK_ID= KEYCLOAK_SECRET= KEYCLOAK_ISSUER= +NOTION_ID= +NOTION_SECRET= +NOTION_REDIRECT_URI= + IDS4_ID= IDS4_SECRET= IDS4_ISSUER= diff --git a/apps/dev/nextjs/pages/api/auth/[...nextauth].ts b/apps/dev/nextjs/pages/api/auth/[...nextauth].ts index 25b8c1d8..9daba53f 100644 --- a/apps/dev/nextjs/pages/api/auth/[...nextauth].ts +++ b/apps/dev/nextjs/pages/api/auth/[...nextauth].ts @@ -24,6 +24,7 @@ import Instagram from "@auth/core/providers/instagram" import Line from "@auth/core/providers/line" import LinkedIn from "@auth/core/providers/linkedin" import Mailchimp from "@auth/core/providers/mailchimp" +import Notion from "@auth/core/providers/notion" // import Okta from "@auth/core/providers/okta" import Osu from "@auth/core/providers/osu" import Patreon from "@auth/core/providers/patreon" @@ -69,7 +70,7 @@ import WorkOS from "@auth/core/providers/workos" export const authConfig: AuthConfig = { // adapter, - // debug: process.env.NODE_ENV !== "production", + debug: process.env.NODE_ENV !== "production", theme: { logo: "https://next-auth.js.org/img/logo/logo-sm.png", brandColor: "#1786fb", @@ -107,6 +108,7 @@ export const authConfig: AuthConfig = { Line({ clientId: process.env.LINE_ID, clientSecret: process.env.LINE_SECRET }), LinkedIn({ clientId: process.env.LINKEDIN_ID, clientSecret: process.env.LINKEDIN_SECRET }), Mailchimp({ clientId: process.env.MAILCHIMP_ID, clientSecret: process.env.MAILCHIMP_SECRET }), + Notion({ clientId: process.env.NOTION_ID, clientSecret: process.env.NOTION_SECRET, redirectUri: process.env.NOTION_REDIRECT_URI }), // Okta({ clientId: process.env.OKTA_ID, clientSecret: process.env.OKTA_SECRET, issuer: process.env.OKTA_ISSUER }), Osu({ clientId: process.env.OSU_CLIENT_ID, clientSecret: process.env.OSU_CLIENT_SECRET }), Patreon({ clientId: process.env.PATREON_ID, clientSecret: process.env.PATREON_SECRET }), diff --git a/docs/static/img/providers/notion.svg b/docs/static/img/providers/notion.svg new file mode 100644 index 00000000..3b1781b1 --- /dev/null +++ b/docs/static/img/providers/notion.svg @@ -0,0 +1,5 @@ + + Notion icon + + + diff --git a/packages/core/src/providers/notion.ts b/packages/core/src/providers/notion.ts new file mode 100644 index 00000000..6d728aa7 --- /dev/null +++ b/packages/core/src/providers/notion.ts @@ -0,0 +1,166 @@ +/** + *

+ * Built-in Notion integration. + * + * + * + *
+ * + * --- + * @module providers/notion + */ + +import type { OAuthConfig, OAuthUserConfig } from "." + +export interface Person extends Record { + email: string +} + +// https://developers.notion.com/reference/user +export interface User extends Record { + object: "user" | "bot" + id: string + type: string + name: string + avatar_url: null | string + person: Person + owner?: { + type: "workspace" | "user" + workspace: string + } + workspace_name?: string | null +} + +export interface Owner { + type: string + user: User +} + +// Notion responds with an access_token + some additional information, which we define here +// More info - https://developers.notion.com/docs/authorization#step-4-notion-responds-with-an-access_token-and-some-additional-information +export interface NotionProfile extends Record { + access_token: string + bot_id: string + duplicated_template_id: string + owner?: Owner + workspace_icon: string + workspace_id: number + workspace_name: string +} + +// Any config required that isn't part of the `OAuthUserConfig` spec should belong here +// For example, we must pass a `redirectUri` to the Notion API when requesting tokens, therefore we add it here +interface AdditionalConfig { + redirectUri: string +} + +const NOTION_HOST = "https://api.notion.com" +const NOTION_API_VERSION = "2022-06-28" + +/** + * Add Notion login to your page. + * + * ## Example + * + * ```ts + * import { Auth } from "@auth/core" + * import Notion from "@auth/core/providers/notion" + * + * const request = new Request("https://example.com") + * const response = await Auth(request, { + * providers: [Notion({ clientId: "", clientSecret: "", redirectUri: "" })], + * }) + * ``` + * + * --- + * + * ## Resources + * - [Notion Docs](https://developers.notion.com/docs) + * - [Notion Authorization Docs](https://developers.notion.com/docs/authorization) + * - [Notion Integrations](https://www.notion.so/my-integrations) + * + * --- + * + * ## Notes + * You need to select "Public Integration" on the configuration page to get an `oauth_id` and `oauth_secret`. Private integrations do not provide these details. + * You must provide a `clientId` and `clientSecret` to use this provider, as-well as a redirect URI (due to this being required by Notion endpoint to fetch tokens). + * + * :::tip + * + * The Notion provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/notion.ts). + * To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/providers/custom-provider#override-default-options). + * + * ::: + * + * :::info **Disclaimer** + * + * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue). + * + * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from + * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec, + * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions). + * + * ::: + */ +export default function NotionProvider

( + options: OAuthUserConfig

& AdditionalConfig +): OAuthConfig

{ + return { + id: "notion", + name: "Notion", + type: "oauth", + token: { + url: `${NOTION_HOST}/v1/oauth/token`, + }, + userinfo: { + url: `${NOTION_HOST}/v1/users`, + + // The result of this method will be the input to the `profile` callback. + // We use a custom request handler, since we need to do things such as pass the "Notion-Version" header + // More info: https://next-auth.js.org/configuration/providers/oauth + async request(context) { + const profile = await fetch(`${NOTION_HOST}/v1/users/me`, { + headers: { + Authorization: `Bearer ${context.tokens.access_token}`, + "Notion-Version": NOTION_API_VERSION, + }, + }) + + const { + bot: { + owner: { user }, + }, + } = await profile.json() + + return user + }, + }, + authorization: { + params: { + client_id: options.clientId, + response_type: "code", + owner: "user", + redirect_uri: options.redirectUri, + }, + url: `${NOTION_HOST}/v1/oauth/authorize`, + }, + + async profile(profile, tokens) { + return { + id: profile.id, + name: profile.name, + email: profile.person.email, + image: profile.avatar_url, + } + }, + style: { + logo: "/notion.svg", + logoDark: "/notion.svg", + bg: "#fff", + text: "#000", + bgDark: "#fff", + textDark: "#000", + }, + options, + } +} From 326eadf0edad2a49a92545df44623304cc521958 Mon Sep 17 00:00:00 2001 From: Corey Jepperson Date: Tue, 31 Jan 2023 04:37:38 -0600 Subject: [PATCH 29/31] fix: don't add `/error` to url pathname when email verification is successful (#6492) fix handleAuthorized making bad pth when authorize Co-authored-by: Corey Jepperson Co-authored-by: Thang Vu --- packages/core/src/lib/routes/shared.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/core/src/lib/routes/shared.ts b/packages/core/src/lib/routes/shared.ts index f1ea11ee..9706aa21 100644 --- a/packages/core/src/lib/routes/shared.ts +++ b/packages/core/src/lib/routes/shared.ts @@ -7,15 +7,16 @@ export async function handleAuthorized( params: any, { url, logger, callbacks: { signIn } }: InternalOptions ) { - url.pathname += "/error" try { const authorized = await signIn(params) if (!authorized) { + url.pathname += "/error" logger.debug("User not authorized", params) url.searchParams.set("error", "AccessDenied") return { status: 403 as const, redirect: url.toString() } } } catch (e) { + url.pathname += "/error" const error = new AuthorizedCallbackError(e as Error) logger.error(error) url.searchParams.set("error", "Configuration") From fb43c5da053c757b085ae86af87bc32aa0de5f61 Mon Sep 17 00:00:00 2001 From: Mayvis Date: Thu, 2 Feb 2023 20:28:17 +0800 Subject: [PATCH 30/31] docs: enhance prisma mongodb doc to prevent warning (#6598) Fixes https://github.com/nextauthjs/next-auth/issues/6597 --- docs/docs/reference/06-adapters/prisma.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/docs/reference/06-adapters/prisma.md b/docs/docs/reference/06-adapters/prisma.md index 828cb2a0..cafa3574 100644 --- a/docs/docs/reference/06-adapters/prisma.md +++ b/docs/docs/reference/06-adapters/prisma.md @@ -139,9 +139,10 @@ Prisma supports MongoDB, and so does Auth.js. Following the instructions of the id String @id @default(auto()) @map("_id") @db.ObjectId ``` -2. The Native database type attribute to `@db.String` from `@db.Text`. +2. The Native database type attribute to `@db.String` from `@db.Text` and userId to `@db.ObjectId`. ```prisma +user_id String @db.ObjectId refresh_token String? @db.String access_token String? @db.String id_token String? @db.String From e9d8805609080d495a94c17a9a9aa6daa5bf4986 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Orb=C3=A1n?= Date: Sat, 4 Feb 2023 15:39:12 +0100 Subject: [PATCH 31/31] docs: api reference restructure (#6608) --- .eslintignore | 4 +- .gitignore | 13 +- .prettierignore | 4 +- apps/playgrounds/nuxt/package.json | 7 +- .../03-basics/refresh-token-rotation.md | 2 +- docs/docs/reference/index.md | 25 - docs/docusaurus.config.js | 43 +- docs/package.json | 7 +- docs/sidebars.js | 47 +- docs/src/css/index.css | 25 +- docs/{tyepdoc.js => typedoc-mdn-links.js} | 0 docs/typedoc.json | 27 +- package.json | 3 - packages/core/src/index.ts | 2 +- .../frameworks-sveltekit/src/lib/index.ts | 14 +- patches/typedoc-plugin-markdown@3.14.0.patch | 23 - pnpm-lock.yaml | 1677 ++++++++++------- turbo.json | 4 + 18 files changed, 1114 insertions(+), 813 deletions(-) delete mode 100644 docs/docs/reference/index.md rename docs/{tyepdoc.js => typedoc-mdn-links.js} (100%) delete mode 100644 patches/typedoc-plugin-markdown@3.14.0.patch diff --git a/.eslintignore b/.eslintignore index 7e7427e1..32343497 100644 --- a/.eslintignore +++ b/.eslintignore @@ -23,8 +23,8 @@ pnpm-lock.yaml .docusaurus build -docs/docs/reference/03-core -docs/docs/reference/04-sveltekit +docs/docs/reference/core +docs/docs/reference/sveltekit static # --------------- Packages --------------- diff --git a/.gitignore b/.gitignore index 4ed618bc..fa8e4fd1 100644 --- a/.gitignore +++ b/.gitignore @@ -34,13 +34,10 @@ packages/next-auth/utils packages/next-auth/core packages/next-auth/jwt packages/next-auth/react -packages/next-auth/adapters.d.ts -packages/next-auth/adapters.js -packages/next-auth/index.d.ts -packages/next-auth/index.js packages/next-auth/next -packages/next-auth/middleware.d.ts -packages/next-auth/middleware.js +packages/*/*.js +packages/*/*.d.ts +packages/*/*.d.ts.map # Development app apps/dev/src/css @@ -88,8 +85,8 @@ packages/core/src/providers/oauth-types.ts packages/core/lib packages/core/providers packages/core/src/lib/pages/styles.ts -docs/docs/reference/03-core -docs/docs/reference/04-sveltekit +docs/docs/reference/core +docs/docs/reference/sveltekit # SvelteKit diff --git a/.prettierignore b/.prettierignore index caac81b7..fa687a93 100644 --- a/.prettierignore +++ b/.prettierignore @@ -20,8 +20,8 @@ pnpm-lock.yaml .docusaurus build -docs/docs/reference/03-core -docs/docs/reference/04-sveltekit +docs/docs/reference/core +docs/docs/reference/sveltekit static docs/providers.json diff --git a/apps/playgrounds/nuxt/package.json b/apps/playgrounds/nuxt/package.json index 28f07b11..f082b590 100644 --- a/apps/playgrounds/nuxt/package.json +++ b/apps/playgrounds/nuxt/package.json @@ -2,11 +2,10 @@ "name": "playground-nuxt", "private": true, "scripts": { - "build": "nuxt build", - "dev": "export NODE_OPTIONS='--no-experimental-fetch' && nuxt dev", + "build": "nuxt prepare && nuxt build", + "dev": "nuxt prepare && export NODE_OPTIONS='--no-experimental-fetch' && nuxt dev", "generate": "nuxt generate", - "preview": "nuxt preview", - "postinstall": "nuxt prepare" + "preview": "nuxt preview" }, "devDependencies": { "@nuxt/eslint-config": "^0.1.1", diff --git a/docs/docs/guides/03-basics/refresh-token-rotation.md b/docs/docs/guides/03-basics/refresh-token-rotation.md index 6b36d85c..96b5ce24 100644 --- a/docs/docs/guides/03-basics/refresh-token-rotation.md +++ b/docs/docs/guides/03-basics/refresh-token-rotation.md @@ -22,7 +22,7 @@ Using a JWT to store the `refresh_token` is less secure than saving it in a data #### JWT strategy -Using the [jwt](../../reference/03-core/interfaces/types.CallbacksOptions.md#jwt) and [session](../../reference/03-core/interfaces/types.CallbacksOptions.md#session) callbacks, we can persist OAuth tokens and refresh them when they expire. +Using the [jwt](../../reference/core/interfaces/types.CallbacksOptions.md#jwt) and [session](../../reference/core/interfaces/types.CallbacksOptions.md#session) callbacks, we can persist OAuth tokens and refresh them when they expire. Below is a sample implementation using Google's Identity Provider. Please note that the OAuth 2.0 request in the `refreshAccessToken()` function will vary between different providers, but the core logic should remain similar. diff --git a/docs/docs/reference/index.md b/docs/docs/reference/index.md deleted file mode 100644 index 11f2038a..00000000 --- a/docs/docs/reference/index.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -title: Overview -sidebar_label: Overview -sidebar_position: 0 ---- - -## Core - -## Providers - -- OAuth/OIDC -- Email/Passwordless -- Credentials - -## Database Adapters - -## Frameworks - -- Next.js -- SvelteKit -- SolidStart -- Remix -- Nuxt -- Gatsby -- etc. diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index b00da36f..193e7a95 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -62,7 +62,7 @@ const docusaurusConfig = { position: "left", }, { - to: "/reference/core/modules/main", + to: "/reference/core", // TODO: change to this when the overview page looks better. // to: "/reference", activeBasePath: "/reference", @@ -101,7 +101,7 @@ const docusaurusConfig = { announcementBar: { id: "new-major-announcement", content: - "NextAuth.js is becoming Auth.js! 🎉 We're creating Authentication for the Web. Everyone included. Starting with SvelteKit, check out the docs.", + "NextAuth.js is becoming Auth.js! 🎉 We're creating Authentication for the Web. Everyone included. Starting with SvelteKit, check out the docs. Note, this site is under active development.", backgroundColor: "#000", textColor: "#fff", }, @@ -182,10 +182,7 @@ const docusaurusConfig = { lastVersion: "current", showLastUpdateAuthor: true, showLastUpdateTime: true, - remarkPlugins: [ - require("@sapphire/docusaurus-plugin-npm2yarn2pnpm").npm2yarn2pnpm, - require("remark-github"), - ], + remarkPlugins: [require("@sapphire/docusaurus-plugin-npm2yarn2pnpm").npm2yarn2pnpm], versions: { current: { label: "experimental", @@ -204,20 +201,14 @@ const docusaurusConfig = { { ...typedocConfig, id: "core", - plugin: ["./tyepdoc"], - entryPoints: [ - "index.ts", - "adapters.ts", - "errors.ts", - "jwt.ts", - "types.ts", - ] - .map((e) => `${coreSrc}/${e}`) - .concat(providers), - tsconfig: "../packages/core/tsconfig.json", - out: "reference/03-core", + plugin: [require.resolve("./typedoc-mdn-links")], watch: process.env.TYPEDOC_WATCH, - includeExtension: false, + entryPoints: ["index.ts", "adapters.ts", "errors.ts", "jwt.ts", "types.ts"].map((e) => `${coreSrc}/${e}`).concat(providers), + tsconfig: "../packages/core/tsconfig.json", + out: "reference/core", + sidebar: { + indexLabel: "index", + }, }, ], [ @@ -225,14 +216,14 @@ const docusaurusConfig = { { ...typedocConfig, id: "sveltekit", - plugin: ["./tyepdoc"], - entryPoints: ["index.ts", "client.ts"].map( - (e) => `../packages/frameworks-sveltekit/src/lib/${e}` - ), - tsconfig: "../packages/frameworks-sveltekit/tsconfig.json", - out: "reference/04-sveltekit", + plugin: [require.resolve("./typedoc-mdn-links")], watch: process.env.TYPEDOC_WATCH, - includeExtension: false, + entryPoints: ["index.ts", "client.ts"].map((e) => `../packages/frameworks-sveltekit/src/lib/${e}`), + tsconfig: "../packages/frameworks-sveltekit/tsconfig.json", + out: "reference/sveltekit", + sidebar: { + indexLabel: "index", + }, }, ], ], diff --git a/docs/package.json b/docs/package.json index a520ed68..aa5183a8 100644 --- a/docs/package.json +++ b/docs/package.json @@ -3,7 +3,7 @@ "repository": "https://github.com/nextauthjs/next-auth", "name": "docs", "scripts": { - "start": "TYPEDOC_WATCH=true docusaurus start --no-open --port 8000", + "start": "TYPEDOC_WATCH=true docusaurus start --no-open", "dev": "pnpm providers && pnpm snippets && pnpm start", "build": "pnpm providers && docusaurus build", "docusaurus": "docusaurus", @@ -27,7 +27,6 @@ "react": "^18.2.0", "react-dom": "^18.2.0", "react-marquee-slider": "^1.1.5", - "remark-github": "10.1.0", "styled-components": "5.3.6" }, "devDependencies": { @@ -37,7 +36,9 @@ "@docusaurus/preset-classic": "2.2.0", "@docusaurus/theme-common": "2.2.0", "@docusaurus/types": "2.2.0", - "docusaurus-plugin-typedoc": "^0.18.0" + "docusaurus-plugin-typedoc": "1.0.0-next.2", + "typedoc": "^0.23.24", + "typedoc-plugin-markdown": "4.0.0-next.2" }, "browserslist": { "production": [ diff --git a/docs/sidebars.js b/docs/sidebars.js index 3c40fb1e..a44d60a9 100644 --- a/docs/sidebars.js +++ b/docs/sidebars.js @@ -14,61 +14,28 @@ module.exports = { }, ], referenceSidebar: [ - "reference/index", { type: "category", label: "@auth/core", - link: { - type: "doc", - id: "reference/core/modules/main", - }, - items: [ - { - type: "autogenerated", - dirName: "reference/03-core/modules", - // See: https://github.com/facebook/docusaurus/issues/5689 - // exclude: ["index"], - }, - { - type: "category", - label: "Reflections", - collapsed: true, - className: "reflection-category", // See src/index.css - items: [{ type: "autogenerated", dirName: "reference/03-core" }], - }, - ], + link: { type: "doc", id: "reference/core/index" }, + items: [{ type: "autogenerated", dirName: "reference/core" }], }, { type: "category", label: "@auth/sveltekit", - link: { type: "doc", id: "reference/sveltekit/modules/main" }, - items: [ - { type: "autogenerated", dirName: "reference/04-sveltekit/modules" }, - { - type: "category", - label: "Reflections", - collapsed: true, - className: "reflection-category", // See src/index.css - items: [{ type: "autogenerated", dirName: "reference/04-sveltekit" }], - }, - ], + link: { type: "doc", id: "reference/sveltekit/index" }, + items: [{ type: "autogenerated", dirName: "reference/sveltekit" }], }, { type: "category", label: "@auth/solid-start", - link: { - type: "doc", - id: "reference/solidstart/index", - }, - items: ["reference/solidstart/client", "reference/solidstart/protected"], + link: { type: "doc", id: "reference/solidstart/index" }, + items: [{ type: "autogenerated", dirName: "reference/04-solidstart" }], }, { type: "category", label: "@auth/nextjs", - link: { - type: "doc", - id: "reference/nextjs/index", - }, + link: { type: "doc", id: "reference/nextjs/index" }, items: [ "reference/nextjs/client", { diff --git a/docs/src/css/index.css b/docs/src/css/index.css index f5f096a4..bb8f5aac 100644 --- a/docs/src/css/index.css +++ b/docs/src/css/index.css @@ -272,27 +272,4 @@ html[data-theme="dark"] #carbonads > span { html[data-theme="dark"] #carbonads .carbon-poweredby { color: #aaa; background: #1e2021; -} - -/* - This is a hack to hide the "Reflection" category and "main" module from the sidebar. - This is because: - 1. opening any page under the "Reflection" category would hide the entire sidebar. - 2. the "main" module would show up twice. - See sidebars.js -*/ -.reflection-category, -.theme-doc-sidebar-item-link-level-2 [href="/reference/core/modules/main"], -.theme-doc-sidebar-item-link-level-2 - [href="/reference/sveltekit/modules/main"] { - display: none; -} - -/* - HACK: to hide the "Classes" header and duplicate items together with the "typedoc-plugin-markdown" patch. - See: https://github.com/TypeStrong/typedoc/issues/2006 -*/ -/* h3.anchor + p:has(code, strong), */ /** hack did not work as it hides property types elsewhere */ -#classes { - display: none; -} +} \ No newline at end of file diff --git a/docs/tyepdoc.js b/docs/typedoc-mdn-links.js similarity index 100% rename from docs/tyepdoc.js rename to docs/typedoc-mdn-links.js diff --git a/docs/typedoc.json b/docs/typedoc.json index e9ecf49c..05bcac69 100644 --- a/docs/typedoc.json +++ b/docs/typedoc.json @@ -1,23 +1,16 @@ { - "excludeNotDocumented": true, "$schema": "https://typedoc.org/schema.json", - "allReflectionsHaveOwnDocument": true, + "cleanOutputDir": true, "disableSources": true, - "hideBreadcrumbs": true, "excludeExternals": true, "excludeInternal": true, + "excludeNotDocumented": true, "excludePrivate": true, - "cleanOutputDir": true, "excludeProtected": true, + "hideHierarchy": true, "gitRevision": "main", + "hideBreadcrumbs": true, "hideGenerator": true, - "intentionallyNotExported": [ - "ReturnTypes", - "CallbackParameters", - "JsonValue" - ], - "readme": "none", - "sort": ["kind", "static-first", "required-first", "alphabetical"], "kindSortOrder": [ "Function", "TypeAlias", @@ -41,5 +34,13 @@ "IndexSignature", "GetSignature", "SetSignature" - ] -} + ], + "readme": "none", + "sort": [ + "kind", + "static-first", + "required-first", + "alphabetical" + ], + "symbolsWithOwnFile": "none" +} \ No newline at end of file diff --git a/package.json b/package.json index ba856591..9de0fbf2 100644 --- a/package.json +++ b/package.json @@ -41,8 +41,6 @@ "prettier": "2.8.1", "prettier-plugin-svelte": "^2.8.1", "turbo": "1.6.3", - "typedoc": "^0.23.22", - "typedoc-plugin-markdown": "^3.14.0", "typescript": "4.9.4" }, "engines": { @@ -64,7 +62,6 @@ "undici": "5.11.0" }, "patchedDependencies": { - "typedoc-plugin-markdown@3.14.0": "patches/typedoc-plugin-markdown@3.14.0.patch", "@balazsorban/monorepo-release@0.1.8": "patches/@balazsorban__monorepo-release@0.1.8.patch" } } diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index 4060c73c..7eee0ff6 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -29,7 +29,7 @@ * - [Getting started](https://authjs.dev/getting-started/introduction) * - [Most common use case guides](https://authjs.dev/guides) * - * @module main + * @module index */ import { assertConfig } from "./lib/assert.js" diff --git a/packages/frameworks-sveltekit/src/lib/index.ts b/packages/frameworks-sveltekit/src/lib/index.ts index 019bae5c..d0983904 100644 --- a/packages/frameworks-sveltekit/src/lib/index.ts +++ b/packages/frameworks-sveltekit/src/lib/index.ts @@ -81,7 +81,7 @@ * return { * session: await event.locals.getSession() * }; - * }; + * }; * ``` * * What you return in the function `LayoutServerLoad` will be available inside the `$page` store, in the `data` property: `$page.data`. @@ -106,7 +106,7 @@ * return {}; * }; * ``` - * + * * :::danger * Make sure to ALWAYS grab the session information from the parent instead of using the store in the case of a `PageLoad`. * Not doing so can lead to users being able to incorrectly access protected information in the case the `+layout.server.ts` does not run for that page load. @@ -130,14 +130,14 @@ * The handle hook, available in `hooks.server.ts`, is a function that receives ALL requests sent to your SvelteKit webapp. * You may intercept them inside the handle hook, add and modify things in the request, block requests, etc. * Some readers may notice we are already using this handle hook for SvelteKitAuth which returns a handle itself, so we are going to use SvelteKit's sequence to provide middleware-like functions that set the handle hook. - * + * * ```ts * import { SvelteKitAuth } from '@auth/sveltekit'; * import GitHub from '@auth/core/providers/github'; * import { GITHUB_ID, GITHUB_SECRET } from '$env/static/private'; * import { redirect, type Handle } from '@sveltejs/kit'; * import { sequence } from '@sveltejs/kit/hooks'; - * + * * async function authorization({ event, resolve }) { * // Protect any routes under /authenticated * if (event.url.pathname.startsWith('/authenticated')) { @@ -146,14 +146,14 @@ * throw redirect(303, '/auth'); * } * } - * + * * // If the request is still here, just proceed as normally * const result = await resolve(event, { * transformPageChunk: ({ html }) => html * }); * return result; * } - * + * * // First handle authentication, then authorization * // Each function acts as a middleware, receiving the request handle * // And returning a handle which gets passed to the next function @@ -183,7 +183,7 @@ * PRs to improve this documentation are welcome! See [this file](https://github.com/nextauthjs/next-auth/blob/main/packages/frameworks-sveltekit/src/lib/index.ts). * ::: * - * @module main + * @module index */ /// diff --git a/patches/typedoc-plugin-markdown@3.14.0.patch b/patches/typedoc-plugin-markdown@3.14.0.patch deleted file mode 100644 index 0b02d8f8..00000000 --- a/patches/typedoc-plugin-markdown@3.14.0.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/dist/theme.js b/dist/theme.js -index 1483a4b4ec69583aa3086eac83b2b31ae8bb6777..c30e7a4f7785fc230099e8b904040dd4aa57c38e 100644 ---- a/dist/theme.js -+++ b/dist/theme.js -@@ -221,12 +221,12 @@ class MarkdownTheme extends typedoc_1.Theme { - directory: 'enums', - template: this.getReflectionTemplate(), - }, -- { -- kind: [typedoc_1.ReflectionKind.Class], -- isLeaf: false, -- directory: 'classes', -- template: this.getReflectionTemplate(), -- }, -+ // { -+ // kind: [typedoc_1.ReflectionKind.Class], -+ // isLeaf: false, -+ // directory: 'classes', -+ // template: this.getReflectionTemplate(), -+ // }, - { - kind: [typedoc_1.ReflectionKind.Interface], - isLeaf: false, \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 296c9e39..5c1a77a6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,9 +4,6 @@ overrides: undici: 5.11.0 patchedDependencies: - typedoc-plugin-markdown@3.14.0: - hash: p7xjg2asbi3h7h4efxnoor54kq - path: patches/typedoc-plugin-markdown@3.14.0.patch '@balazsorban/monorepo-release@0.1.8': hash: 75pao37sq3m6hqdrtxyjcxjfry path: patches/@balazsorban__monorepo-release@0.1.8.patch @@ -34,8 +31,6 @@ importers: prettier: 2.8.1 prettier-plugin-svelte: ^2.8.1 turbo: 1.6.3 - typedoc: ^0.23.22 - typedoc-plugin-markdown: ^3.14.0 typescript: 4.9.4 devDependencies: '@actions/core': 1.10.0 @@ -57,8 +52,6 @@ importers: prettier: 2.8.1 prettier-plugin-svelte: 2.8.1_prettier@2.8.1 turbo: 1.6.3 - typedoc: 0.23.22_typescript@4.9.4 - typedoc-plugin-markdown: 3.14.0_p7xjg2asbi3h7h4efxnoor54kq_typedoc@0.23.22 typescript: 4.9.4 apps/dev/nextjs: @@ -143,7 +136,7 @@ importers: vercel: ^23.1.2 dependencies: dotenv: 16.0.3 - gatsby: 5.6.0-next.2_biqbaboplfbrettd7655fr4n2y + gatsby: 5.7.0-next.0_biqbaboplfbrettd7655fr4n2y next-auth: link:../../../packages/next-auth react: 18.2.0 react-dom: 18.2.0_react@18.2.0 @@ -182,7 +175,7 @@ importers: '@mdx-js/react': 1.6.22 '@sapphire/docusaurus-plugin-npm2yarn2pnpm': 1.1.4 classnames: ^2.3.2 - docusaurus-plugin-typedoc: ^0.18.0 + docusaurus-plugin-typedoc: 1.0.0-next.2 mdx-mermaid: 1.2.2 mermaid: 9.0.1 next-auth: workspace:* @@ -190,8 +183,9 @@ importers: react: ^18.2.0 react-dom: ^18.2.0 react-marquee-slider: ^1.1.5 - remark-github: 10.1.0 styled-components: 5.3.6 + typedoc: ^0.23.24 + typedoc-plugin-markdown: 4.0.0-next.2 dependencies: '@auth/core': link:../packages/core '@auth/sveltekit': link:../packages/frameworks-sveltekit @@ -205,7 +199,6 @@ importers: react: 18.2.0 react-dom: 18.2.0_react@18.2.0 react-marquee-slider: 1.1.5_styled-components@5.3.6 - remark-github: 10.1.0 styled-components: 5.3.6_biqbaboplfbrettd7655fr4n2y devDependencies: '@docusaurus/core': 2.2.0_if65ga6ul5jnw5c4373drfty5m @@ -214,7 +207,9 @@ importers: '@docusaurus/preset-classic': 2.2.0_biqbaboplfbrettd7655fr4n2y '@docusaurus/theme-common': 2.2.0_if65ga6ul5jnw5c4373drfty5m '@docusaurus/types': 2.2.0_biqbaboplfbrettd7655fr4n2y - docusaurus-plugin-typedoc: 0.18.0 + docusaurus-plugin-typedoc: 1.0.0-next.2_kb65gbyd32jlgdze2tbrhv364a + typedoc: 0.23.24 + typedoc-plugin-markdown: 4.0.0-next.2_typedoc@0.23.24 packages/adapter-dgraph: specifiers: @@ -846,10 +841,10 @@ packages: graphql: '*' dependencies: '@babel/core': 7.20.12 - '@babel/generator': 7.20.7 - '@babel/parser': 7.20.7 - '@babel/runtime': 7.20.7 - '@babel/traverse': 7.20.12 + '@babel/generator': 7.20.14 + '@babel/parser': 7.20.15 + '@babel/runtime': 7.20.13 + '@babel/traverse': 7.20.13 '@babel/types': 7.20.7 babel-preset-fbjs: 3.4.0_@babel+core@7.20.12 chalk: 4.1.2 @@ -1569,7 +1564,7 @@ packages: '@types/node-fetch': 2.6.2 '@types/tunnel': 0.0.3 form-data: 4.0.0 - node-fetch: 2.6.7 + node-fetch: 2.6.9 process: 0.11.10 tough-cookie: 4.0.0 tslib: 2.4.1 @@ -1704,7 +1699,7 @@ packages: '@azure/core-auth': 1.3.2 abort-controller: 3.0.0 form-data: 2.5.1 - node-fetch: 2.6.7 + node-fetch: 2.6.9 tough-cookie: 3.0.1 tslib: 1.14.1 tunnel: 0.0.6 @@ -1822,12 +1817,12 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.18.6 - '@babel/generator': 7.20.7 + '@babel/generator': 7.20.14 '@babel/helper-module-transforms': 7.20.11 '@babel/helpers': 7.20.7 - '@babel/parser': 7.20.7 + '@babel/parser': 7.20.15 '@babel/template': 7.20.7 - '@babel/traverse': 7.20.12 + '@babel/traverse': 7.20.13 '@babel/types': 7.20.7 convert-source-map: 1.8.0 debug: 4.3.4 @@ -1874,9 +1869,9 @@ packages: '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12 '@babel/helper-module-transforms': 7.20.11 '@babel/helpers': 7.20.7 - '@babel/parser': 7.20.7 + '@babel/parser': 7.20.15 '@babel/template': 7.20.7 - '@babel/traverse': 7.20.12 + '@babel/traverse': 7.20.13 '@babel/types': 7.20.7 convert-source-map: 1.8.0 debug: 4.3.4 @@ -1892,13 +1887,13 @@ packages: dependencies: '@ampproject/remapping': 2.2.0 '@babel/code-frame': 7.18.6 - '@babel/generator': 7.20.7 + '@babel/generator': 7.20.14 '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.2 '@babel/helper-module-transforms': 7.20.11 '@babel/helpers': 7.20.7 - '@babel/parser': 7.20.7 + '@babel/parser': 7.20.15 '@babel/template': 7.20.7 - '@babel/traverse': 7.20.12 + '@babel/traverse': 7.20.13 '@babel/types': 7.20.7 convert-source-map: 1.8.0 debug: 4.3.4 @@ -1955,6 +1950,14 @@ packages: jsesc: 2.5.2 dev: true + /@babel/generator/7.20.14: + resolution: {integrity: sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.20.7 + '@jridgewell/gen-mapping': 0.3.2 + jsesc: 2.5.2 + /@babel/generator/7.20.3: resolution: {integrity: sha512-Wl5ilw2UD1+ZYprHVprxHZJCFeBWlzZYOovE4SDYLZnqCOD11j+0QzNeEWKLLTWM7nixrZEh7vNIyb76MyJg3A==} engines: {node: '>=6.9.0'} @@ -2039,7 +2042,7 @@ packages: peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/compat-data': 7.20.1 + '@babel/compat-data': 7.20.10 '@babel/core': 7.20.12 '@babel/helper-validator-option': 7.18.6 browserslist: 4.21.4 @@ -2051,7 +2054,7 @@ packages: peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/compat-data': 7.20.1 + '@babel/compat-data': 7.20.10 '@babel/core': 7.20.2 '@babel/helper-validator-option': 7.18.6 browserslist: 4.21.4 @@ -2064,7 +2067,7 @@ packages: peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/compat-data': 7.20.1 + '@babel/compat-data': 7.20.10 '@babel/core': 7.20.5 '@babel/helper-validator-option': 7.18.6 browserslist: 4.21.4 @@ -2148,9 +2151,9 @@ packages: '@babel/helper-annotate-as-pure': 7.18.6 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-function-name': 7.19.0 - '@babel/helper-member-expression-to-functions': 7.18.9 + '@babel/helper-member-expression-to-functions': 7.20.7 '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/helper-replace-supers': 7.19.1 + '@babel/helper-replace-supers': 7.20.7 '@babel/helper-split-export-declaration': 7.18.6 transitivePeerDependencies: - supports-color @@ -2166,9 +2169,9 @@ packages: '@babel/helper-annotate-as-pure': 7.18.6 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-function-name': 7.19.0 - '@babel/helper-member-expression-to-functions': 7.18.9 + '@babel/helper-member-expression-to-functions': 7.20.7 '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/helper-replace-supers': 7.19.1 + '@babel/helper-replace-supers': 7.20.7 '@babel/helper-split-export-declaration': 7.18.6 transitivePeerDependencies: - supports-color @@ -2320,7 +2323,7 @@ packages: '@babel/helper-compilation-targets': 7.20.7 '@babel/helper-module-imports': 7.18.6 '@babel/helper-plugin-utils': 7.20.2 - '@babel/traverse': 7.20.12 + '@babel/traverse': 7.20.13 debug: 4.3.4 lodash.debounce: 4.0.8 resolve: 1.22.1 @@ -2338,7 +2341,7 @@ packages: '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.18.5 '@babel/helper-module-imports': 7.18.6 '@babel/helper-plugin-utils': 7.20.2 - '@babel/traverse': 7.20.12 + '@babel/traverse': 7.20.13 debug: 4.3.4 lodash.debounce: 4.0.8 resolve: 1.22.1 @@ -2444,13 +2447,6 @@ packages: dependencies: '@babel/types': 7.20.7 - /@babel/helper-member-expression-to-functions/7.18.9: - resolution: {integrity: sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.20.7 - dev: true - /@babel/helper-member-expression-to-functions/7.20.7: resolution: {integrity: sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==} engines: {node: '>=6.9.0'} @@ -2503,7 +2499,7 @@ packages: '@babel/helper-split-export-declaration': 7.18.6 '@babel/helper-validator-identifier': 7.19.1 '@babel/template': 7.20.7 - '@babel/traverse': 7.20.12 + '@babel/traverse': 7.20.13 '@babel/types': 7.20.7 transitivePeerDependencies: - supports-color @@ -2518,7 +2514,7 @@ packages: '@babel/helper-split-export-declaration': 7.18.6 '@babel/helper-validator-identifier': 7.19.1 '@babel/template': 7.20.7 - '@babel/traverse': 7.20.12 + '@babel/traverse': 7.20.13 '@babel/types': 7.20.7 transitivePeerDependencies: - supports-color @@ -2609,26 +2605,14 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-member-expression-to-functions': 7.18.9 + '@babel/helper-member-expression-to-functions': 7.20.7 '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/traverse': 7.20.12 + '@babel/traverse': 7.20.13 '@babel/types': 7.20.7 transitivePeerDependencies: - supports-color dev: true - /@babel/helper-replace-supers/7.19.1: - resolution: {integrity: sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-member-expression-to-functions': 7.20.7 - '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/traverse': 7.20.12 - '@babel/types': 7.20.7 - transitivePeerDependencies: - - supports-color - /@babel/helper-replace-supers/7.20.7: resolution: {integrity: sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==} engines: {node: '>=6.9.0'} @@ -2637,7 +2621,7 @@ packages: '@babel/helper-member-expression-to-functions': 7.20.7 '@babel/helper-optimise-call-expression': 7.18.6 '@babel/template': 7.20.7 - '@babel/traverse': 7.20.12 + '@babel/traverse': 7.20.13 '@babel/types': 7.20.7 transitivePeerDependencies: - supports-color @@ -2708,7 +2692,7 @@ packages: dependencies: '@babel/helper-function-name': 7.19.0 '@babel/template': 7.20.7 - '@babel/traverse': 7.20.12 + '@babel/traverse': 7.20.13 '@babel/types': 7.20.7 transitivePeerDependencies: - supports-color @@ -2720,7 +2704,7 @@ packages: dependencies: '@babel/helper-function-name': 7.19.0 '@babel/template': 7.20.7 - '@babel/traverse': 7.20.12 + '@babel/traverse': 7.20.13 '@babel/types': 7.20.7 transitivePeerDependencies: - supports-color @@ -2741,7 +2725,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.20.7 - '@babel/traverse': 7.20.12 + '@babel/traverse': 7.20.13 '@babel/types': 7.20.7 transitivePeerDependencies: - supports-color @@ -2752,7 +2736,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.20.7 - '@babel/traverse': 7.20.12 + '@babel/traverse': 7.20.13 '@babel/types': 7.20.7 transitivePeerDependencies: - supports-color @@ -2782,6 +2766,13 @@ packages: '@babel/types': 7.18.4 dev: true + /@babel/parser/7.20.15: + resolution: {integrity: sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.20.7 + /@babel/parser/7.20.5: resolution: {integrity: sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==} engines: {node: '>=6.0.0'} @@ -2796,6 +2787,7 @@ packages: hasBin: true dependencies: '@babel/types': 7.20.7 + dev: true /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.17.12: resolution: {integrity: sha512-xCJQXl4EeQ3J9C4yOmpTrtVGmzpm2iSzyxbkZHw7UCnZBftHpF/hpII80uWVyVrc40ytIClHjgWGTG1g/yB+aw==} @@ -3467,7 +3459,7 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.20.1 + '@babel/compat-data': 7.20.10 '@babel/core': 7.20.12 '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12 '@babel/helper-plugin-utils': 7.20.2 @@ -3480,7 +3472,7 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.20.1 + '@babel/compat-data': 7.20.10 '@babel/core': 7.20.2 '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.2 '@babel/helper-plugin-utils': 7.20.2 @@ -3494,7 +3486,7 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.20.1 + '@babel/compat-data': 7.20.10 '@babel/core': 7.20.5 '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.5 '@babel/helper-plugin-utils': 7.20.2 @@ -4920,7 +4912,7 @@ packages: '@babel/helper-function-name': 7.19.0 '@babel/helper-optimise-call-expression': 7.18.6 '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-replace-supers': 7.19.1 + '@babel/helper-replace-supers': 7.20.7 '@babel/helper-split-export-declaration': 7.18.6 globals: 11.12.0 transitivePeerDependencies: @@ -4939,7 +4931,7 @@ packages: '@babel/helper-function-name': 7.19.0 '@babel/helper-optimise-call-expression': 7.18.6 '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-replace-supers': 7.19.1 + '@babel/helper-replace-supers': 7.20.7 '@babel/helper-split-export-declaration': 7.18.6 globals: 11.12.0 transitivePeerDependencies: @@ -4959,7 +4951,7 @@ packages: '@babel/helper-function-name': 7.19.0 '@babel/helper-optimise-call-expression': 7.18.6 '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-replace-supers': 7.19.1 + '@babel/helper-replace-supers': 7.20.7 '@babel/helper-split-export-declaration': 7.18.6 globals: 11.12.0 transitivePeerDependencies: @@ -5888,7 +5880,7 @@ packages: dependencies: '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-replace-supers': 7.19.1 + '@babel/helper-replace-supers': 7.20.7 transitivePeerDependencies: - supports-color @@ -5900,7 +5892,7 @@ packages: dependencies: '@babel/core': 7.20.2 '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-replace-supers': 7.19.1 + '@babel/helper-replace-supers': 7.20.7 transitivePeerDependencies: - supports-color dev: true @@ -5913,7 +5905,7 @@ packages: dependencies: '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-replace-supers': 7.19.1 + '@babel/helper-replace-supers': 7.20.7 transitivePeerDependencies: - supports-color dev: true @@ -7356,11 +7348,18 @@ packages: regenerator-runtime: 0.13.11 dev: true + /@babel/runtime/7.20.13: + resolution: {integrity: sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.13.11 + /@babel/runtime/7.20.7: resolution: {integrity: sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.13.11 + dev: true /@babel/standalone/7.20.12: resolution: {integrity: sha512-hK/X+m1il3w1tYS4H8LDaGCEdiT47SVqEXY8RiEAgou26BystipSU8ZL6EvBR6t5l7lTv0ilBiChXWblKJ5iUA==} @@ -7390,7 +7389,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.18.6 - '@babel/parser': 7.20.7 + '@babel/parser': 7.20.15 '@babel/types': 7.20.7 /@babel/traverse/7.18.5: @@ -7416,12 +7415,12 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.18.6 - '@babel/generator': 7.20.7 + '@babel/generator': 7.20.14 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-function-name': 7.19.0 '@babel/helper-hoist-variables': 7.18.6 '@babel/helper-split-export-declaration': 7.18.6 - '@babel/parser': 7.20.7 + '@babel/parser': 7.20.15 '@babel/types': 7.20.7 debug: 4.3.4 globals: 11.12.0 @@ -7432,6 +7431,24 @@ packages: /@babel/traverse/7.20.12: resolution: {integrity: sha512-MsIbFN0u+raeja38qboyF8TIT7K0BFzz/Yd/77ta4MsUsmP2RAnidIlwq7d5HFQrH/OZJecGV6B71C4zAgpoSQ==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.18.6 + '@babel/generator': 7.20.14 + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-function-name': 7.19.0 + '@babel/helper-hoist-variables': 7.18.6 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/parser': 7.20.15 + '@babel/types': 7.20.7 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/traverse/7.20.13: + resolution: {integrity: sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ==} + engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.18.6 '@babel/generator': 7.20.7 @@ -7439,7 +7456,7 @@ packages: '@babel/helper-function-name': 7.19.0 '@babel/helper-hoist-variables': 7.18.6 '@babel/helper-split-export-declaration': 7.18.6 - '@babel/parser': 7.20.7 + '@babel/parser': 7.20.15 '@babel/types': 7.20.7 debug: 4.3.4 globals: 11.12.0 @@ -7686,9 +7703,9 @@ packages: resolution: {integrity: sha512-mAAwCo4n66TMWBH1kXnHVZsakW9VAXJzTO4yZukuL3ro4F+JtkMwKfh42EG75K/J/YIFQG5I/Bzy0UH/hFxaTg==} engines: {node: '>=16.14'} dependencies: - cssnano-preset-advanced: 5.3.8_postcss@8.4.20 - postcss: 8.4.20 - postcss-sort-media-queries: 4.2.1_postcss@8.4.20 + cssnano-preset-advanced: 5.3.8_postcss@8.4.21 + postcss: 8.4.21 + postcss-sort-media-queries: 4.2.1_postcss@8.4.21 tslib: 2.4.1 dev: true @@ -7720,8 +7737,8 @@ packages: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@babel/parser': 7.20.7 - '@babel/traverse': 7.20.12 + '@babel/parser': 7.20.15 + '@babel/traverse': 7.20.13 '@docusaurus/logger': 2.2.0 '@docusaurus/utils': 2.2.0_@docusaurus+types@2.2.0 '@mdx-js/mdx': 1.6.22 @@ -9103,20 +9120,20 @@ packages: dev: true optional: true - /@gatsbyjs/parcel-namer-relative-to-cwd/2.6.0-next.0_@parcel+core@2.8.2: - resolution: {integrity: sha512-YAEMsZhRG59bs9Ps3TKh/jxQ2ysnHU7+eVEEq/gssh2o+og//WTiR7KldR6xFEWQWMmmYQThAGyuJe/sN9hVNA==} + /@gatsbyjs/parcel-namer-relative-to-cwd/2.7.0-next.0_@parcel+core@2.8.3: + resolution: {integrity: sha512-9Zg4XkxOgsOUWgrc7RmsietgvH6wesildPtpdT2Z9R45Q05i6OcgBUhX+qQoniQJzci8IEBM2vSkU9E8x6E74Q==} engines: {node: '>=18.0.0', parcel: 2.x} dependencies: - '@babel/runtime': 7.20.7 - '@parcel/namer-default': 2.8.2_@parcel+core@2.8.2 - '@parcel/plugin': 2.8.2_@parcel+core@2.8.2 - gatsby-core-utils: 4.6.0-next.0 + '@babel/runtime': 7.20.13 + '@parcel/namer-default': 2.8.3_@parcel+core@2.8.3 + '@parcel/plugin': 2.8.3_@parcel+core@2.8.3 + gatsby-core-utils: 4.7.0-next.0 transitivePeerDependencies: - '@parcel/core' dev: false - /@gatsbyjs/reach-router/2.0.0_biqbaboplfbrettd7655fr4n2y: - resolution: {integrity: sha512-n5nifEBtQCo4Wc/ErBvFEGyX5y8dKPSERre3pmuizkJl9J4l0M0bhu6aMc4uOXhG66UR4jgVDjN2Q2I2FSrVkw==} + /@gatsbyjs/reach-router/2.0.1_biqbaboplfbrettd7655fr4n2y: + resolution: {integrity: sha512-gmSZniS9/phwgEgpFARMpNg21PkYDZEpfgEzvkgpE/iku4uvXqCrxr86fXbTpI9mkrhKS1SCTYmLGe60VdHcdQ==} peerDependencies: react: 18.x react-dom: 18.x @@ -9199,8 +9216,8 @@ packages: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: '@graphql-codegen/plugin-helpers': 3.1.2_graphql@16.6.0 - '@graphql-tools/schema': 9.0.12_graphql@16.6.0 - '@graphql-tools/utils': 9.1.3_graphql@16.6.0 + '@graphql-tools/schema': 9.0.15_graphql@16.6.0 + '@graphql-tools/utils': 9.2.0_graphql@16.6.0 graphql: 16.6.0 tslib: 2.4.1 dev: false @@ -9224,7 +9241,7 @@ packages: peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@graphql-tools/utils': 9.1.3_graphql@16.6.0 + '@graphql-tools/utils': 9.2.0_graphql@16.6.0 change-case-all: 1.0.15 common-tags: 1.8.2 graphql: 16.6.0 @@ -9239,7 +9256,7 @@ packages: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: '@graphql-codegen/plugin-helpers': 3.1.2_graphql@16.6.0 - '@graphql-tools/utils': 9.1.3_graphql@16.6.0 + '@graphql-tools/utils': 9.2.0_graphql@16.6.0 graphql: 16.6.0 tslib: 2.4.1 dev: false @@ -9284,7 +9301,7 @@ packages: '@graphql-codegen/plugin-helpers': 3.1.2_graphql@16.6.0 '@graphql-tools/optimize': 1.3.1_graphql@16.6.0 '@graphql-tools/relay-operation-optimizer': 6.5.14_graphql@16.6.0 - '@graphql-tools/utils': 9.1.3_graphql@16.6.0 + '@graphql-tools/utils': 9.2.0_graphql@16.6.0 auto-bind: 4.0.0 change-case-all: 1.0.15 dependency-graph: 0.11.0 @@ -9297,13 +9314,13 @@ packages: - supports-color dev: false - /@graphql-tools/code-file-loader/7.3.15_hooseksvfyhf37tjwfseq7c3kq: - resolution: {integrity: sha512-cF8VNc/NANTyVSIK8BkD/KSXRF64DvvomuJ0evia7tJu4uGTXgDjimTMWsTjKRGOOBSTEbL6TA8e4DdIYq6Udw==} + /@graphql-tools/code-file-loader/7.3.18_hooseksvfyhf37tjwfseq7c3kq: + resolution: {integrity: sha512-DK0YjsJWKkLF6HQYuuqiDwMr9rwRojm8yR/T+J8vXCOR4ndYa1EvUm9wRHPhxHVOYeptO2u+APoWNEhuMN9Hbw==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/graphql-tag-pluck': 7.4.2_hooseksvfyhf37tjwfseq7c3kq - '@graphql-tools/utils': 9.1.3_graphql@16.6.0 + '@graphql-tools/graphql-tag-pluck': 7.4.4_hooseksvfyhf37tjwfseq7c3kq + '@graphql-tools/utils': 9.2.0_graphql@16.6.0 globby: 11.1.0 graphql: 16.6.0 tslib: 2.4.1 @@ -9313,16 +9330,16 @@ packages: - supports-color dev: false - /@graphql-tools/graphql-tag-pluck/7.4.2_hooseksvfyhf37tjwfseq7c3kq: - resolution: {integrity: sha512-SXM1wR5TExrxocQTxZK5r74jTbg8GxSYLY3mOPCREGz6Fu7PNxMxfguUzGUAB43Mf44Dn8oVztzd2eitv2Qgww==} + /@graphql-tools/graphql-tag-pluck/7.4.4_hooseksvfyhf37tjwfseq7c3kq: + resolution: {integrity: sha512-yHIEcapR/kVSrn4W4Nf3FYpJKPcoGvJbdbye8TnW3dD5GkG4UqVnKuyqFvQPOhgqXKbloFZqUhNqEuyqxqIPRw==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@babel/parser': 7.20.7 + '@babel/parser': 7.20.15 '@babel/plugin-syntax-import-assertions': 7.20.0_@babel+core@7.20.12 - '@babel/traverse': 7.20.12 + '@babel/traverse': 7.20.13 '@babel/types': 7.20.7 - '@graphql-tools/utils': 9.1.3_graphql@16.6.0 + '@graphql-tools/utils': 9.2.0_graphql@16.6.0 graphql: 16.6.0 tslib: 2.4.1 transitivePeerDependencies: @@ -9330,24 +9347,24 @@ packages: - supports-color dev: false - /@graphql-tools/load/7.8.8_graphql@16.6.0: - resolution: {integrity: sha512-gMuQdO2jXmI0BNUc1MafxRQTWVMUtuH500pZAQtOdDdNJppV7lJdY6mMhITQ2qnhYDuMrcZPHhIkcftyQfkgUg==} + /@graphql-tools/load/7.8.11_graphql@16.6.0: + resolution: {integrity: sha512-pVn3fYP/qZ3m2NE86gSexyZpEmvTSUe+OIRfWBM60a4L/SycMxgVfYB5+PyDCzruFZg/didIG3v7RfPlZ7zNTQ==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/schema': 9.0.12_graphql@16.6.0 - '@graphql-tools/utils': 9.1.3_graphql@16.6.0 + '@graphql-tools/schema': 9.0.15_graphql@16.6.0 + '@graphql-tools/utils': 9.2.0_graphql@16.6.0 graphql: 16.6.0 p-limit: 3.1.0 tslib: 2.4.1 dev: false - /@graphql-tools/merge/8.3.14_graphql@16.6.0: - resolution: {integrity: sha512-zV0MU1DnxJLIB0wpL4N3u21agEiYFsjm6DI130jqHpwF0pR9HkF+Ni65BNfts4zQelP0GjkHltG+opaozAJ1NA==} + /@graphql-tools/merge/8.3.17_graphql@16.6.0: + resolution: {integrity: sha512-CLzz49lc6BavPhH9gPRm0sJeNA7kC/tF/jLUTQsyef6xj82Jw3rqIJ9PE+bk1cqPCOG01WLOfquBu445OMDO2g==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 9.1.3_graphql@16.6.0 + '@graphql-tools/utils': 9.2.0_graphql@16.6.0 graphql: 16.6.0 tslib: 2.4.1 dev: false @@ -9375,16 +9392,16 @@ packages: - supports-color dev: false - /@graphql-tools/schema/9.0.12_graphql@16.6.0: - resolution: {integrity: sha512-DmezcEltQai0V1y96nwm0Kg11FDS/INEFekD4nnVgzBqawvznWqK6D6bujn+cw6kivoIr3Uq//QmU/hBlBzUlQ==} + /@graphql-tools/schema/9.0.15_graphql@16.6.0: + resolution: {integrity: sha512-p2DbpkOBcsi+yCEjwoS+r4pJ5z+3JjlJdhbPkCwC4q8lGf5r93dVYrExOrqGKTU5kxLXI/mxabSxcunjNIsDIg==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/merge': 8.3.14_graphql@16.6.0 - '@graphql-tools/utils': 9.1.3_graphql@16.6.0 + '@graphql-tools/merge': 8.3.17_graphql@16.6.0 + '@graphql-tools/utils': 9.2.0_graphql@16.6.0 graphql: 16.6.0 tslib: 2.4.1 - value-or-promise: 1.0.11 + value-or-promise: 1.0.12 dev: false /@graphql-tools/utils/8.13.1_graphql@16.6.0: @@ -9405,6 +9422,24 @@ packages: tslib: 2.4.1 dev: false + /@graphql-tools/utils/9.2.0_graphql@16.6.0: + resolution: {integrity: sha512-s3lEG1iYkyYEnKCWrIFECX3XH2wmZvbg6Ir3udCvIDynq+ydaO7JQXobclpPtwSJtjlS353haF//6V7mnBQ4bg==} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + dependencies: + '@graphql-typed-document-node/core': 3.1.1_graphql@16.6.0 + graphql: 16.6.0 + tslib: 2.4.1 + dev: false + + /@graphql-typed-document-node/core/3.1.1_graphql@16.6.0: + resolution: {integrity: sha512-NQ17ii0rK1b34VZonlmT2QMJFI70m0TRwbknO/ihlbatXyaktDhN/98vBiUU6kNBPljqGqyIrl2T4nY2RpFANg==} + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + dependencies: + graphql: 16.6.0 + dev: false + /@grpc/grpc-js/1.6.7: resolution: {integrity: sha512-eBM03pu9hd3VqDQG+kHahiG1x80RGkkqqRb1Pchcwqej/KkAH95gAvKs6laqaHCycYaPK+TKuNQnOz9UXYA8qw==} engines: {node: ^8.13.0 || >=10.10.0} @@ -11031,67 +11066,67 @@ packages: resolution: {integrity: sha512-MSAs9t3Go7GUkMhpKC44T58DJ5KGk2vBo+h1cqQeqlMfdGkxaVB78ZWpv9gYi/g2fa4sopag9gJsNvS8XGgWJA==} dev: false - /@parcel/bundler-default/2.8.2_@parcel+core@2.8.2: - resolution: {integrity: sha512-/7ao0vc/v8WGHZaS1SyS5R8wzqmmXEr9mhIIB2cbLQ4LA2WUtKsYcvZ2gjJuiAAN1CHC6GxqwYjIJScQCk/QXg==} - engines: {node: '>= 12.0.0', parcel: ^2.8.2} + /@parcel/bundler-default/2.8.3_@parcel+core@2.8.3: + resolution: {integrity: sha512-yJvRsNWWu5fVydsWk3O2L4yIy3UZiKWO2cPDukGOIWMgp/Vbpp+2Ct5IygVRtE22bnseW/E/oe0PV3d2IkEJGg==} + engines: {node: '>= 12.0.0', parcel: ^2.8.3} dependencies: - '@parcel/diagnostic': 2.8.2 - '@parcel/graph': 2.8.2 - '@parcel/hash': 2.8.2 - '@parcel/plugin': 2.8.2_@parcel+core@2.8.2 - '@parcel/utils': 2.8.2 + '@parcel/diagnostic': 2.8.3 + '@parcel/graph': 2.8.3 + '@parcel/hash': 2.8.3 + '@parcel/plugin': 2.8.3_@parcel+core@2.8.3 + '@parcel/utils': 2.8.3 nullthrows: 1.1.1 transitivePeerDependencies: - '@parcel/core' dev: false - /@parcel/cache/2.8.2_@parcel+core@2.8.2: - resolution: {integrity: sha512-kiyoOgh1RXp5qp+wlb8Pi/Z7o9D82Oj5RlHnKSAauyR7jgnI8Vq8JTeBmlLqrf+kHxcDcp2p86hidSeANhlQNg==} + /@parcel/cache/2.8.3_@parcel+core@2.8.3: + resolution: {integrity: sha512-k7xv5vSQrJLdXuglo+Hv3yF4BCSs1tQ/8Vbd6CHTkOhf7LcGg6CPtLw053R/KdMpd/4GPn0QrAsOLdATm1ELtQ==} engines: {node: '>= 12.0.0'} peerDependencies: - '@parcel/core': ^2.8.2 + '@parcel/core': ^2.8.3 dependencies: - '@parcel/core': 2.8.2 - '@parcel/fs': 2.8.2_@parcel+core@2.8.2 - '@parcel/logger': 2.8.2 - '@parcel/utils': 2.8.2 + '@parcel/core': 2.8.3 + '@parcel/fs': 2.8.3_@parcel+core@2.8.3 + '@parcel/logger': 2.8.3 + '@parcel/utils': 2.8.3 lmdb: 2.5.2 dev: false - /@parcel/codeframe/2.8.2: - resolution: {integrity: sha512-U2GT9gq1Zs3Gr83j8JIs10bLbGOHFl57Y8D57nrdR05F4iilV/UR6K7jkhdoiFc9WiHh3ewvrko5+pSdAVFPgQ==} + /@parcel/codeframe/2.8.3: + resolution: {integrity: sha512-FE7sY53D6n/+2Pgg6M9iuEC6F5fvmyBkRE4d9VdnOoxhTXtkEqpqYgX7RJ12FAQwNlxKq4suBJQMgQHMF2Kjeg==} engines: {node: '>= 12.0.0'} dependencies: chalk: 4.1.2 dev: false - /@parcel/compressor-raw/2.8.2_@parcel+core@2.8.2: - resolution: {integrity: sha512-EFPTer/P+3axifH6LtYHS3E6ABgdZnjZomJZ/Nl19lypZh/NgZzmMZlINlEVqyYhCggoKfXzgeTgkIHPN2d5Vw==} - engines: {node: '>= 12.0.0', parcel: ^2.8.2} + /@parcel/compressor-raw/2.8.3_@parcel+core@2.8.3: + resolution: {integrity: sha512-bVDsqleBUxRdKMakWSlWC9ZjOcqDKE60BE+Gh3JSN6WJrycJ02P5wxjTVF4CStNP/G7X17U+nkENxSlMG77ySg==} + engines: {node: '>= 12.0.0', parcel: ^2.8.3} dependencies: - '@parcel/plugin': 2.8.2_@parcel+core@2.8.2 + '@parcel/plugin': 2.8.3_@parcel+core@2.8.3 transitivePeerDependencies: - '@parcel/core' dev: false - /@parcel/core/2.8.2: - resolution: {integrity: sha512-ZGuq6p+Lzx6fgufaVsuOBwgpU3hgskTvIDIMdIDi9gOZyhGPK7U2srXdX+VYUL5ZSGbX04/P6QlB9FMAXK+nEg==} + /@parcel/core/2.8.3: + resolution: {integrity: sha512-Euf/un4ZAiClnlUXqPB9phQlKbveU+2CotZv7m7i+qkgvFn5nAGnrV4h1OzQU42j9dpgOxWi7AttUDMrvkbhCQ==} engines: {node: '>= 12.0.0'} dependencies: '@mischnic/json-sourcemap': 0.1.0 - '@parcel/cache': 2.8.2_@parcel+core@2.8.2 - '@parcel/diagnostic': 2.8.2 - '@parcel/events': 2.8.2 - '@parcel/fs': 2.8.2_@parcel+core@2.8.2 - '@parcel/graph': 2.8.2 - '@parcel/hash': 2.8.2 - '@parcel/logger': 2.8.2 - '@parcel/package-manager': 2.8.2_@parcel+core@2.8.2 - '@parcel/plugin': 2.8.2_@parcel+core@2.8.2 + '@parcel/cache': 2.8.3_@parcel+core@2.8.3 + '@parcel/diagnostic': 2.8.3 + '@parcel/events': 2.8.3 + '@parcel/fs': 2.8.3_@parcel+core@2.8.3 + '@parcel/graph': 2.8.3 + '@parcel/hash': 2.8.3 + '@parcel/logger': 2.8.3 + '@parcel/package-manager': 2.8.3_@parcel+core@2.8.3 + '@parcel/plugin': 2.8.3_@parcel+core@2.8.3 '@parcel/source-map': 2.1.1 - '@parcel/types': 2.8.2_@parcel+core@2.8.2 - '@parcel/utils': 2.8.2 - '@parcel/workers': 2.8.2_@parcel+core@2.8.2 + '@parcel/types': 2.8.3_@parcel+core@2.8.3 + '@parcel/utils': 2.8.3 + '@parcel/workers': 2.8.3_@parcel+core@2.8.3 abortcontroller-polyfill: 1.7.5 base-x: 3.0.9 browserslist: 4.21.4 @@ -11104,180 +11139,180 @@ packages: semver: 5.7.1 dev: false - /@parcel/diagnostic/2.8.2: - resolution: {integrity: sha512-tGSMwM2rSYLjJW0fCd9gb3tNjfCX/83PZ10/5u2E33UZVkk8OIHsQmsrtq2H2g4oQL3rFxkfEx6nGPDGHwlx7A==} + /@parcel/diagnostic/2.8.3: + resolution: {integrity: sha512-u7wSzuMhLGWZjVNYJZq/SOViS3uFG0xwIcqXw12w54Uozd6BH8JlhVtVyAsq9kqnn7YFkw6pXHqAo5Tzh4FqsQ==} engines: {node: '>= 12.0.0'} dependencies: '@mischnic/json-sourcemap': 0.1.0 nullthrows: 1.1.1 dev: false - /@parcel/events/2.8.2: - resolution: {integrity: sha512-o5etrsKm16y8iRPnjtEBNy4lD0WAigD66yt/RZl9Rx0vPVDly/63Rr9+BrXWVW7bJ7x0S0VVpWW4j3f/qZOsXg==} + /@parcel/events/2.8.3: + resolution: {integrity: sha512-hoIS4tAxWp8FJk3628bsgKxEvR7bq2scCVYHSqZ4fTi/s0+VymEATrRCUqf+12e5H47uw1/ZjoqrGtBI02pz4w==} engines: {node: '>= 12.0.0'} dev: false - /@parcel/fs-search/2.8.2: - resolution: {integrity: sha512-ovQnupRm/MoE/tbgH0Ivknk0QYenXAewjcog+T5umDmUlTmnIRZjURrgDf5Xtw8T/CD5Xv+HmIXpJ9Ez/LzJpw==} + /@parcel/fs-search/2.8.3: + resolution: {integrity: sha512-DJBT2N8knfN7Na6PP2mett3spQLTqxFrvl0gv+TJRp61T8Ljc4VuUTb0hqBj+belaASIp3Q+e8+SgaFQu7wLiQ==} engines: {node: '>= 12.0.0'} dependencies: detect-libc: 1.0.3 dev: false - /@parcel/fs/2.8.2_@parcel+core@2.8.2: - resolution: {integrity: sha512-aN8znbMndSqn1xwZEmMblzqmJsxcExv2jKLl/a9RUHAP7LaPYcPZIykDL3YwGCiKTCzjmRpXnNoyosjFFeBaHA==} + /@parcel/fs/2.8.3_@parcel+core@2.8.3: + resolution: {integrity: sha512-y+i+oXbT7lP0e0pJZi/YSm1vg0LDsbycFuHZIL80pNwdEppUAtibfJZCp606B7HOjMAlNZOBo48e3hPG3d8jgQ==} engines: {node: '>= 12.0.0'} peerDependencies: - '@parcel/core': ^2.8.2 + '@parcel/core': ^2.8.3 dependencies: - '@parcel/core': 2.8.2 - '@parcel/fs-search': 2.8.2 - '@parcel/types': 2.8.2_@parcel+core@2.8.2 - '@parcel/utils': 2.8.2 + '@parcel/core': 2.8.3 + '@parcel/fs-search': 2.8.3 + '@parcel/types': 2.8.3_@parcel+core@2.8.3 + '@parcel/utils': 2.8.3 '@parcel/watcher': 2.1.0 - '@parcel/workers': 2.8.2_@parcel+core@2.8.2 + '@parcel/workers': 2.8.3_@parcel+core@2.8.3 dev: false - /@parcel/graph/2.8.2: - resolution: {integrity: sha512-SLEvBQBgfkXgU4EBu30+CNanpuKjcNuEv/x8SwobCF0i3Rk+QKbe7T36bNR7727mao++2Ha69q93Dd9dTPw0kQ==} + /@parcel/graph/2.8.3: + resolution: {integrity: sha512-26GL8fYZPdsRhSXCZ0ZWliloK6DHlMJPWh6Z+3VVZ5mnDSbYg/rRKWmrkhnr99ZWmL9rJsv4G74ZwvDEXTMPBg==} engines: {node: '>= 12.0.0'} dependencies: nullthrows: 1.1.1 dev: false - /@parcel/hash/2.8.2: - resolution: {integrity: sha512-NBnP8Hu0xvAqAfZXRaMM66i8nJyxpKS86BbhwkbgTGbwO1OY87GERliHeREJfcER0E0ZzwNow7MNR8ZDm6IvJQ==} + /@parcel/hash/2.8.3: + resolution: {integrity: sha512-FVItqzjWmnyP4ZsVgX+G00+6U2IzOvqDtdwQIWisCcVoXJFCqZJDy6oa2qDDFz96xCCCynjRjPdQx2jYBCpfYw==} engines: {node: '>= 12.0.0'} dependencies: detect-libc: 1.0.3 xxhash-wasm: 0.4.2 dev: false - /@parcel/logger/2.8.2: - resolution: {integrity: sha512-zlhK6QHxfFJMlVJxxcCw0xxBDrYPFPOhMxSD6p6b0z9Yct1l3NdpmfabgjKX8wnZmHokFsil6daleM+M80n2Ew==} + /@parcel/logger/2.8.3: + resolution: {integrity: sha512-Kpxd3O/Vs7nYJIzkdmB6Bvp3l/85ydIxaZaPfGSGTYOfaffSOTkhcW9l6WemsxUrlts4za6CaEWcc4DOvaMOPA==} engines: {node: '>= 12.0.0'} dependencies: - '@parcel/diagnostic': 2.8.2 - '@parcel/events': 2.8.2 + '@parcel/diagnostic': 2.8.3 + '@parcel/events': 2.8.3 dev: false - /@parcel/markdown-ansi/2.8.2: - resolution: {integrity: sha512-5y29TXgRgG0ybuXaDsDk4Aofg/nDUeAAyVl9/toYCDDhxpQV4yZt8WNPu4PaNYKGLuNgXwsmz+ryZQHGmfbAIQ==} + /@parcel/markdown-ansi/2.8.3: + resolution: {integrity: sha512-4v+pjyoh9f5zuU/gJlNvNFGEAb6J90sOBwpKJYJhdWXLZMNFCVzSigxrYO+vCsi8G4rl6/B2c0LcwIMjGPHmFQ==} engines: {node: '>= 12.0.0'} dependencies: chalk: 4.1.2 dev: false - /@parcel/namer-default/2.8.2_@parcel+core@2.8.2: - resolution: {integrity: sha512-sMLW/bDWXA6IE7TQKOsBnA5agZGNvZ9qIXKZEUTsTloUjMdAWI8NYA1s0i9HovnGxI5uGlgevrftK4S5V4AdkA==} - engines: {node: '>= 12.0.0', parcel: ^2.8.2} + /@parcel/namer-default/2.8.3_@parcel+core@2.8.3: + resolution: {integrity: sha512-tJ7JehZviS5QwnxbARd8Uh63rkikZdZs1QOyivUhEvhN+DddSAVEdQLHGPzkl3YRk0tjFhbqo+Jci7TpezuAMw==} + engines: {node: '>= 12.0.0', parcel: ^2.8.3} dependencies: - '@parcel/diagnostic': 2.8.2 - '@parcel/plugin': 2.8.2_@parcel+core@2.8.2 + '@parcel/diagnostic': 2.8.3 + '@parcel/plugin': 2.8.3_@parcel+core@2.8.3 nullthrows: 1.1.1 transitivePeerDependencies: - '@parcel/core' dev: false - /@parcel/node-resolver-core/2.8.2: - resolution: {integrity: sha512-D/NJEz/h/C3RmUOWSTg0cLwG3uRVHY9PL+3YGO/c8tKu8PlS2j55XtntdiVfwkK+P6avLCnrJnv/gwTa79dOPw==} + /@parcel/node-resolver-core/2.8.3: + resolution: {integrity: sha512-12YryWcA5Iw2WNoEVr/t2HDjYR1iEzbjEcxfh1vaVDdZ020PiGw67g5hyIE/tsnG7SRJ0xdRx1fQ2hDgED+0Ww==} engines: {node: '>= 12.0.0'} dependencies: - '@parcel/diagnostic': 2.8.2 - '@parcel/utils': 2.8.2 + '@parcel/diagnostic': 2.8.3 + '@parcel/utils': 2.8.3 nullthrows: 1.1.1 semver: 5.7.1 dev: false - /@parcel/optimizer-terser/2.8.2_@parcel+core@2.8.2: - resolution: {integrity: sha512-jFAOh9WaO6oNc8B9qDsCWzNkH7nYlpvaPn0w3ZzpMDi0HWD+w+xgO737rWLJWZapqUDSOs0Q/hDFEZ82/z0yxA==} - engines: {node: '>= 12.0.0', parcel: ^2.8.2} + /@parcel/optimizer-terser/2.8.3_@parcel+core@2.8.3: + resolution: {integrity: sha512-9EeQlN6zIeUWwzrzu6Q2pQSaYsYGah8MtiQ/hog9KEPlYTP60hBv/+utDyYEHSQhL7y5ym08tPX5GzBvwAD/dA==} + engines: {node: '>= 12.0.0', parcel: ^2.8.3} dependencies: - '@parcel/diagnostic': 2.8.2 - '@parcel/plugin': 2.8.2_@parcel+core@2.8.2 + '@parcel/diagnostic': 2.8.3 + '@parcel/plugin': 2.8.3_@parcel+core@2.8.3 '@parcel/source-map': 2.1.1 - '@parcel/utils': 2.8.2 + '@parcel/utils': 2.8.3 nullthrows: 1.1.1 terser: 5.16.1 transitivePeerDependencies: - '@parcel/core' dev: false - /@parcel/package-manager/2.8.2_@parcel+core@2.8.2: - resolution: {integrity: sha512-hx4Imi0yhsSS0aNZkEANPYNNKqBuR63EUNWSxMyHh4ZOvbHoOXnMn1ySGdx6v0oi9HvKymNsLMQ1T5CuI4l4Bw==} + /@parcel/package-manager/2.8.3_@parcel+core@2.8.3: + resolution: {integrity: sha512-tIpY5pD2lH53p9hpi++GsODy6V3khSTX4pLEGuMpeSYbHthnOViobqIlFLsjni+QA1pfc8NNNIQwSNdGjYflVA==} engines: {node: '>= 12.0.0'} peerDependencies: - '@parcel/core': ^2.8.2 + '@parcel/core': ^2.8.3 dependencies: - '@parcel/core': 2.8.2 - '@parcel/diagnostic': 2.8.2 - '@parcel/fs': 2.8.2_@parcel+core@2.8.2 - '@parcel/logger': 2.8.2 - '@parcel/types': 2.8.2_@parcel+core@2.8.2 - '@parcel/utils': 2.8.2 - '@parcel/workers': 2.8.2_@parcel+core@2.8.2 + '@parcel/core': 2.8.3 + '@parcel/diagnostic': 2.8.3 + '@parcel/fs': 2.8.3_@parcel+core@2.8.3 + '@parcel/logger': 2.8.3 + '@parcel/types': 2.8.3_@parcel+core@2.8.3 + '@parcel/utils': 2.8.3 + '@parcel/workers': 2.8.3_@parcel+core@2.8.3 semver: 5.7.1 dev: false - /@parcel/packager-js/2.8.2_@parcel+core@2.8.2: - resolution: {integrity: sha512-48LtHP4lJn8J1aBeD4Ix/YjsRxrBUkzbx7czdUeRh2PlCqY4wwIhciVlEFipj/ANr3ieSX44lXyVPk/ttnSdrw==} - engines: {node: '>= 12.0.0', parcel: ^2.8.2} + /@parcel/packager-js/2.8.3_@parcel+core@2.8.3: + resolution: {integrity: sha512-0pGKC3Ax5vFuxuZCRB+nBucRfFRz4ioie19BbDxYnvBxrd4M3FIu45njf6zbBYsI9eXqaDnL1b3DcZJfYqtIzw==} + engines: {node: '>= 12.0.0', parcel: ^2.8.3} dependencies: - '@parcel/diagnostic': 2.8.2 - '@parcel/hash': 2.8.2 - '@parcel/plugin': 2.8.2_@parcel+core@2.8.2 + '@parcel/diagnostic': 2.8.3 + '@parcel/hash': 2.8.3 + '@parcel/plugin': 2.8.3_@parcel+core@2.8.3 '@parcel/source-map': 2.1.1 - '@parcel/utils': 2.8.2 + '@parcel/utils': 2.8.3 globals: 13.19.0 nullthrows: 1.1.1 transitivePeerDependencies: - '@parcel/core' dev: false - /@parcel/packager-raw/2.8.2_@parcel+core@2.8.2: - resolution: {integrity: sha512-dGonfFptNV1lgqKaD17ecXBUyIfoG6cJI1cCE1sSoYCEt7r+Rq56X/Gq8oiA3+jjMC7QTls+SmFeMZh26fl77Q==} - engines: {node: '>= 12.0.0', parcel: ^2.8.2} + /@parcel/packager-raw/2.8.3_@parcel+core@2.8.3: + resolution: {integrity: sha512-BA6enNQo1RCnco9MhkxGrjOk59O71IZ9DPKu3lCtqqYEVd823tXff2clDKHK25i6cChmeHu6oB1Rb73hlPqhUA==} + engines: {node: '>= 12.0.0', parcel: ^2.8.3} dependencies: - '@parcel/plugin': 2.8.2_@parcel+core@2.8.2 + '@parcel/plugin': 2.8.3_@parcel+core@2.8.3 transitivePeerDependencies: - '@parcel/core' dev: false - /@parcel/plugin/2.8.2_@parcel+core@2.8.2: - resolution: {integrity: sha512-YG7TWfKsoNm72jbz3b3TLec0qJHVkuAWSzGzowdIhX37cP1kRfp6BU2VcH+qYPP/KYJLzhcZa9n3by147mGcxw==} + /@parcel/plugin/2.8.3_@parcel+core@2.8.3: + resolution: {integrity: sha512-jZ6mnsS4D9X9GaNnvrixDQwlUQJCohDX2hGyM0U0bY2NWU8Km97SjtoCpWjq+XBCx/gpC4g58+fk9VQeZq2vlw==} engines: {node: '>= 12.0.0'} dependencies: - '@parcel/types': 2.8.2_@parcel+core@2.8.2 + '@parcel/types': 2.8.3_@parcel+core@2.8.3 transitivePeerDependencies: - '@parcel/core' dev: false - /@parcel/reporter-dev-server/2.8.2_@parcel+core@2.8.2: - resolution: {integrity: sha512-A16pAQSAT8Yilo1yCPZcrtWbRhwyiMopEz0mOyGobA1ZDy6B3j4zjobIWzdPQCSIY7+v44vtWMDGbdGrxt6M1Q==} - engines: {node: '>= 12.0.0', parcel: ^2.8.2} + /@parcel/reporter-dev-server/2.8.3_@parcel+core@2.8.3: + resolution: {integrity: sha512-Y8C8hzgzTd13IoWTj+COYXEyCkXfmVJs3//GDBsH22pbtSFMuzAZd+8J9qsCo0EWpiDow7V9f1LischvEh3FbQ==} + engines: {node: '>= 12.0.0', parcel: ^2.8.3} dependencies: - '@parcel/plugin': 2.8.2_@parcel+core@2.8.2 - '@parcel/utils': 2.8.2 + '@parcel/plugin': 2.8.3_@parcel+core@2.8.3 + '@parcel/utils': 2.8.3 transitivePeerDependencies: - '@parcel/core' dev: false - /@parcel/resolver-default/2.8.2_@parcel+core@2.8.2: - resolution: {integrity: sha512-mlowJMjFjyps9my8wd13kgeExJ5EgkPAuIxRSSWW+GPR7N3uA5DBJ+SB/CzdhCkPrXR6kwVWxNkkOch38pzOQQ==} - engines: {node: '>= 12.0.0', parcel: ^2.8.2} + /@parcel/resolver-default/2.8.3_@parcel+core@2.8.3: + resolution: {integrity: sha512-k0B5M/PJ+3rFbNj4xZSBr6d6HVIe6DH/P3dClLcgBYSXAvElNDfXgtIimbjCyItFkW9/BfcgOVKEEIZOeySH/A==} + engines: {node: '>= 12.0.0', parcel: ^2.8.3} dependencies: - '@parcel/node-resolver-core': 2.8.2 - '@parcel/plugin': 2.8.2_@parcel+core@2.8.2 + '@parcel/node-resolver-core': 2.8.3 + '@parcel/plugin': 2.8.3_@parcel+core@2.8.3 transitivePeerDependencies: - '@parcel/core' dev: false - /@parcel/runtime-js/2.8.2_@parcel+core@2.8.2: - resolution: {integrity: sha512-Vk3Gywn2M9qP5X4lF6tu8QXP4xNI90UOSOhKHQ9W5pCu+zvD0Gdvu7qwQPFuFjIAq08xU7+PvZzGnlnM+8NyRw==} - engines: {node: '>= 12.0.0', parcel: ^2.8.2} + /@parcel/runtime-js/2.8.3_@parcel+core@2.8.3: + resolution: {integrity: sha512-IRja0vNKwvMtPgIqkBQh0QtRn0XcxNC8HU1jrgWGRckzu10qJWO+5ULgtOeR4pv9krffmMPqywGXw6l/gvJKYQ==} + engines: {node: '>= 12.0.0', parcel: ^2.8.3} dependencies: - '@parcel/plugin': 2.8.2_@parcel+core@2.8.2 - '@parcel/utils': 2.8.2 + '@parcel/plugin': 2.8.3_@parcel+core@2.8.3 + '@parcel/utils': 2.8.3 nullthrows: 1.1.1 transitivePeerDependencies: - '@parcel/core' @@ -11290,18 +11325,18 @@ packages: detect-libc: 1.0.3 dev: false - /@parcel/transformer-js/2.8.2_@parcel+core@2.8.2: - resolution: {integrity: sha512-mLksi6gu/20JdCFDNPl7Y0HTwJOAvf2ybC2HaJcy69PJCeUrrstgiFTjsCwv1eKcesgEHi9kKX+sMHVAH3B/dA==} - engines: {node: '>= 12.0.0', parcel: ^2.8.2} + /@parcel/transformer-js/2.8.3_@parcel+core@2.8.3: + resolution: {integrity: sha512-9Qd6bib+sWRcpovvzvxwy/PdFrLUXGfmSW9XcVVG8pvgXsZPFaNjnNT8stzGQj1pQiougCoxMY4aTM5p1lGHEQ==} + engines: {node: '>= 12.0.0', parcel: ^2.8.3} peerDependencies: - '@parcel/core': ^2.8.2 + '@parcel/core': ^2.8.3 dependencies: - '@parcel/core': 2.8.2 - '@parcel/diagnostic': 2.8.2 - '@parcel/plugin': 2.8.2_@parcel+core@2.8.2 + '@parcel/core': 2.8.3 + '@parcel/diagnostic': 2.8.3 + '@parcel/plugin': 2.8.3_@parcel+core@2.8.3 '@parcel/source-map': 2.1.1 - '@parcel/utils': 2.8.2 - '@parcel/workers': 2.8.2_@parcel+core@2.8.2 + '@parcel/utils': 2.8.3 + '@parcel/workers': 2.8.3_@parcel+core@2.8.3 '@swc/helpers': 0.4.14 browserslist: 4.21.4 detect-libc: 1.0.3 @@ -11310,39 +11345,39 @@ packages: semver: 5.7.1 dev: false - /@parcel/transformer-json/2.8.2_@parcel+core@2.8.2: - resolution: {integrity: sha512-eZuaY5tMxcMDJwpHJbPVTgSaBIO4mamwAa3VulN9kRRaf29nc+Q0iM7zMFVHWFQAi/mZZ194IIQXbDX3r6oSSQ==} - engines: {node: '>= 12.0.0', parcel: ^2.8.2} + /@parcel/transformer-json/2.8.3_@parcel+core@2.8.3: + resolution: {integrity: sha512-B7LmVq5Q7bZO4ERb6NHtRuUKWGysEeaj9H4zelnyBv+wLgpo4f5FCxSE1/rTNmP9u1qHvQ3scGdK6EdSSokGPg==} + engines: {node: '>= 12.0.0', parcel: ^2.8.3} dependencies: - '@parcel/plugin': 2.8.2_@parcel+core@2.8.2 + '@parcel/plugin': 2.8.3_@parcel+core@2.8.3 json5: 2.2.3 transitivePeerDependencies: - '@parcel/core' dev: false - /@parcel/types/2.8.2_@parcel+core@2.8.2: - resolution: {integrity: sha512-HAYhokWxM10raIhqaYj9VR9eAvJ+xP2sNfQ1IcQybHpq3qblcBe/4jDeuUpwIyKeQ4gorp7xY+q8KDoR20j43w==} + /@parcel/types/2.8.3_@parcel+core@2.8.3: + resolution: {integrity: sha512-FECA1FB7+0UpITKU0D6TgGBpGxYpVSMNEENZbSJxFSajNy3wrko+zwBKQmFOLOiPcEtnGikxNs+jkFWbPlUAtw==} dependencies: - '@parcel/cache': 2.8.2_@parcel+core@2.8.2 - '@parcel/diagnostic': 2.8.2 - '@parcel/fs': 2.8.2_@parcel+core@2.8.2 - '@parcel/package-manager': 2.8.2_@parcel+core@2.8.2 + '@parcel/cache': 2.8.3_@parcel+core@2.8.3 + '@parcel/diagnostic': 2.8.3 + '@parcel/fs': 2.8.3_@parcel+core@2.8.3 + '@parcel/package-manager': 2.8.3_@parcel+core@2.8.3 '@parcel/source-map': 2.1.1 - '@parcel/workers': 2.8.2_@parcel+core@2.8.2 + '@parcel/workers': 2.8.3_@parcel+core@2.8.3 utility-types: 3.10.0 transitivePeerDependencies: - '@parcel/core' dev: false - /@parcel/utils/2.8.2: - resolution: {integrity: sha512-Ufax7wZxC9FNsUpR0EU7Z22LEY/q9jjsDTwswctCdfpWb7TE/NudOfM9myycfRvwBVEYN50lPbkt1QltEVnXQQ==} + /@parcel/utils/2.8.3: + resolution: {integrity: sha512-IhVrmNiJ+LOKHcCivG5dnuLGjhPYxQ/IzbnF2DKNQXWBTsYlHkJZpmz7THoeLtLliGmSOZ3ZCsbR8/tJJKmxjA==} engines: {node: '>= 12.0.0'} dependencies: - '@parcel/codeframe': 2.8.2 - '@parcel/diagnostic': 2.8.2 - '@parcel/hash': 2.8.2 - '@parcel/logger': 2.8.2 - '@parcel/markdown-ansi': 2.8.2 + '@parcel/codeframe': 2.8.3 + '@parcel/diagnostic': 2.8.3 + '@parcel/hash': 2.8.3 + '@parcel/logger': 2.8.3 + '@parcel/markdown-ansi': 2.8.3 '@parcel/source-map': 2.1.1 chalk: 4.1.2 dev: false @@ -11358,17 +11393,17 @@ packages: node-gyp-build: 4.5.0 dev: false - /@parcel/workers/2.8.2_@parcel+core@2.8.2: - resolution: {integrity: sha512-Eg6CofIrJSNBa2fjXwvnzVLPKwR/6fkfQTFAm3Jl+4JYLVknBtTSFzQNp/Fa+HUEG889H9ucTk2CBi/fVPBAFw==} + /@parcel/workers/2.8.3_@parcel+core@2.8.3: + resolution: {integrity: sha512-+AxBnKgjqVpUHBcHLWIHcjYgKIvHIpZjN33mG5LG9XXvrZiqdWvouEzqEXlVLq5VzzVbKIQQcmsvRy138YErkg==} engines: {node: '>= 12.0.0'} peerDependencies: - '@parcel/core': ^2.8.2 + '@parcel/core': ^2.8.3 dependencies: - '@parcel/core': 2.8.2 - '@parcel/diagnostic': 2.8.2 - '@parcel/logger': 2.8.2 - '@parcel/types': 2.8.2_@parcel+core@2.8.2 - '@parcel/utils': 2.8.2 + '@parcel/core': 2.8.3 + '@parcel/diagnostic': 2.8.3 + '@parcel/logger': 2.8.3 + '@parcel/types': 2.8.3_@parcel+core@2.8.3 + '@parcel/utils': 2.8.3 chrome-trace-event: 1.0.3 nullthrows: 1.1.1 dev: false @@ -11573,7 +11608,7 @@ packages: dependencies: '@rollup/pluginutils': 5.0.2_rollup@2.79.1 '@types/resolve': 1.20.2 - deepmerge: 4.2.2 + deepmerge: 4.3.0 is-builtin-module: 3.2.0 is-module: 1.0.0 resolve: 1.22.1 @@ -12072,7 +12107,7 @@ packages: dependencies: '@svgr/core': 6.2.1 cosmiconfig: 7.0.1 - deepmerge: 4.2.2 + deepmerge: 4.3.0 svgo: 2.8.0 dev: true @@ -12362,13 +12397,13 @@ packages: resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} engines: {node: '>=10.13.0'} - /@turist/fetch/7.2.0_node-fetch@2.6.7: + /@turist/fetch/7.2.0_node-fetch@2.6.9: resolution: {integrity: sha512-2x7EGw+6OJ29phunsbGvtxlNmSfcuPcyYudkMbi8gARCP9eJ1CtuMvnVUHL//O9Ixi9SJiug8wNt6lj86pN8XQ==} peerDependencies: node-fetch: '2' dependencies: '@types/node-fetch': 2.6.2 - node-fetch: 2.6.7 + node-fetch: 2.6.9 dev: false /@turist/time/0.0.2: @@ -12382,7 +12417,7 @@ packages: /@types/babel__core/7.1.19: resolution: {integrity: sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==} dependencies: - '@babel/parser': 7.20.7 + '@babel/parser': 7.20.15 '@babel/types': 7.20.7 '@types/babel__generator': 7.6.4 '@types/babel__template': 7.4.1 @@ -12398,7 +12433,7 @@ packages: /@types/babel__template/7.4.1: resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} dependencies: - '@babel/parser': 7.20.7 + '@babel/parser': 7.20.15 '@babel/types': 7.20.7 dev: true @@ -13670,7 +13705,7 @@ packages: '@babel/helper-module-imports': 7.18.6 '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.12 '@babel/template': 7.20.7 - '@babel/traverse': 7.20.12 + '@babel/traverse': 7.20.13 '@babel/types': 7.20.7 '@vue/babel-helper-vue-transform-on': 1.0.2 camelcase: 6.3.0 @@ -13684,7 +13719,7 @@ packages: /@vue/compiler-core/3.2.45: resolution: {integrity: sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A==} dependencies: - '@babel/parser': 7.20.7 + '@babel/parser': 7.20.15 '@vue/shared': 3.2.45 estree-walker: 2.0.2 source-map: 0.6.1 @@ -13700,7 +13735,7 @@ packages: /@vue/compiler-sfc/3.2.45: resolution: {integrity: sha512-1jXDuWah1ggsnSAOGsec8cFjT/K6TMZ0sPL3o3d84Ft2AYZi2jWJgRMjw4iaK0rBfA89L5gw427H4n1RZQBu6Q==} dependencies: - '@babel/parser': 7.20.7 + '@babel/parser': 7.20.15 '@vue/compiler-core': 3.2.45 '@vue/compiler-dom': 3.2.45 '@vue/compiler-ssr': 3.2.45 @@ -13708,7 +13743,7 @@ packages: '@vue/shared': 3.2.45 estree-walker: 2.0.2 magic-string: 0.25.9 - postcss: 8.4.20 + postcss: 8.4.21 source-map: 0.6.1 dev: true @@ -13726,7 +13761,7 @@ packages: /@vue/reactivity-transform/3.2.45: resolution: {integrity: sha512-BHVmzYAvM7vcU5WmuYqXpwaBHjsS8T63jlKGWVtHxAHIoMIlmaMyurUSEs1Zcg46M4AYT5MtB1U274/2aNzjJQ==} dependencies: - '@babel/parser': 7.20.7 + '@babel/parser': 7.20.15 '@vue/compiler-core': 3.2.45 '@vue/shared': 3.2.45 estree-walker: 2.0.2 @@ -14540,6 +14575,22 @@ packages: picocolors: 1.0.0 postcss: 8.4.20 postcss-value-parser: 4.2.0 + dev: true + + /autoprefixer/10.4.13_postcss@8.4.21: + resolution: {integrity: sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + dependencies: + browserslist: 4.21.4 + caniuse-lite: 1.0.30001431 + fraction.js: 4.2.0 + normalize-range: 0.1.2 + picocolors: 1.0.0 + postcss: 8.4.21 + postcss-value-parser: 4.2.0 /autoprefixer/10.4.7_postcss@8.4.14: resolution: {integrity: sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==} @@ -14584,7 +14635,7 @@ packages: /axios/0.25.0: resolution: {integrity: sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==} dependencies: - follow-redirects: 1.15.1_debug@4.3.4 + follow-redirects: 1.15.1 transitivePeerDependencies: - debug dev: true @@ -14671,7 +14722,7 @@ packages: dependencies: '@babel/core': 7.20.2 find-cache-dir: 3.3.2 - loader-utils: 2.0.2 + loader-utils: 2.0.4 make-dir: 3.1.0 schema-utils: 2.7.1 webpack: 5.73.0 @@ -14792,7 +14843,7 @@ packages: resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} engines: {node: '>=10', npm: '>=6'} dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.20.13 cosmiconfig: 7.0.1 resolve: 1.22.1 dev: false @@ -14827,7 +14878,7 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.20.1 + '@babel/compat-data': 7.20.10 '@babel/core': 7.20.12 '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.20.12 semver: 6.3.0 @@ -14839,7 +14890,7 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.20.1 + '@babel/compat-data': 7.20.10 '@babel/core': 7.20.2 '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.20.2 semver: 6.3.0 @@ -14852,7 +14903,7 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.20.1 + '@babel/compat-data': 7.20.10 '@babel/core': 7.20.5 '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.20.5 semver: 6.3.0 @@ -14971,18 +15022,18 @@ packages: - supports-color dev: true - /babel-plugin-remove-graphql-queries/5.6.0-next.0_x3fnz3zp5bgltr62wwyqvgm7l4: - resolution: {integrity: sha512-hrxx7U73x6TUL+x/h2/OrQT4hdeGkYjK39oiYtt6erSVz8q1iOYl4tfCYN0wuHyrvpRdXJ7UBrAhLgBFIPn8Gw==} + /babel-plugin-remove-graphql-queries/5.7.0-next.0_kwfgdicz63ldiwfqlkadmrpj4y: + resolution: {integrity: sha512-dguL6QCS9duTt22QZYlu4ZY/DW/EjCkUc/43YDkfR/lbx32OqKwg1+zKYAE67bJ5PKhdK7PP+dh0486dt4iavQ==} engines: {node: '>=18.0.0'} peerDependencies: '@babel/core': ^7.0.0 gatsby: ^5.0.0-next dependencies: '@babel/core': 7.20.12 - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.20.13 '@babel/types': 7.20.7 - gatsby: 5.6.0-next.2_biqbaboplfbrettd7655fr4n2y - gatsby-core-utils: 4.6.0-next.0 + gatsby: 5.7.0-next.0_biqbaboplfbrettd7655fr4n2y + gatsby-core-utils: 4.7.0-next.0 dev: false /babel-plugin-styled-components/2.0.7_styled-components@5.3.6: @@ -15066,8 +15117,8 @@ packages: - supports-color dev: false - /babel-preset-gatsby/3.6.0-next.0_pp2vm42zn6vfmnpuhar3irht7i: - resolution: {integrity: sha512-Yg3s+TqJcaiolWzERdtCc/nQMnQDGqv6VvB4CEsRFAzZy9YoDLN6BauTpJ/FWeJc595TdszCYLqYLoa0cXcfVw==} + /babel-preset-gatsby/3.7.0-next.0_pp2vm42zn6vfmnpuhar3irht7i: + resolution: {integrity: sha512-nf7aujMeM4gWtiIsdSlap6XaM8zI3pxfTWtIv3LBYN64T59Fi0sDLlDPOicGPrZQxtRWP7zqJBBbnSuy0P3oDA==} engines: {node: '>=18.0.0'} peerDependencies: '@babel/core': ^7.11.6 @@ -15083,13 +15134,13 @@ packages: '@babel/plugin-transform-spread': 7.20.7_@babel+core@7.20.12 '@babel/preset-env': 7.20.2_@babel+core@7.20.12 '@babel/preset-react': 7.18.6_@babel+core@7.20.12 - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.20.13 babel-plugin-dynamic-import-node: 2.3.3 babel-plugin-macros: 3.1.0 babel-plugin-transform-react-remove-prop-types: 0.4.24 core-js: 3.26.0 - gatsby-core-utils: 4.6.0-next.0 - gatsby-legacy-polyfills: 3.6.0-next.0 + gatsby-core-utils: 4.7.0-next.0 + gatsby-legacy-polyfills: 3.7.0-next.0 transitivePeerDependencies: - supports-color dev: false @@ -16118,6 +16169,7 @@ packages: /color-name/1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + requiresBuild: true /color-string/1.9.1: resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} @@ -16522,11 +16574,11 @@ packages: readable-stream: 3.6.0 dev: true - /create-gatsby/3.6.0-next.1: - resolution: {integrity: sha512-7PSTSNLa1w0LZ81WXZ09IBVcE+SCuOk8QOPJC3tK2D50iTeKo1rBp2mZEX0ao5sC5q/N869HuLBPkzdvP5Lvig==} + /create-gatsby/3.7.0-next.0: + resolution: {integrity: sha512-9Ywci5zGlfvXKId+tIZdBRN1X1Y2UPgEjEafiCkHgD4+oQX4+xUYp46abQMhTJZOqokz4zMY16Y9JIhp1eAjQw==} hasBin: true dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.20.13 dev: false /create-require/1.1.1: @@ -16605,6 +16657,15 @@ packages: postcss: ^8.0.9 dependencies: postcss: 8.4.20 + dev: true + + /css-declaration-sorter/6.3.1_postcss@8.4.21: + resolution: {integrity: sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==} + engines: {node: ^10 || ^12 || >=14} + peerDependencies: + postcss: ^8.0.9 + dependencies: + postcss: 8.4.21 /css-loader/5.2.7_webpack@5.75.0: resolution: {integrity: sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==} @@ -16612,13 +16673,13 @@ packages: peerDependencies: webpack: ^4.27.0 || ^5.0.0 dependencies: - icss-utils: 5.1.0_postcss@8.4.20 + icss-utils: 5.1.0_postcss@8.4.21 loader-utils: 2.0.4 - postcss: 8.4.20 - postcss-modules-extract-imports: 3.0.0_postcss@8.4.20 - postcss-modules-local-by-default: 4.0.0_postcss@8.4.20 - postcss-modules-scope: 3.0.0_postcss@8.4.20 - postcss-modules-values: 4.0.0_postcss@8.4.20 + postcss: 8.4.21 + postcss-modules-extract-imports: 3.0.0_postcss@8.4.21 + postcss-modules-local-by-default: 4.0.0_postcss@8.4.21 + postcss-modules-scope: 3.0.0_postcss@8.4.21 + postcss-modules-values: 4.0.0_postcss@8.4.21 postcss-value-parser: 4.2.0 schema-utils: 3.1.1 semver: 7.3.8 @@ -16631,12 +16692,12 @@ packages: peerDependencies: webpack: ^5.0.0 dependencies: - icss-utils: 5.1.0_postcss@8.4.20 - postcss: 8.4.20 - postcss-modules-extract-imports: 3.0.0_postcss@8.4.20 - postcss-modules-local-by-default: 4.0.0_postcss@8.4.20 - postcss-modules-scope: 3.0.0_postcss@8.4.20 - postcss-modules-values: 4.0.0_postcss@8.4.20 + icss-utils: 5.1.0_postcss@8.4.21 + postcss: 8.4.21 + postcss-modules-extract-imports: 3.0.0_postcss@8.4.21 + postcss-modules-local-by-default: 4.0.0_postcss@8.4.21 + postcss-modules-scope: 3.0.0_postcss@8.4.21 + postcss-modules-values: 4.0.0_postcss@8.4.21 postcss-value-parser: 4.2.0 semver: 7.3.8 webpack: 5.73.0 @@ -16655,10 +16716,10 @@ packages: csso: optional: true dependencies: - cssnano: 5.1.14_postcss@8.4.20 + cssnano: 5.1.14_postcss@8.4.21 jest-worker: 26.6.2 p-limit: 3.1.0 - postcss: 8.4.20 + postcss: 8.4.21 schema-utils: 3.1.1 serialize-javascript: 5.0.1 source-map: 0.6.1 @@ -16685,9 +16746,9 @@ packages: optional: true dependencies: clean-css: 5.3.0 - cssnano: 5.1.14_postcss@8.4.20 + cssnano: 5.1.14_postcss@8.4.21 jest-worker: 27.5.1 - postcss: 8.4.20 + postcss: 8.4.21 schema-utils: 4.0.0 serialize-javascript: 6.0.0 source-map: 0.6.1 @@ -16748,19 +16809,19 @@ packages: engines: {node: '>=4'} hasBin: true - /cssnano-preset-advanced/5.3.8_postcss@8.4.20: + /cssnano-preset-advanced/5.3.8_postcss@8.4.21: resolution: {integrity: sha512-xUlLLnEB1LjpEik+zgRNlk8Y/koBPPtONZjp7JKbXigeAmCrFvq9H0pXW5jJV45bQWAlmJ0sKy+IMr0XxLYQZg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - autoprefixer: 10.4.13_postcss@8.4.20 - cssnano-preset-default: 5.2.13_postcss@8.4.20 - postcss: 8.4.20 - postcss-discard-unused: 5.1.0_postcss@8.4.20 - postcss-merge-idents: 5.1.1_postcss@8.4.20 - postcss-reduce-idents: 5.2.0_postcss@8.4.20 - postcss-zindex: 5.1.0_postcss@8.4.20 + autoprefixer: 10.4.13_postcss@8.4.21 + cssnano-preset-default: 5.2.13_postcss@8.4.21 + postcss: 8.4.21 + postcss-discard-unused: 5.1.0_postcss@8.4.21 + postcss-merge-idents: 5.1.1_postcss@8.4.21 + postcss-reduce-idents: 5.2.0_postcss@8.4.21 + postcss-zindex: 5.1.0_postcss@8.4.21 dev: true /cssnano-preset-default/5.2.12_postcss@8.4.14: @@ -16875,6 +16936,44 @@ packages: postcss-reduce-transforms: 5.1.0_postcss@8.4.20 postcss-svgo: 5.1.0_postcss@8.4.20 postcss-unique-selectors: 5.1.1_postcss@8.4.20 + dev: true + + /cssnano-preset-default/5.2.13_postcss@8.4.21: + resolution: {integrity: sha512-PX7sQ4Pb+UtOWuz8A1d+Rbi+WimBIxJTRyBdgGp1J75VU0r/HFQeLnMYgHiCAp6AR4rqrc7Y4R+1Rjk3KJz6DQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + css-declaration-sorter: 6.3.1_postcss@8.4.21 + cssnano-utils: 3.1.0_postcss@8.4.21 + postcss: 8.4.21 + postcss-calc: 8.2.4_postcss@8.4.21 + postcss-colormin: 5.3.0_postcss@8.4.21 + postcss-convert-values: 5.1.3_postcss@8.4.21 + postcss-discard-comments: 5.1.2_postcss@8.4.21 + postcss-discard-duplicates: 5.1.0_postcss@8.4.21 + postcss-discard-empty: 5.1.1_postcss@8.4.21 + postcss-discard-overridden: 5.1.0_postcss@8.4.21 + postcss-merge-longhand: 5.1.7_postcss@8.4.21 + postcss-merge-rules: 5.1.3_postcss@8.4.21 + postcss-minify-font-values: 5.1.0_postcss@8.4.21 + postcss-minify-gradients: 5.1.1_postcss@8.4.21 + postcss-minify-params: 5.1.4_postcss@8.4.21 + postcss-minify-selectors: 5.2.1_postcss@8.4.21 + postcss-normalize-charset: 5.1.0_postcss@8.4.21 + postcss-normalize-display-values: 5.1.0_postcss@8.4.21 + postcss-normalize-positions: 5.1.1_postcss@8.4.21 + postcss-normalize-repeat-style: 5.1.1_postcss@8.4.21 + postcss-normalize-string: 5.1.0_postcss@8.4.21 + postcss-normalize-timing-functions: 5.1.0_postcss@8.4.21 + postcss-normalize-unicode: 5.1.1_postcss@8.4.21 + postcss-normalize-url: 5.1.0_postcss@8.4.21 + postcss-normalize-whitespace: 5.1.1_postcss@8.4.21 + postcss-ordered-values: 5.1.3_postcss@8.4.21 + postcss-reduce-initial: 5.1.1_postcss@8.4.21 + postcss-reduce-transforms: 5.1.0_postcss@8.4.21 + postcss-svgo: 5.1.0_postcss@8.4.21 + postcss-unique-selectors: 5.1.1_postcss@8.4.21 /cssnano-utils/3.1.0_postcss@8.4.14: resolution: {integrity: sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==} @@ -16892,6 +16991,15 @@ packages: postcss: ^8.2.15 dependencies: postcss: 8.4.20 + dev: true + + /cssnano-utils/3.1.0_postcss@8.4.21: + resolution: {integrity: sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.21 /cssnano/5.1.12_postcss@8.4.14: resolution: {integrity: sha512-TgvArbEZu0lk/dvg2ja+B7kYoD7BBCmn3+k58xD0qjrGHsFzXY/wKTo9M5egcUCabPol05e/PVoIu79s2JN4WQ==} @@ -16927,6 +17035,18 @@ packages: lilconfig: 2.0.6 postcss: 8.4.20 yaml: 1.10.2 + dev: true + + /cssnano/5.1.14_postcss@8.4.21: + resolution: {integrity: sha512-Oou7ihiTocbKqi0J1bB+TRJIQX5RMR3JghA8hcWSw9mjBLQ5Y3RWqEDoYG3sRNlAbCIXpqMoZGbq5KDR3vdzgw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + cssnano-preset-default: 5.2.13_postcss@8.4.21 + lilconfig: 2.0.6 + postcss: 8.4.21 + yaml: 1.10.2 /csso/4.2.0: resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} @@ -17683,6 +17803,7 @@ packages: /deep-extend/0.6.0: resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} engines: {node: '>=4.0.0'} + requiresBuild: true /deep-freeze/0.0.1: resolution: {integrity: sha512-Z+z8HiAvsGwmjqlphnHW5oz6yWlOwu6EQfFTjmeTWlDeda3FS2yv3jhq35TX/ewmsnqB+RX2IdsIOyjJCQN5tg==} @@ -17694,6 +17815,11 @@ packages: /deepmerge/4.2.2: resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} engines: {node: '>=0.10.0'} + dev: true + + /deepmerge/4.3.0: + resolution: {integrity: sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==} + engines: {node: '>=0.10.0'} /default-gateway/6.0.3: resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} @@ -17958,11 +18084,14 @@ packages: dependencies: esutils: 2.0.3 - /docusaurus-plugin-typedoc/0.18.0: - resolution: {integrity: sha512-kurIUu8LhVIOPT88HoeBcu0/D2GMDdg0pUYaFlqeuXT9an6Wlgvuy0C22ZMYcJUcp/gA/Mw2XdUHubsLK2M4uA==} + /docusaurus-plugin-typedoc/1.0.0-next.2_kb65gbyd32jlgdze2tbrhv364a: + resolution: {integrity: sha512-JQOdw8U7Ix1lETgmlgkm1WpUrpmsTthWSQlMJRYiEnX06s2g/wSE+cg1JcP5ILAyeTjxDlF/DPwtOBIzTuzSTg==} peerDependencies: typedoc: '>=0.23.0' - typedoc-plugin-markdown: '>=3.13.0' + typedoc-plugin-markdown: '>=4.0.0-next.2' + dependencies: + typedoc: 0.23.24 + typedoc-plugin-markdown: 4.0.0-next.2_typedoc@0.23.24 dev: true /dom-accessibility-api/0.5.14: @@ -19014,7 +19143,7 @@ packages: eslint: 8.30.0 dev: true - /eslint-config-react-app/6.0.0_nnhcjimma6qtaxwhedjmsri3h4: + /eslint-config-react-app/6.0.0_ftuoewqukkbctpkc5t32zy3owy: resolution: {integrity: sha512-bpoAAC+YRfzq0dsTk+6v9aHm/uqnDwayNAXleMypGl6CpxI9oXXscVHo4fk3eJPIn+rsbtNetB4r/ZIidFIE8A==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: @@ -19043,8 +19172,8 @@ packages: confusing-browser-globals: 1.0.11 eslint: 7.32.0 eslint-plugin-flowtype: 5.10.0_eslint@7.32.0 - eslint-plugin-import: 2.26.0_ffi3uiz42rv3jyhs6cr7p7qqry - eslint-plugin-jsx-a11y: 6.7.0_eslint@7.32.0 + eslint-plugin-import: 2.27.5_ffi3uiz42rv3jyhs6cr7p7qqry + eslint-plugin-jsx-a11y: 6.7.1_eslint@7.32.0 eslint-plugin-react: 7.31.11_eslint@7.32.0 eslint-plugin-react-hooks: 4.6.0_eslint@7.32.0 dev: false @@ -19092,6 +19221,17 @@ packages: resolve: 1.22.1 transitivePeerDependencies: - supports-color + dev: true + + /eslint-import-resolver-node/0.3.7: + resolution: {integrity: sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==} + dependencies: + debug: 3.2.7 + is-core-module: 2.11.0 + resolve: 1.22.1 + transitivePeerDependencies: + - supports-color + dev: false /eslint-module-utils/2.7.4_5vuadmvmkyhbtm34phil3e6noa: resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==} @@ -19122,7 +19262,7 @@ packages: - supports-color dev: true - /eslint-module-utils/2.7.4_d3sglxdl6hhgcbhsy3jaoc7rpu: + /eslint-module-utils/2.7.4_n7wmpe4hfzj47xhbzj4etqyjdi: resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==} engines: {node: '>=4'} peerDependencies: @@ -19146,7 +19286,7 @@ packages: '@typescript-eslint/parser': 4.33.0_eslint@7.32.0 debug: 3.2.7 eslint: 7.32.0 - eslint-import-resolver-node: 0.3.6 + eslint-import-resolver-node: 0.3.7 transitivePeerDependencies: - supports-color dev: false @@ -19173,37 +19313,6 @@ packages: string-natural-compare: 3.0.1 dev: false - /eslint-plugin-import/2.26.0_ffi3uiz42rv3jyhs6cr7p7qqry: - resolution: {integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - dependencies: - '@typescript-eslint/parser': 4.33.0_eslint@7.32.0 - array-includes: 3.1.6 - array.prototype.flat: 1.3.1 - debug: 2.6.9 - doctrine: 2.1.0 - eslint: 7.32.0 - eslint-import-resolver-node: 0.3.6 - eslint-module-utils: 2.7.4_d3sglxdl6hhgcbhsy3jaoc7rpu - has: 1.0.3 - is-core-module: 2.9.0 - is-glob: 4.0.3 - minimatch: 3.1.2 - object.values: 1.1.6 - resolve: 1.22.1 - tsconfig-paths: 3.14.1 - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - dev: false - /eslint-plugin-import/2.26.0_tqyj5ytb5g6r5ett7xxedhk6eq: resolution: {integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==} engines: {node: '>=4'} @@ -19235,6 +19344,39 @@ packages: - supports-color dev: true + /eslint-plugin-import/2.27.5_ffi3uiz42rv3jyhs6cr7p7qqry: + resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + dependencies: + '@typescript-eslint/parser': 4.33.0_eslint@7.32.0 + array-includes: 3.1.6 + array.prototype.flat: 1.3.1 + array.prototype.flatmap: 1.3.1 + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 7.32.0 + eslint-import-resolver-node: 0.3.7 + eslint-module-utils: 2.7.4_n7wmpe4hfzj47xhbzj4etqyjdi + has: 1.0.3 + is-core-module: 2.11.0 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.values: 1.1.6 + resolve: 1.22.1 + semver: 6.3.0 + tsconfig-paths: 3.14.1 + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + dev: false + /eslint-plugin-jest/27.1.4_nwhe2qd7pg7k6t4q57ylogsxam: resolution: {integrity: sha512-evJ9E9id/z2Fu6LR+ncNySJ6UMs5RiJiv4JsmdA3gPWoq0AR+uZyva738+Y9Uln+3WaYX+3OYP9HJoau94Iurg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -19274,13 +19416,13 @@ packages: - supports-color dev: true - /eslint-plugin-jsx-a11y/6.7.0_eslint@7.32.0: - resolution: {integrity: sha512-EGGRKhzejSzXKtjmEjWNtr4SK/DkMkSzkBH7g7e7moBDXZXrqaUIxkmD7uF93upMysc4dKYEJwupu7Dff+ShwA==} + /eslint-plugin-jsx-a11y/6.7.1_eslint@7.32.0: + resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==} engines: {node: '>=4.0'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.20.13 aria-query: 5.1.3 array-includes: 3.1.6 array.prototype.flatmap: 1.3.1 @@ -20385,6 +20527,16 @@ packages: resolution: {integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==} dev: true + /follow-redirects/1.15.1: + resolution: {integrity: sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dev: true + /follow-redirects/1.15.1_debug@4.3.4: resolution: {integrity: sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==} engines: {node: '>=4.0'} @@ -20424,7 +20576,7 @@ packages: chalk: 4.1.2 chokidar: 3.5.3 cosmiconfig: 6.0.0 - deepmerge: 4.2.2 + deepmerge: 4.3.0 eslint: 7.32.0 fs-extra: 9.1.0 glob: 7.2.3 @@ -20455,7 +20607,7 @@ packages: chalk: 4.1.2 chokidar: 3.5.3 cosmiconfig: 6.0.0 - deepmerge: 4.2.2 + deepmerge: 4.3.0 fs-extra: 9.1.0 glob: 7.2.3 memfs: 3.4.6 @@ -20526,6 +20678,7 @@ packages: /fs-constants/1.0.0: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + requiresBuild: true /fs-exists-cached/1.0.0: resolution: {integrity: sha512-kSxoARUDn4F2RPXX48UXnaFKwVU7Ivd/6qpzZL29MCDmr9sTvybv4gFCp+qaI4fM9m0z9fgz/yJvi56GAz+BZg==} @@ -20651,18 +20804,18 @@ packages: /functions-have-names/1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - /gatsby-cli/5.6.0-next.1: - resolution: {integrity: sha512-tFrTZlEezIxFKMkCXXKu3tKBrjqpZt+PykNABkSgOdMGO1pT/xysSClCbKOMockWosrpgaNup+1rP8sjVRdIsw==} + /gatsby-cli/5.7.0-next.0: + resolution: {integrity: sha512-hhBRqmXNuMx0bMaPvkmAJ1nZRzKkr4K7V19OhFD6iLFuDucN35bU9lTiyJ22Ctvhe0JU93a0ZQW1jrMxNScyyg==} engines: {node: '>=18.0.0'} hasBin: true requiresBuild: true dependencies: '@babel/code-frame': 7.18.6 '@babel/core': 7.20.12 - '@babel/generator': 7.20.7 + '@babel/generator': 7.20.14 '@babel/helper-plugin-utils': 7.20.2 '@babel/preset-typescript': 7.18.6_@babel+core@7.20.12 - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.20.13 '@babel/template': 7.20.7 '@babel/types': 7.20.7 '@jridgewell/trace-mapping': 0.3.17 @@ -20673,23 +20826,23 @@ packages: clipboardy: 2.3.0 common-tags: 1.8.2 convert-hrtime: 3.0.0 - create-gatsby: 3.6.0-next.1 + create-gatsby: 3.7.0-next.0 envinfo: 7.8.1 execa: 5.1.1 fs-exists-cached: 1.0.0 fs-extra: 11.1.0 - gatsby-core-utils: 4.6.0-next.0 - gatsby-telemetry: 4.6.0-next.0 + gatsby-core-utils: 4.7.0-next.0 + gatsby-telemetry: 4.7.0-next.0 hosted-git-info: 3.0.8 is-valid-path: 0.1.1 joi: 17.7.0 lodash: 4.17.21 - node-fetch: 2.6.7 + node-fetch: 2.6.9 opentracing: 0.14.7 pretty-error: 2.1.2 progress: 2.0.3 prompts: 2.4.2 - redux: 4.2.0 + redux: 4.2.1 resolve-cwd: 3.0.0 semver: 7.3.8 signal-exit: 3.0.7 @@ -20703,11 +20856,11 @@ packages: - supports-color dev: false - /gatsby-core-utils/4.6.0-next.0: - resolution: {integrity: sha512-4cc4d7WfJmYWprWBIxQBRiwyT2uECR9/40rqPCe62yeshTHIZUVCxeqzEeU6R0qkDpLjHkP0F/itv2oNa0AspQ==} + /gatsby-core-utils/4.7.0-next.0: + resolution: {integrity: sha512-lBZA6akCHFPsR2TuOmyMQaskeyv3bKzgdvIG1KPF5Lgztf4Rs07Z8WvqVGq6lVYMM0rCJCDoO6dfy9pJdHFuUQ==} engines: {node: '>=18.0.0'} dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.20.13 ci-info: 2.0.0 configstore: 5.0.1 fastq: 1.15.0 @@ -20725,86 +20878,86 @@ packages: xdg-basedir: 4.0.0 dev: false - /gatsby-graphiql-explorer/3.6.0-next.0: - resolution: {integrity: sha512-pXW8ufxLdklCjVtKyUZ6Nr6ROjH/5dUqbnp6hMdUGLWFjvpj3AWc/DH3wsDOLw//bBEZqHAcEyj2DwNcFv8mHw==} + /gatsby-graphiql-explorer/3.7.0-next.0: + resolution: {integrity: sha512-ZgtnZqz4jSuYMp6Mr7QICpRfsjG9QwsT/HS8nxezGP5p8/hBK5N2kJcvonWAwJnhmuViRiWITrWsaXthBVBmeQ==} engines: {node: '>=18.0.0'} dev: false - /gatsby-legacy-polyfills/3.6.0-next.0: - resolution: {integrity: sha512-XwGPOPDF/Xo/wZWW52YmFlZ/89Qb/jZdxBaPHfs2zRKvTAFmFkHBl+KAy5MBISY4IFWTfOyBN2UjnklmxRn93w==} + /gatsby-legacy-polyfills/3.7.0-next.0: + resolution: {integrity: sha512-6HMpm8T76gHKo/uw7xrWVMOd8O4YPcuP7UVeeMkJIZG68gzqFjQfEHJo4kMDWMXuMlFgi5Brvz6nGRNFrAQL8A==} dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.20.13 core-js-compat: 3.9.0 dev: false - /gatsby-link/5.6.0-next.0_y2kppt6lrltqk6wasg3eswwzsa: - resolution: {integrity: sha512-tKTT58UQI3PQdWTmALZ9UYZ7hN4lgxrkLNhHRlfhhjsZXAwqqVXfR51gfV8cvEltEOdqdfrUSMZ9167KxEnp5A==} + /gatsby-link/5.7.0-next.0_uxzdzcrcylloub4rxar25ny6ra: + resolution: {integrity: sha512-BWmj6VytpVyCI8LREDs27PQN5r41mpCXwQ8jVky6h8gHOuMjfVk+O3Q5DGzHBylxJxs6+3ijHVSOVox1fLmRtA==} engines: {node: '>=18.0.0'} peerDependencies: '@gatsbyjs/reach-router': ^2.0.0 react: ^18.0.0 || ^0.0.0 react-dom: ^18.0.0 || ^0.0.0 dependencies: - '@gatsbyjs/reach-router': 2.0.0_biqbaboplfbrettd7655fr4n2y + '@gatsbyjs/reach-router': 2.0.1_biqbaboplfbrettd7655fr4n2y '@types/reach__router': 1.3.11 - gatsby-page-utils: 3.6.0-next.0 + gatsby-page-utils: 3.7.0-next.0 prop-types: 15.8.1 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 dev: false - /gatsby-page-utils/3.6.0-next.0: - resolution: {integrity: sha512-3jul3U94W/33H8DMoaEfo6z26Tlp62Lf9FtS828s1A076ao9CFBpT2xrCCAn+rF8uXKAY1oB3b337Oaxdyx70g==} + /gatsby-page-utils/3.7.0-next.0: + resolution: {integrity: sha512-4heFJsjOPxHjzOmik5Kd4PzDlyZ2U1fOj6JZyppjOa+PZI0jrbsb1O2BeIOkTlB+2MNoG4Zv/aj3UpCnEC1SVg==} engines: {node: '>=18.0.0'} dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.20.13 bluebird: 3.7.2 chokidar: 3.5.3 fs-exists-cached: 1.0.0 - gatsby-core-utils: 4.6.0-next.0 + gatsby-core-utils: 4.7.0-next.0 glob: 7.2.3 lodash: 4.17.21 micromatch: 4.0.5 dev: false - /gatsby-parcel-config/1.6.0-next.0_@parcel+core@2.8.2: - resolution: {integrity: sha512-zqNIyHiaegO0hX8LJ6qmPAsZC0G3QmjjDvcmKVp4xvU8c21L7LUDJP++9Ek1iKm45gfuCweXeeKX01W5EWzDFA==} + /gatsby-parcel-config/1.7.0-next.0_@parcel+core@2.8.3: + resolution: {integrity: sha512-cE4ltBaE9kWJ5EsUHSpcudp9dYSd29+VRR7gXdHEo/UxuNkLtcrlKwsPu/2553CX6aBdxt6Xyqcd7YwOs0RQ6w==} engines: {parcel: 2.x} peerDependencies: '@parcel/core': ^2.0.0 dependencies: - '@gatsbyjs/parcel-namer-relative-to-cwd': 2.6.0-next.0_@parcel+core@2.8.2 - '@parcel/bundler-default': 2.8.2_@parcel+core@2.8.2 - '@parcel/compressor-raw': 2.8.2_@parcel+core@2.8.2 - '@parcel/core': 2.8.2 - '@parcel/namer-default': 2.8.2_@parcel+core@2.8.2 - '@parcel/optimizer-terser': 2.8.2_@parcel+core@2.8.2 - '@parcel/packager-js': 2.8.2_@parcel+core@2.8.2 - '@parcel/packager-raw': 2.8.2_@parcel+core@2.8.2 - '@parcel/reporter-dev-server': 2.8.2_@parcel+core@2.8.2 - '@parcel/resolver-default': 2.8.2_@parcel+core@2.8.2 - '@parcel/runtime-js': 2.8.2_@parcel+core@2.8.2 - '@parcel/transformer-js': 2.8.2_@parcel+core@2.8.2 - '@parcel/transformer-json': 2.8.2_@parcel+core@2.8.2 + '@gatsbyjs/parcel-namer-relative-to-cwd': 2.7.0-next.0_@parcel+core@2.8.3 + '@parcel/bundler-default': 2.8.3_@parcel+core@2.8.3 + '@parcel/compressor-raw': 2.8.3_@parcel+core@2.8.3 + '@parcel/core': 2.8.3 + '@parcel/namer-default': 2.8.3_@parcel+core@2.8.3 + '@parcel/optimizer-terser': 2.8.3_@parcel+core@2.8.3 + '@parcel/packager-js': 2.8.3_@parcel+core@2.8.3 + '@parcel/packager-raw': 2.8.3_@parcel+core@2.8.3 + '@parcel/reporter-dev-server': 2.8.3_@parcel+core@2.8.3 + '@parcel/resolver-default': 2.8.3_@parcel+core@2.8.3 + '@parcel/runtime-js': 2.8.3_@parcel+core@2.8.3 + '@parcel/transformer-js': 2.8.3_@parcel+core@2.8.3 + '@parcel/transformer-json': 2.8.3_@parcel+core@2.8.3 dev: false - /gatsby-plugin-page-creator/5.6.0-next.1_wxxlwg4kb5uwyfjvsdo3jviy2e: - resolution: {integrity: sha512-9yE2C4Xbc+llNRzzC9MbpgSM1GQCi4lUqlNy8Hq/C25S0wTTRW+FQZxuWTiR+AUTUL8MK9wJsNF5f0bZc8hfJw==} + /gatsby-plugin-page-creator/5.7.0-next.0_5qnviuipb4fcbildeubwcez6ia: + resolution: {integrity: sha512-Lq7lyHBNiHvgjTXeybUo+cn/QjOjoN1PnoZlKyM0wGpJOX9nn6hrED+C5FylOKf4hS/RjLPaGf4OnYzeOAkWtQ==} engines: {node: '>=18.0.0'} peerDependencies: gatsby: ^5.0.0-next dependencies: - '@babel/runtime': 7.20.7 - '@babel/traverse': 7.20.12 + '@babel/runtime': 7.20.13 + '@babel/traverse': 7.20.13 '@sindresorhus/slugify': 1.1.2 chokidar: 3.5.3 fs-exists-cached: 1.0.0 fs-extra: 11.1.0 - gatsby: 5.6.0-next.2_biqbaboplfbrettd7655fr4n2y - gatsby-core-utils: 4.6.0-next.0 - gatsby-page-utils: 3.6.0-next.0 - gatsby-plugin-utils: 4.6.0-next.1_wxxlwg4kb5uwyfjvsdo3jviy2e - gatsby-telemetry: 4.6.0-next.0 + gatsby: 5.7.0-next.0_biqbaboplfbrettd7655fr4n2y + gatsby-core-utils: 4.7.0-next.0 + gatsby-page-utils: 3.7.0-next.0 + gatsby-plugin-utils: 4.7.0-next.0_5qnviuipb4fcbildeubwcez6ia + gatsby-telemetry: 4.7.0-next.0 globby: 11.1.0 lodash: 4.17.21 transitivePeerDependencies: @@ -20813,8 +20966,8 @@ packages: - supports-color dev: false - /gatsby-plugin-typescript/5.6.0-next.0_gatsby@5.6.0-next.2: - resolution: {integrity: sha512-CUguJx8GjTQHymcfBOcwUXZtetfhLYtgUehkM8ovvNlscgavGxmbGD90gXMmo5JgrLPhdx8krtMsdIeCOOvo4w==} + /gatsby-plugin-typescript/5.7.0-next.0_gatsby@5.7.0-next.0: + resolution: {integrity: sha512-r60b1a2SOAZRYmV+rpPCW58QgeutbCHpOeaG7mDBHSNU3nnL2WWjvSmJFpbvwYRsTUhd54k1EXYENB7nX4Sw/w==} engines: {node: '>=18.0.0'} peerDependencies: gatsby: ^5.0.0-next @@ -20824,26 +20977,26 @@ packages: '@babel/plugin-proposal-numeric-separator': 7.18.6_@babel+core@7.20.12 '@babel/plugin-proposal-optional-chaining': 7.20.7_@babel+core@7.20.12 '@babel/preset-typescript': 7.18.6_@babel+core@7.20.12 - '@babel/runtime': 7.20.7 - babel-plugin-remove-graphql-queries: 5.6.0-next.0_x3fnz3zp5bgltr62wwyqvgm7l4 - gatsby: 5.6.0-next.2_biqbaboplfbrettd7655fr4n2y + '@babel/runtime': 7.20.13 + babel-plugin-remove-graphql-queries: 5.7.0-next.0_kwfgdicz63ldiwfqlkadmrpj4y + gatsby: 5.7.0-next.0_biqbaboplfbrettd7655fr4n2y transitivePeerDependencies: - supports-color dev: false - /gatsby-plugin-utils/4.6.0-next.1_wxxlwg4kb5uwyfjvsdo3jviy2e: - resolution: {integrity: sha512-RhM2cQ6RYmdGQkXKs4d+KfG5ovGjvbF4fps/H4Sk81nJ1AnlPGbUlMaCdgFhhTJL1ID8l4rYdpQKXM87THJosQ==} + /gatsby-plugin-utils/4.7.0-next.0_5qnviuipb4fcbildeubwcez6ia: + resolution: {integrity: sha512-yWgUlqItsOST/cmqxAYuzZKoLv/lnmztQn5Pk7jtJup/jnISqzq1LVYKS027ZFIRDTp1u0flRwlC3vlhH4kd8Q==} engines: {node: '>=18.0.0'} peerDependencies: gatsby: ^5.0.0-next graphql: ^16.0.0 dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.20.13 fastq: 1.15.0 fs-extra: 11.1.0 - gatsby: 5.6.0-next.2_biqbaboplfbrettd7655fr4n2y - gatsby-core-utils: 4.6.0-next.0 - gatsby-sharp: 1.6.0-next.0 + gatsby: 5.7.0-next.0_biqbaboplfbrettd7655fr4n2y + gatsby-core-utils: 4.7.0-next.0 + gatsby-sharp: 1.7.0-next.0 graphql: 16.6.0 graphql-compose: 9.0.10_graphql@16.6.0 import-from: 4.0.0 @@ -20851,77 +21004,77 @@ packages: mime: 3.0.0 dev: false - /gatsby-react-router-scroll/6.6.0-next.0_y2kppt6lrltqk6wasg3eswwzsa: - resolution: {integrity: sha512-zSVEibH40eR64HROVbQ2OTV4sSDVXCgAEIG9yykhGJv5oz2yEFwWcjmPYWEtaiu2qcjPnLSkjsPOw5tVqrFr7A==} + /gatsby-react-router-scroll/6.7.0-next.0_uxzdzcrcylloub4rxar25ny6ra: + resolution: {integrity: sha512-OFKePAMF6n8DseaIIsuuQ4GTadl91m9i1GIj8fUhaInQr4y6fADSvWIR6W+ZxDjKksUm+DNalz+FE8UzGcVDtw==} engines: {node: '>=18.0.0'} peerDependencies: '@gatsbyjs/reach-router': ^2.0.0 react: ^18.0.0 || ^0.0.0 react-dom: ^18.0.0 || ^0.0.0 dependencies: - '@babel/runtime': 7.20.7 - '@gatsbyjs/reach-router': 2.0.0_biqbaboplfbrettd7655fr4n2y + '@babel/runtime': 7.20.13 + '@gatsbyjs/reach-router': 2.0.1_biqbaboplfbrettd7655fr4n2y prop-types: 15.8.1 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 dev: false - /gatsby-script/2.6.0-next.0_y2kppt6lrltqk6wasg3eswwzsa: - resolution: {integrity: sha512-kJQ+NqtS4ue3I7t0Asgy+bAdnwQ0Wzu6BK3z/jnj57lU6mBthU5XWj9RiCu3W4GjsIW/qqjN1e/rqvukN+sWMw==} + /gatsby-script/2.7.0-next.0_uxzdzcrcylloub4rxar25ny6ra: + resolution: {integrity: sha512-ycmGRe7exnLXf0iL6+W3pyJn/tjCwcZHLI56eV0siWUiixxZMWLRZ5Ysigk+O3WitFCax083/WbpH3TiT9rfnA==} engines: {node: '>=18.0.0'} peerDependencies: '@gatsbyjs/reach-router': ^2.0.0 react: ^18.0.0 || ^0.0.0 react-dom: ^18.0.0 || ^0.0.0 dependencies: - '@gatsbyjs/reach-router': 2.0.0_biqbaboplfbrettd7655fr4n2y + '@gatsbyjs/reach-router': 2.0.1_biqbaboplfbrettd7655fr4n2y react: 18.2.0 react-dom: 18.2.0_react@18.2.0 dev: false - /gatsby-sharp/1.6.0-next.0: - resolution: {integrity: sha512-QaGkqU55JaZAbjgU1QyrX0rbyRUEFluMT7LykLlfGMCdox4DzE5ERtP5BVIHCzRXc0JAZtmFCDcFmpPSKxB28w==} + /gatsby-sharp/1.7.0-next.0: + resolution: {integrity: sha512-BzvqeCKt424YChZmb2p4sw1moPeE0SGfzr2IbhM/kkb8Ks3fH+mLy/FUQi/dJ317oa1+AHc8mAjezzxGAFHSsA==} engines: {node: '>=18.0.0'} dependencies: '@types/sharp': 0.31.1 sharp: 0.31.3 dev: false - /gatsby-telemetry/4.6.0-next.0: - resolution: {integrity: sha512-LQcqw21mO0s5sKPoi5MWYqcK7iVp5qej5fTpOYgDenabGDSIxYAoRa5CGQ6tRwGUjMu3NYykmCpPdsY0DHNHyw==} + /gatsby-telemetry/4.7.0-next.0: + resolution: {integrity: sha512-Gnn6g6cYo4YR7bx9CET0k/2/VwO/AMbVkyO4p4jdxUSuNNY1CCFhH4hTD8oc4ln9KTxnyO1AqoT/ArNzL0G1Xw==} engines: {node: '>=18.0.0'} requiresBuild: true dependencies: '@babel/code-frame': 7.18.6 - '@babel/runtime': 7.20.7 - '@turist/fetch': 7.2.0_node-fetch@2.6.7 + '@babel/runtime': 7.20.13 + '@turist/fetch': 7.2.0_node-fetch@2.6.9 '@turist/time': 0.0.2 boxen: 5.1.2 configstore: 5.0.1 fs-extra: 11.1.0 - gatsby-core-utils: 4.6.0-next.0 + gatsby-core-utils: 4.7.0-next.0 git-up: 7.0.0 is-docker: 2.2.1 lodash: 4.17.21 - node-fetch: 2.6.7 + node-fetch: 2.6.9 transitivePeerDependencies: - encoding dev: false - /gatsby-worker/2.6.0-next.0: - resolution: {integrity: sha512-C2bBppw4MqtEo1pEUma2UE06txv22q+ix04G3idMxjqFLtWq+H3+fQmuDZB4laI601ClzyAHK99dSNKQrfGqeA==} + /gatsby-worker/2.7.0-next.0: + resolution: {integrity: sha512-LKGhWzjadmaciZ7KBBebcS+Pi5WrgSRaRiyzogdFHXTRE0WNCGWOrMQVH1nF0ppMEO2vN11GZKb3TZxDu0ho6g==} engines: {node: '>=18.0.0'} dependencies: '@babel/core': 7.20.12 - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.20.13 fs-extra: 11.1.0 signal-exit: 3.0.7 transitivePeerDependencies: - supports-color dev: false - /gatsby/5.6.0-next.2_biqbaboplfbrettd7655fr4n2y: - resolution: {integrity: sha512-cXyyDjlA2V3NhnfJtLhcrShrYU6k/FB67el5MZIqzrHjb7sg77lJztMpoy4PvXs4MlNvhRupSclIO+o9+G0pyg==} + /gatsby/5.7.0-next.0_biqbaboplfbrettd7655fr4n2y: + resolution: {integrity: sha512-QBYsyxuct7qhGLkl1jdU0zJS5C5B6wDaxUnReaI9qD+R898cc0KZgGcxhWFzXTk3c6mKGXebW0BBcRBMZ8f3+A==} engines: {node: '>=18.0.0'} hasBin: true requiresBuild: true @@ -20933,24 +21086,24 @@ packages: '@babel/core': 7.20.12 '@babel/eslint-parser': 7.19.1_go3kp2l7mdrkdyt3xfyeu7ppfa '@babel/helper-plugin-utils': 7.20.2 - '@babel/parser': 7.20.7 - '@babel/runtime': 7.20.7 - '@babel/traverse': 7.20.12 + '@babel/parser': 7.20.15 + '@babel/runtime': 7.20.13 + '@babel/traverse': 7.20.13 '@babel/types': 7.20.7 '@builder.io/partytown': 0.7.5 - '@gatsbyjs/reach-router': 2.0.0_biqbaboplfbrettd7655fr4n2y + '@gatsbyjs/reach-router': 2.0.1_biqbaboplfbrettd7655fr4n2y '@gatsbyjs/webpack-hot-middleware': 2.25.3 '@graphql-codegen/add': 3.2.3_graphql@16.6.0 '@graphql-codegen/core': 2.6.8_graphql@16.6.0 '@graphql-codegen/plugin-helpers': 2.7.2_graphql@16.6.0 '@graphql-codegen/typescript': 2.8.7_graphql@16.6.0 '@graphql-codegen/typescript-operations': 2.5.12_graphql@16.6.0 - '@graphql-tools/code-file-loader': 7.3.15_hooseksvfyhf37tjwfseq7c3kq - '@graphql-tools/load': 7.8.8_graphql@16.6.0 + '@graphql-tools/code-file-loader': 7.3.18_hooseksvfyhf37tjwfseq7c3kq + '@graphql-tools/load': 7.8.11_graphql@16.6.0 '@jridgewell/trace-mapping': 0.3.17 '@nodelib/fs.walk': 1.2.8 - '@parcel/cache': 2.8.2_@parcel+core@2.8.2 - '@parcel/core': 2.8.2 + '@parcel/cache': 2.8.3_@parcel+core@2.8.3 + '@parcel/core': 2.8.3 '@pmmmwh/react-refresh-webpack-plugin': 0.5.10_xsftmjzvfioxqs4ify53ibh7ay '@types/http-proxy': 1.17.9 '@typescript-eslint/eslint-plugin': 4.33.0_ffi3uiz42rv3jyhs6cr7p7qqry @@ -20960,15 +21113,15 @@ packages: acorn-walk: 8.2.0 address: 1.2.2 anser: 2.1.1 - autoprefixer: 10.4.13_postcss@8.4.20 + autoprefixer: 10.4.13_postcss@8.4.21 axios: 0.21.4_debug@4.3.4 babel-jsx-utils: 1.1.0 babel-loader: 8.3.0_la66t7xldg4uecmyawueag5wkm babel-plugin-add-module-exports: 1.0.4 babel-plugin-dynamic-import-node: 2.3.3 babel-plugin-lodash: 3.3.4 - babel-plugin-remove-graphql-queries: 5.6.0-next.0_x3fnz3zp5bgltr62wwyqvgm7l4 - babel-preset-gatsby: 3.6.0-next.0_pp2vm42zn6vfmnpuhar3irht7i + babel-plugin-remove-graphql-queries: 5.7.0-next.0_kwfgdicz63ldiwfqlkadmrpj4y + babel-preset-gatsby: 3.7.0-next.0_pp2vm42zn6vfmnpuhar3irht7i better-opn: 2.1.1 bluebird: 3.7.2 browserslist: 4.21.4 @@ -20985,17 +21138,17 @@ packages: css.escape: 1.5.1 date-fns: 2.29.3 debug: 4.3.4 - deepmerge: 4.2.2 + deepmerge: 4.3.0 detect-port: 1.5.1 devcert: 1.2.2 dotenv: 8.6.0 enhanced-resolve: 5.12.0 error-stack-parser: 2.1.4 eslint: 7.32.0 - eslint-config-react-app: 6.0.0_nnhcjimma6qtaxwhedjmsri3h4 + eslint-config-react-app: 6.0.0_ftuoewqukkbctpkc5t32zy3owy eslint-plugin-flowtype: 5.10.0_eslint@7.32.0 - eslint-plugin-import: 2.26.0_ffi3uiz42rv3jyhs6cr7p7qqry - eslint-plugin-jsx-a11y: 6.7.0_eslint@7.32.0 + eslint-plugin-import: 2.27.5_ffi3uiz42rv3jyhs6cr7p7qqry + eslint-plugin-jsx-a11y: 6.7.1_eslint@7.32.0 eslint-plugin-react: 7.31.11_eslint@7.32.0 eslint-plugin-react-hooks: 4.6.0_eslint@7.32.0 eslint-webpack-plugin: 2.7.0_u2ubl3shblmc7225ne6wflnyua @@ -21009,26 +21162,26 @@ packages: find-cache-dir: 3.3.2 fs-exists-cached: 1.0.0 fs-extra: 11.1.0 - gatsby-cli: 5.6.0-next.1 - gatsby-core-utils: 4.6.0-next.0 - gatsby-graphiql-explorer: 3.6.0-next.0 - gatsby-legacy-polyfills: 3.6.0-next.0 - gatsby-link: 5.6.0-next.0_y2kppt6lrltqk6wasg3eswwzsa - gatsby-page-utils: 3.6.0-next.0 - gatsby-parcel-config: 1.6.0-next.0_@parcel+core@2.8.2 - gatsby-plugin-page-creator: 5.6.0-next.1_wxxlwg4kb5uwyfjvsdo3jviy2e - gatsby-plugin-typescript: 5.6.0-next.0_gatsby@5.6.0-next.2 - gatsby-plugin-utils: 4.6.0-next.1_wxxlwg4kb5uwyfjvsdo3jviy2e - gatsby-react-router-scroll: 6.6.0-next.0_y2kppt6lrltqk6wasg3eswwzsa - gatsby-script: 2.6.0-next.0_y2kppt6lrltqk6wasg3eswwzsa - gatsby-telemetry: 4.6.0-next.0 - gatsby-worker: 2.6.0-next.0 + gatsby-cli: 5.7.0-next.0 + gatsby-core-utils: 4.7.0-next.0 + gatsby-graphiql-explorer: 3.7.0-next.0 + gatsby-legacy-polyfills: 3.7.0-next.0 + gatsby-link: 5.7.0-next.0_uxzdzcrcylloub4rxar25ny6ra + gatsby-page-utils: 3.7.0-next.0 + gatsby-parcel-config: 1.7.0-next.0_@parcel+core@2.8.3 + gatsby-plugin-page-creator: 5.7.0-next.0_5qnviuipb4fcbildeubwcez6ia + gatsby-plugin-typescript: 5.7.0-next.0_gatsby@5.7.0-next.0 + gatsby-plugin-utils: 4.7.0-next.0_5qnviuipb4fcbildeubwcez6ia + gatsby-react-router-scroll: 6.7.0-next.0_uxzdzcrcylloub4rxar25ny6ra + gatsby-script: 2.7.0-next.0_uxzdzcrcylloub4rxar25ny6ra + gatsby-telemetry: 4.7.0-next.0 + gatsby-worker: 2.7.0-next.0 glob: 7.2.3 globby: 11.1.0 got: 11.8.6 graphql: 16.6.0 graphql-compose: 9.0.10_graphql@16.6.0 - graphql-http: 1.11.0_graphql@16.6.0 + graphql-http: 1.13.0_graphql@16.6.0 graphql-tag: 2.12.6_graphql@16.6.0 hasha: 5.2.2 invariant: 2.2.4 @@ -21047,7 +21200,7 @@ packages: mitt: 1.2.0 moment: 2.29.4 multer: 1.4.5-lts.1 - node-fetch: 2.6.7 + node-fetch: 2.6.9 node-html-parser: 5.4.2 normalize-path: 3.0.0 null-loader: 4.0.1_webpack@5.75.0 @@ -21056,9 +21209,9 @@ packages: parseurl: 1.3.3 physical-cpu-count: 2.0.0 platform: 1.3.6 - postcss: 8.4.20 - postcss-flexbugs-fixes: 5.0.2_postcss@8.4.20 - postcss-loader: 5.3.0_qxxfhhrl3yknjjmta266mo3u64 + postcss: 8.4.21 + postcss-flexbugs-fixes: 5.0.2_postcss@8.4.21 + postcss-loader: 5.3.0_6jdsrmfenkuhhw3gx4zvjlznce prompts: 2.4.2 prop-types: 15.8.1 query-string: 6.14.1 @@ -21068,8 +21221,8 @@ packages: react-dom: 18.2.0_react@18.2.0 react-refresh: 0.14.0 react-server-dom-webpack: 0.0.0-experimental-c8b778b7f-20220825_wxnjqhvau3kr4edcdlkxrbquiq - redux: 4.2.0 - redux-thunk: 2.4.2_redux@4.2.0 + redux: 4.2.1 + redux-thunk: 2.4.2_redux@4.2.1 resolve-from: 5.0.0 semver: 7.3.8 shallow-compare: 1.2.2 @@ -21093,10 +21246,10 @@ packages: webpack-merge: 5.8.0 webpack-stats-plugin: 1.1.1 webpack-virtual-modules: 0.5.0 - xstate: 4.35.2 + xstate: 4.35.4 yaml-loader: 0.8.0 optionalDependencies: - gatsby-sharp: 1.6.0-next.0 + gatsby-sharp: 1.7.0-next.0 transitivePeerDependencies: - '@swc/core' - '@types/webpack' @@ -21161,7 +21314,7 @@ packages: extend: 3.0.2 https-proxy-agent: 5.0.1 is-stream: 2.0.1 - node-fetch: 2.6.7 + node-fetch: 2.6.9 transitivePeerDependencies: - encoding - supports-color @@ -21174,7 +21327,7 @@ packages: extend: 3.0.2 https-proxy-agent: 5.0.1 is-stream: 2.0.1 - node-fetch: 2.6.7 + node-fetch: 2.6.9 transitivePeerDependencies: - encoding - supports-color @@ -21410,7 +21563,7 @@ packages: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 5.1.0 + minimatch: 5.1.6 once: 1.4.0 dev: true @@ -21577,7 +21730,7 @@ packages: fast-text-encoding: 1.0.4 google-auth-library: 8.7.0 is-stream-ended: 0.1.4 - node-fetch: 2.6.7 + node-fetch: 2.6.9 object-hash: 3.0.0 proto3-json-serializer: 1.1.0 protobufjs: 7.1.2 @@ -21683,8 +21836,8 @@ packages: - graphql dev: false - /graphql-http/1.11.0_graphql@16.6.0: - resolution: {integrity: sha512-BQOwcGQWwjtsItzWS5ucPVZPtEJSkCDlzQvvNN86Ve+WJOlzvA/VqQhyf2xSZ9Q1TvQEZ9CCPHvBYdbxDDt/hQ==} + /graphql-http/1.13.0_graphql@16.6.0: + resolution: {integrity: sha512-3Ia3ql9k+i/GvjNucwRdqdbumLeyJ8Zame4IhniMy/974t+Dy2mDnF08fOCKwXJwd3ErmzhYS/ZyvcXiX4v8wg==} engines: {node: '>=12'} peerDependencies: graphql: '>=0.11 <=16' @@ -21780,19 +21933,6 @@ packages: resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} dev: true - /handlebars/4.7.7: - resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==} - engines: {node: '>=0.4.7'} - hasBin: true - dependencies: - minimist: 1.2.6 - neo-async: 2.6.2 - source-map: 0.6.1 - wordwrap: 1.0.0 - optionalDependencies: - uglify-js: 3.17.4 - dev: true - /har-schema/2.0.0: resolution: {integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==} engines: {node: '>=4'} @@ -21964,7 +22104,7 @@ packages: /history/4.10.1: resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==} dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.20.13 loose-envify: 1.4.0 resolve-pathname: 3.0.0 tiny-invariant: 1.2.0 @@ -22276,13 +22416,13 @@ packages: dependencies: safer-buffer: 2.1.2 - /icss-utils/5.1.0_postcss@8.4.20: + /icss-utils/5.1.0_postcss@8.4.21: resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.20 + postcss: 8.4.21 /idb/7.0.1: resolution: {integrity: sha512-UUxlE7vGWK5RfB/fDwEGgRf84DY/ieqNha6msMV99UsEMQhJ1RwbCd8AYBj3QMgnE3VZnfQvm4oKVCJTYlqIgg==} @@ -22587,6 +22727,7 @@ packages: /is-arrayish/0.3.2: resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + requiresBuild: true /is-bigint/1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} @@ -22628,6 +22769,11 @@ packages: dependencies: ci-info: 2.0.0 + /is-core-module/2.11.0: + resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} + dependencies: + has: 1.0.3 + /is-core-module/2.9.0: resolution: {integrity: sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==} dependencies: @@ -23065,7 +23211,7 @@ packages: engines: {node: '>=8'} dependencies: '@babel/core': 7.20.12 - '@babel/parser': 7.20.7 + '@babel/parser': 7.20.15 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 semver: 6.3.0 @@ -23320,7 +23466,7 @@ packages: babel-jest: 27.5.1_@babel+core@7.20.12 chalk: 4.1.2 ci-info: 3.7.0 - deepmerge: 4.2.2 + deepmerge: 4.3.0 glob: 7.2.3 graceful-fs: 4.2.10 jest-circus: 27.5.1 @@ -23364,7 +23510,7 @@ packages: babel-jest: 28.1.1_@babel+core@7.20.12 chalk: 4.1.2 ci-info: 3.7.0 - deepmerge: 4.2.2 + deepmerge: 4.3.0 glob: 7.2.3 graceful-fs: 4.2.10 jest-circus: 28.1.1 @@ -23403,7 +23549,7 @@ packages: babel-jest: 28.1.1_@babel+core@7.20.12 chalk: 4.1.2 ci-info: 3.7.0 - deepmerge: 4.2.2 + deepmerge: 4.3.0 glob: 7.2.3 graceful-fs: 4.2.10 jest-circus: 28.1.1 @@ -23441,7 +23587,7 @@ packages: babel-jest: 29.3.0_@babel+core@7.20.12 chalk: 4.1.2 ci-info: 3.7.0 - deepmerge: 4.2.2 + deepmerge: 4.3.0 glob: 7.2.3 graceful-fs: 4.2.10 jest-circus: 29.3.0 @@ -23480,7 +23626,7 @@ packages: babel-jest: 29.3.0_@babel+core@7.20.12 chalk: 4.1.2 ci-info: 3.7.0 - deepmerge: 4.2.2 + deepmerge: 4.3.0 glob: 7.2.3 graceful-fs: 4.2.10 jest-circus: 29.3.0 @@ -24255,9 +24401,9 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@babel/core': 7.20.12 - '@babel/generator': 7.20.7 + '@babel/generator': 7.20.14 '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.20.12 - '@babel/traverse': 7.20.12 + '@babel/traverse': 7.20.13 '@babel/types': 7.20.7 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 @@ -24285,9 +24431,9 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: '@babel/core': 7.20.12 - '@babel/generator': 7.20.7 + '@babel/generator': 7.20.14 '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.20.12 - '@babel/traverse': 7.20.12 + '@babel/traverse': 7.20.13 '@babel/types': 7.20.7 '@jest/expect-utils': 28.1.1 '@jest/transform': 28.1.1 @@ -24316,10 +24462,10 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/core': 7.20.12 - '@babel/generator': 7.20.7 + '@babel/generator': 7.20.14 '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.12 '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.20.12 - '@babel/traverse': 7.20.12 + '@babel/traverse': 7.20.13 '@babel/types': 7.20.7 '@jest/expect-utils': 29.2.2 '@jest/transform': 29.3.0 @@ -24704,7 +24850,7 @@ packages: engines: {node: '>=12.0.0'} hasBin: true dependencies: - '@babel/parser': 7.20.7 + '@babel/parser': 7.20.15 '@types/markdown-it': 12.2.3 bluebird: 3.7.2 catharsis: 0.9.0 @@ -24713,7 +24859,7 @@ packages: klaw: 3.0.0 markdown-it: 12.3.2 markdown-it-anchor: 8.6.5_2zb4u3vubltivolgu556vv4aom - marked: 4.0.17 + marked: 4.2.12 mkdirp: 1.0.4 requizzle: 0.2.4 strip-json-comments: 3.1.1 @@ -25342,14 +25488,6 @@ packages: resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} engines: {node: '>=6.11.5'} - /loader-utils/2.0.2: - resolution: {integrity: sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==} - engines: {node: '>=8.9.0'} - dependencies: - big.js: 5.2.2 - emojis-list: 3.0.0 - json5: 2.2.3 - /loader-utils/2.0.4: resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} engines: {node: '>=8.9.0'} @@ -25834,8 +25972,8 @@ packages: hasBin: true dev: true - /marked/4.2.4: - resolution: {integrity: sha512-Wcc9ikX7Q5E4BYDPvh1C6QNSxrjC9tBgz+A/vAhp59KXUgachw++uMvMKiSW8oA85nopmPZcEvBoex/YLMsiyA==} + /marked/4.2.12: + resolution: {integrity: sha512-yr8hSKa3Fv4D3jdZmtMMPghgVt6TWbk86WQaWhDloQjRSQhMMYCAro7jP7VDJrjjdV8pxVxMssXS8B8Y5DZ5aw==} engines: {node: '>= 12'} hasBin: true dev: true @@ -25852,14 +25990,6 @@ packages: unist-util-visit: 2.0.3 dev: true - /mdast-util-find-and-replace/1.1.1: - resolution: {integrity: sha512-9cKl33Y21lyckGzpSmEQnIDjEfeeWelN5s1kUW1LwdB0Fkuq2u+4GdqcGEygYxJE8GVqCl0741bYXHgamfWAZA==} - dependencies: - escape-string-regexp: 4.0.0 - unist-util-is: 4.1.0 - unist-util-visit-parents: 3.1.1 - dev: false - /mdast-util-to-hast/10.0.1: resolution: {integrity: sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA==} dependencies: @@ -25873,10 +26003,6 @@ packages: unist-util-visit: 2.0.3 dev: true - /mdast-util-to-string/1.1.0: - resolution: {integrity: sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A==} - dev: false - /mdast-util-to-string/2.0.0: resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} dev: true @@ -26103,7 +26229,7 @@ packages: prop-types: ^15.0.0 react: ^0.14.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.20.13 prop-types: 15.8.1 react: 18.2.0 tiny-warning: 1.0.3 @@ -26145,8 +26271,8 @@ packages: dependencies: brace-expansion: 1.1.11 - /minimatch/5.1.0: - resolution: {integrity: sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==} + /minimatch/5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} engines: {node: '>=10'} dependencies: brace-expansion: 2.0.1 @@ -26780,6 +26906,17 @@ packages: dependencies: whatwg-url: 5.0.0 + /node-fetch/2.6.9: + resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + /node-fetch/3.3.0: resolution: {integrity: sha512-BKwRP/O0UvoMKp7GNdwPlObhYGB5DQqwhEDQlNKuoqwVYSxkSZCSbHjnFFmUEtwSKRPU4kNK8PbDYYitwaE3QA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -26907,7 +27044,7 @@ packages: engines: {node: '>=10'} dependencies: hosted-git-info: 4.1.0 - is-core-module: 2.9.0 + is-core-module: 2.11.0 semver: 7.3.8 validate-npm-package-license: 3.0.4 dev: true @@ -27859,6 +27996,16 @@ packages: postcss: 8.4.20 postcss-selector-parser: 6.0.10 postcss-value-parser: 4.2.0 + dev: true + + /postcss-calc/8.2.4_postcss@8.4.21: + resolution: {integrity: sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==} + peerDependencies: + postcss: ^8.2.2 + dependencies: + postcss: 8.4.21 + postcss-selector-parser: 6.0.10 + postcss-value-parser: 4.2.0 /postcss-cli/9.1.0_postcss@8.4.14: resolution: {integrity: sha512-zvDN2ADbWfza42sAnj+O2uUWyL0eRL1V+6giM2vi4SqTR3gTYy8XzcpfwccayF2szcUif0HMmXiEaDv9iEhcpw==} @@ -27908,6 +28055,19 @@ packages: colord: 2.9.2 postcss: 8.4.20 postcss-value-parser: 4.2.0 + dev: true + + /postcss-colormin/5.3.0_postcss@8.4.21: + resolution: {integrity: sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.21.4 + caniuse-api: 3.0.0 + colord: 2.9.2 + postcss: 8.4.21 + postcss-value-parser: 4.2.0 /postcss-convert-values/5.1.2_postcss@8.4.14: resolution: {integrity: sha512-c6Hzc4GAv95B7suy4udszX9Zy4ETyMCgFPUDtWjdFTKH1SE9eFY/jEpHSwTH1QPuwxHpWslhckUQWbNRM4ho5g==} @@ -27940,6 +28100,17 @@ packages: browserslist: 4.21.4 postcss: 8.4.20 postcss-value-parser: 4.2.0 + dev: true + + /postcss-convert-values/5.1.3_postcss@8.4.21: + resolution: {integrity: sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.21.4 + postcss: 8.4.21 + postcss-value-parser: 4.2.0 /postcss-discard-comments/5.1.2_postcss@8.4.14: resolution: {integrity: sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==} @@ -27957,6 +28128,15 @@ packages: postcss: ^8.2.15 dependencies: postcss: 8.4.20 + dev: true + + /postcss-discard-comments/5.1.2_postcss@8.4.21: + resolution: {integrity: sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.21 /postcss-discard-duplicates/5.1.0_postcss@8.4.14: resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==} @@ -27974,6 +28154,15 @@ packages: postcss: ^8.2.15 dependencies: postcss: 8.4.20 + dev: true + + /postcss-discard-duplicates/5.1.0_postcss@8.4.21: + resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.21 /postcss-discard-empty/5.1.1_postcss@8.4.14: resolution: {integrity: sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==} @@ -27991,6 +28180,15 @@ packages: postcss: ^8.2.15 dependencies: postcss: 8.4.20 + dev: true + + /postcss-discard-empty/5.1.1_postcss@8.4.21: + resolution: {integrity: sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.21 /postcss-discard-overridden/5.1.0_postcss@8.4.14: resolution: {integrity: sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==} @@ -28008,23 +28206,32 @@ packages: postcss: ^8.2.15 dependencies: postcss: 8.4.20 + dev: true - /postcss-discard-unused/5.1.0_postcss@8.4.20: + /postcss-discard-overridden/5.1.0_postcss@8.4.21: + resolution: {integrity: sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.21 + + /postcss-discard-unused/5.1.0_postcss@8.4.21: resolution: {integrity: sha512-KwLWymI9hbwXmJa0dkrzpRbSJEh0vVUd7r8t0yOGPcfKzyJJxFM8kLyC5Ev9avji6nY95pOp1W6HqIrfT+0VGw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.20 + postcss: 8.4.21 postcss-selector-parser: 6.0.10 dev: true - /postcss-flexbugs-fixes/5.0.2_postcss@8.4.20: + /postcss-flexbugs-fixes/5.0.2_postcss@8.4.21: resolution: {integrity: sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==} peerDependencies: postcss: ^8.1.4 dependencies: - postcss: 8.4.20 + postcss: 8.4.21 dev: false /postcss-import-resolver/2.0.0: @@ -28078,7 +28285,7 @@ packages: yaml: 1.10.2 dev: true - /postcss-loader/5.3.0_qxxfhhrl3yknjjmta266mo3u64: + /postcss-loader/5.3.0_6jdsrmfenkuhhw3gx4zvjlznce: resolution: {integrity: sha512-/+Z1RAmssdiSLgIZwnJHwBMnlABPgF7giYzTN2NOfr9D21IJZ4mQC1R2miwp80zno9M4zMD/umGI8cR+2EL5zw==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -28087,7 +28294,7 @@ packages: dependencies: cosmiconfig: 7.0.1 klona: 2.0.5 - postcss: 8.4.20 + postcss: 8.4.21 semver: 7.3.8 webpack: 5.75.0 dev: false @@ -28106,14 +28313,14 @@ packages: webpack: 5.73.0 dev: true - /postcss-merge-idents/5.1.1_postcss@8.4.20: + /postcss-merge-idents/5.1.1_postcss@8.4.21: resolution: {integrity: sha512-pCijL1TREiCoog5nQp7wUe+TUonA2tC2sQ54UGeMmryK3UFGIYKqDyjnqd6RcuI4znFn9hWSLNN8xKE/vWcUQw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - cssnano-utils: 3.1.0_postcss@8.4.20 - postcss: 8.4.20 + cssnano-utils: 3.1.0_postcss@8.4.21 + postcss: 8.4.21 postcss-value-parser: 4.2.0 dev: true @@ -28125,7 +28332,7 @@ packages: dependencies: postcss: 8.4.14 postcss-value-parser: 4.2.0 - stylehacks: 5.1.0_postcss@8.4.14 + stylehacks: 5.1.1_postcss@8.4.14 dev: true /postcss-merge-longhand/5.1.6_postcss@8.4.20: @@ -28136,7 +28343,7 @@ packages: dependencies: postcss: 8.4.20 postcss-value-parser: 4.2.0 - stylehacks: 5.1.0_postcss@8.4.20 + stylehacks: 5.1.1_postcss@8.4.20 dev: true /postcss-merge-longhand/5.1.7_postcss@8.4.20: @@ -28148,6 +28355,17 @@ packages: postcss: 8.4.20 postcss-value-parser: 4.2.0 stylehacks: 5.1.1_postcss@8.4.20 + dev: true + + /postcss-merge-longhand/5.1.7_postcss@8.4.21: + resolution: {integrity: sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.21 + postcss-value-parser: 4.2.0 + stylehacks: 5.1.1_postcss@8.4.21 /postcss-merge-rules/5.1.2_postcss@8.4.14: resolution: {integrity: sha512-zKMUlnw+zYCWoPN6yhPjtcEdlJaMUZ0WyVcxTAmw3lkkN/NDMRkOkiuctQEoWAOvH7twaxUUdvBWl0d4+hifRQ==} @@ -28186,6 +28404,19 @@ packages: cssnano-utils: 3.1.0_postcss@8.4.20 postcss: 8.4.20 postcss-selector-parser: 6.0.10 + dev: true + + /postcss-merge-rules/5.1.3_postcss@8.4.21: + resolution: {integrity: sha512-LbLd7uFC00vpOuMvyZop8+vvhnfRGpp2S+IMQKeuOZZapPRY4SMq5ErjQeHbHsjCUgJkRNrlU+LmxsKIqPKQlA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.21.4 + caniuse-api: 3.0.0 + cssnano-utils: 3.1.0_postcss@8.4.21 + postcss: 8.4.21 + postcss-selector-parser: 6.0.10 /postcss-minify-font-values/5.1.0_postcss@8.4.14: resolution: {integrity: sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==} @@ -28205,6 +28436,16 @@ packages: dependencies: postcss: 8.4.20 postcss-value-parser: 4.2.0 + dev: true + + /postcss-minify-font-values/5.1.0_postcss@8.4.21: + resolution: {integrity: sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.21 + postcss-value-parser: 4.2.0 /postcss-minify-gradients/5.1.1_postcss@8.4.14: resolution: {integrity: sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==} @@ -28228,6 +28469,18 @@ packages: cssnano-utils: 3.1.0_postcss@8.4.20 postcss: 8.4.20 postcss-value-parser: 4.2.0 + dev: true + + /postcss-minify-gradients/5.1.1_postcss@8.4.21: + resolution: {integrity: sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + colord: 2.9.2 + cssnano-utils: 3.1.0_postcss@8.4.21 + postcss: 8.4.21 + postcss-value-parser: 4.2.0 /postcss-minify-params/5.1.3_postcss@8.4.14: resolution: {integrity: sha512-bkzpWcjykkqIujNL+EVEPOlLYi/eZ050oImVtHU7b4lFS82jPnsCb44gvC6pxaNt38Els3jWYDHTjHKf0koTgg==} @@ -28263,6 +28516,18 @@ packages: cssnano-utils: 3.1.0_postcss@8.4.20 postcss: 8.4.20 postcss-value-parser: 4.2.0 + dev: true + + /postcss-minify-params/5.1.4_postcss@8.4.21: + resolution: {integrity: sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.21.4 + cssnano-utils: 3.1.0_postcss@8.4.21 + postcss: 8.4.21 + postcss-value-parser: 4.2.0 /postcss-minify-selectors/5.2.1_postcss@8.4.14: resolution: {integrity: sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==} @@ -28282,43 +28547,53 @@ packages: dependencies: postcss: 8.4.20 postcss-selector-parser: 6.0.10 + dev: true - /postcss-modules-extract-imports/3.0.0_postcss@8.4.20: + /postcss-minify-selectors/5.2.1_postcss@8.4.21: + resolution: {integrity: sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.21 + postcss-selector-parser: 6.0.10 + + /postcss-modules-extract-imports/3.0.0_postcss@8.4.21: resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.20 + postcss: 8.4.21 - /postcss-modules-local-by-default/4.0.0_postcss@8.4.20: + /postcss-modules-local-by-default/4.0.0_postcss@8.4.21: resolution: {integrity: sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0_postcss@8.4.20 - postcss: 8.4.20 + icss-utils: 5.1.0_postcss@8.4.21 + postcss: 8.4.21 postcss-selector-parser: 6.0.10 postcss-value-parser: 4.2.0 - /postcss-modules-scope/3.0.0_postcss@8.4.20: + /postcss-modules-scope/3.0.0_postcss@8.4.21: resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.20 + postcss: 8.4.21 postcss-selector-parser: 6.0.10 - /postcss-modules-values/4.0.0_postcss@8.4.20: + /postcss-modules-values/4.0.0_postcss@8.4.21: resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0_postcss@8.4.20 - postcss: 8.4.20 + icss-utils: 5.1.0_postcss@8.4.21 + postcss: 8.4.21 /postcss-nested/5.0.6_postcss@8.4.14: resolution: {integrity: sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/postcss-nested/-/postcss-nested-5.0.6.tgz} @@ -28356,6 +28631,15 @@ packages: postcss: ^8.2.15 dependencies: postcss: 8.4.20 + dev: true + + /postcss-normalize-charset/5.1.0_postcss@8.4.21: + resolution: {integrity: sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.21 /postcss-normalize-display-values/5.1.0_postcss@8.4.14: resolution: {integrity: sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==} @@ -28375,6 +28659,16 @@ packages: dependencies: postcss: 8.4.20 postcss-value-parser: 4.2.0 + dev: true + + /postcss-normalize-display-values/5.1.0_postcss@8.4.21: + resolution: {integrity: sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.21 + postcss-value-parser: 4.2.0 /postcss-normalize-positions/5.1.1_postcss@8.4.14: resolution: {integrity: sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==} @@ -28394,6 +28688,16 @@ packages: dependencies: postcss: 8.4.20 postcss-value-parser: 4.2.0 + dev: true + + /postcss-normalize-positions/5.1.1_postcss@8.4.21: + resolution: {integrity: sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.21 + postcss-value-parser: 4.2.0 /postcss-normalize-repeat-style/5.1.1_postcss@8.4.14: resolution: {integrity: sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==} @@ -28413,6 +28717,16 @@ packages: dependencies: postcss: 8.4.20 postcss-value-parser: 4.2.0 + dev: true + + /postcss-normalize-repeat-style/5.1.1_postcss@8.4.21: + resolution: {integrity: sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.21 + postcss-value-parser: 4.2.0 /postcss-normalize-string/5.1.0_postcss@8.4.14: resolution: {integrity: sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==} @@ -28432,6 +28746,16 @@ packages: dependencies: postcss: 8.4.20 postcss-value-parser: 4.2.0 + dev: true + + /postcss-normalize-string/5.1.0_postcss@8.4.21: + resolution: {integrity: sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.21 + postcss-value-parser: 4.2.0 /postcss-normalize-timing-functions/5.1.0_postcss@8.4.14: resolution: {integrity: sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==} @@ -28451,6 +28775,16 @@ packages: dependencies: postcss: 8.4.20 postcss-value-parser: 4.2.0 + dev: true + + /postcss-normalize-timing-functions/5.1.0_postcss@8.4.21: + resolution: {integrity: sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.21 + postcss-value-parser: 4.2.0 /postcss-normalize-unicode/5.1.0_postcss@8.4.14: resolution: {integrity: sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ==} @@ -28483,6 +28817,17 @@ packages: browserslist: 4.21.4 postcss: 8.4.20 postcss-value-parser: 4.2.0 + dev: true + + /postcss-normalize-unicode/5.1.1_postcss@8.4.21: + resolution: {integrity: sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.21.4 + postcss: 8.4.21 + postcss-value-parser: 4.2.0 /postcss-normalize-url/5.1.0_postcss@8.4.14: resolution: {integrity: sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==} @@ -28504,6 +28849,17 @@ packages: normalize-url: 6.1.0 postcss: 8.4.20 postcss-value-parser: 4.2.0 + dev: true + + /postcss-normalize-url/5.1.0_postcss@8.4.21: + resolution: {integrity: sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + normalize-url: 6.1.0 + postcss: 8.4.21 + postcss-value-parser: 4.2.0 /postcss-normalize-whitespace/5.1.1_postcss@8.4.14: resolution: {integrity: sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==} @@ -28523,6 +28879,16 @@ packages: dependencies: postcss: 8.4.20 postcss-value-parser: 4.2.0 + dev: true + + /postcss-normalize-whitespace/5.1.1_postcss@8.4.21: + resolution: {integrity: sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.21 + postcss-value-parser: 4.2.0 /postcss-ordered-values/5.1.3_postcss@8.4.14: resolution: {integrity: sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==} @@ -28544,14 +28910,25 @@ packages: cssnano-utils: 3.1.0_postcss@8.4.20 postcss: 8.4.20 postcss-value-parser: 4.2.0 + dev: true - /postcss-reduce-idents/5.2.0_postcss@8.4.20: + /postcss-ordered-values/5.1.3_postcss@8.4.21: + resolution: {integrity: sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + cssnano-utils: 3.1.0_postcss@8.4.21 + postcss: 8.4.21 + postcss-value-parser: 4.2.0 + + /postcss-reduce-idents/5.2.0_postcss@8.4.21: resolution: {integrity: sha512-BTrLjICoSB6gxbc58D5mdBK8OhXRDqud/zodYfdSi52qvDHdMwk+9kB9xsM8yJThH/sZU5A6QVSmMmaN001gIg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.20 + postcss: 8.4.21 postcss-value-parser: 4.2.0 dev: true @@ -28586,6 +28963,17 @@ packages: browserslist: 4.21.4 caniuse-api: 3.0.0 postcss: 8.4.20 + dev: true + + /postcss-reduce-initial/5.1.1_postcss@8.4.21: + resolution: {integrity: sha512-//jeDqWcHPuXGZLoolFrUXBDyuEGbr9S2rMo19bkTIjBQ4PqkaO+oI8wua5BOUxpfi97i3PCoInsiFIEBfkm9w==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.21.4 + caniuse-api: 3.0.0 + postcss: 8.4.21 /postcss-reduce-transforms/5.1.0_postcss@8.4.14: resolution: {integrity: sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==} @@ -28605,6 +28993,16 @@ packages: dependencies: postcss: 8.4.20 postcss-value-parser: 4.2.0 + dev: true + + /postcss-reduce-transforms/5.1.0_postcss@8.4.21: + resolution: {integrity: sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.21 + postcss-value-parser: 4.2.0 /postcss-reporter/7.0.5_postcss@8.4.14: resolution: {integrity: sha512-glWg7VZBilooZGOFPhN9msJ3FQs19Hie7l5a/eE6WglzYqVeH3ong3ShFcp9kDWJT1g2Y/wd59cocf9XxBtkWA==} @@ -28624,13 +29022,13 @@ packages: cssesc: 3.0.0 util-deprecate: 1.0.2 - /postcss-sort-media-queries/4.2.1_postcss@8.4.20: + /postcss-sort-media-queries/4.2.1_postcss@8.4.21: resolution: {integrity: sha512-9VYekQalFZ3sdgcTjXMa0dDjsfBVHXlraYJEMiOJ/2iMmI2JGCMavP16z3kWOaRu8NSaJCTgVpB/IVpH5yT9YQ==} engines: {node: '>=10.0.0'} peerDependencies: postcss: ^8.4.4 dependencies: - postcss: 8.4.20 + postcss: 8.4.21 sort-css-media-queries: 2.0.4 dev: true @@ -28654,6 +29052,17 @@ packages: postcss: 8.4.20 postcss-value-parser: 4.2.0 svgo: 2.8.0 + dev: true + + /postcss-svgo/5.1.0_postcss@8.4.21: + resolution: {integrity: sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.21 + postcss-value-parser: 4.2.0 + svgo: 2.8.0 /postcss-unique-selectors/5.1.1_postcss@8.4.14: resolution: {integrity: sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==} @@ -28673,6 +29082,16 @@ packages: dependencies: postcss: 8.4.20 postcss-selector-parser: 6.0.10 + dev: true + + /postcss-unique-selectors/5.1.1_postcss@8.4.21: + resolution: {integrity: sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.21 + postcss-selector-parser: 6.0.10 /postcss-url/10.1.3_postcss@8.4.20: resolution: {integrity: sha512-FUzyxfI5l2tKmXdYc6VTu3TWZsInayEKPbiyW+P6vmmIrrb4I6CGX0BFoewgYHLK+oIL5FECEK02REYRpBvUCw==} @@ -28690,13 +29109,13 @@ packages: /postcss-value-parser/4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - /postcss-zindex/5.1.0_postcss@8.4.20: + /postcss-zindex/5.1.0_postcss@8.4.21: resolution: {integrity: sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.20 + postcss: 8.4.21 dev: true /postcss/8.4.14: @@ -28723,6 +29142,15 @@ packages: nanoid: 3.3.4 picocolors: 1.0.0 source-map-js: 1.0.2 + dev: true + + /postcss/8.4.21: + resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.4 + picocolors: 1.0.0 + source-map-js: 1.0.2 /postgres-array/2.0.0: resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} @@ -29549,7 +29977,7 @@ packages: react: ^16.6.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.20.13 invariant: 2.2.4 prop-types: 15.8.1 react: 18.2.0 @@ -29597,7 +30025,7 @@ packages: react-loadable: '*' webpack: '>=4.41.1 || 5.x' dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.20.13 react-loadable: /@docusaurus/react-loadable/5.5.2_react@18.2.0 webpack: 5.73.0 dev: true @@ -29621,7 +30049,7 @@ packages: react: '>=15' react-router: '>=5' dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.20.13 react: 18.2.0 react-router: 5.3.3_react@18.2.0 dev: true @@ -29631,7 +30059,7 @@ packages: peerDependencies: react: '>=15' dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.20.13 history: 4.10.1 loose-envify: 1.4.0 prop-types: 15.8.1 @@ -29646,7 +30074,7 @@ packages: peerDependencies: react: '>=15' dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.20.13 history: 4.10.1 hoist-non-react-statics: 3.3.2 loose-envify: 1.4.0 @@ -29679,7 +30107,7 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.20.13 react: 18.2.0 use-composed-ref: 1.3.0_react@18.2.0 use-latest: 1.2.1_react@18.2.0 @@ -29826,18 +30254,18 @@ packages: redis-errors: 1.2.0 dev: true - /redux-thunk/2.4.2_redux@4.2.0: + /redux-thunk/2.4.2_redux@4.2.1: resolution: {integrity: sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==} peerDependencies: redux: ^4 dependencies: - redux: 4.2.0 + redux: 4.2.1 dev: false - /redux/4.2.0: - resolution: {integrity: sha512-oSBmcKKIuIR4ME29/AeNUnl5L+hvBq7OaJWzaptTQJAntaPvxIJqfnjbaEiCzzaIz+XmVILfqAM3Ob0aXLPfjA==} + /redux/4.2.1: + resolution: {integrity: sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==} dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.20.13 dev: false /reflect-metadata/0.1.13: @@ -29868,7 +30296,7 @@ packages: /regenerator-transform/0.15.0: resolution: {integrity: sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==} dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.20.13 /regexp.prototype.flags/1.4.3: resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} @@ -29958,7 +30386,7 @@ packages: /relay-runtime/12.0.0: resolution: {integrity: sha512-QU6JKr1tMsry22DXNy9Whsq5rmvwr3LSZiiWV/9+DFpuTWvp+WFhobWMc8TC4OjKFfNhEZy7mOiqUAn5atQtug==} dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.20.13 fbjs: 3.0.4 invariant: 2.2.4 transitivePeerDependencies: @@ -29977,14 +30405,6 @@ packages: resolution: {integrity: sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ==} dev: true - /remark-github/10.1.0: - resolution: {integrity: sha512-q0BTFb41N6/uXQVkxRwLRTFRfLFPYP+8li26Js5XC0GKritCSaxrftd+t+8sfN+1i9BtmJPUKoS7CZwtccj0Fg==} - dependencies: - mdast-util-find-and-replace: 1.1.1 - mdast-util-to-string: 1.1.0 - unist-util-visit: 2.0.3 - dev: false - /remark-mdx/1.6.22: resolution: {integrity: sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ==} dependencies: @@ -30351,7 +30771,7 @@ packages: dependencies: find-up: 5.0.0 picocolors: 1.0.0 - postcss: 8.4.20 + postcss: 8.4.21 strip-json-comments: 3.1.1 dev: true @@ -30781,12 +31201,12 @@ packages: rechoir: 0.6.2 dev: true - /shiki/0.11.1: - resolution: {integrity: sha512-EugY9VASFuDqOexOgXR18ZV+TbFrQHeCpEYaXamO+SZlsnT/2LxuLBX25GGtIrwaEVFXUAbUQ601SWE2rMwWHA==} + /shiki/0.12.1: + resolution: {integrity: sha512-aieaV1m349rZINEBkjxh2QbBvFFQOlgqYTNtCal82hHj4dDZ76oMlQIX+C7ryerBTDiga3e5NfH6smjdJ02BbQ==} dependencies: jsonc-parser: 3.2.0 vscode-oniguruma: 1.7.0 - vscode-textmate: 6.0.0 + vscode-textmate: 8.0.0 dev: true /side-channel/1.0.4: @@ -30821,6 +31241,7 @@ packages: /simple-swizzle/0.2.2: resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + requiresBuild: true dependencies: is-arrayish: 0.3.2 @@ -31011,7 +31432,7 @@ packages: peerDependencies: solid-js: ^1.3 dependencies: - '@babel/generator': 7.20.7 + '@babel/generator': 7.20.14 '@babel/helper-module-imports': 7.18.6 '@babel/types': 7.20.7 solid-js: 1.6.6 @@ -31567,6 +31988,7 @@ packages: /strip-json-comments/2.0.1: resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} engines: {node: '>=0.10.0'} + requiresBuild: true /strip-json-comments/3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} @@ -31661,8 +32083,8 @@ packages: react: 18.2.0 dev: false - /stylehacks/5.1.0_postcss@8.4.14: - resolution: {integrity: sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q==} + /stylehacks/5.1.1_postcss@8.4.14: + resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 @@ -31672,17 +32094,6 @@ packages: postcss-selector-parser: 6.0.10 dev: true - /stylehacks/5.1.0_postcss@8.4.20: - resolution: {integrity: sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - browserslist: 4.21.4 - postcss: 8.4.20 - postcss-selector-parser: 6.0.10 - dev: true - /stylehacks/5.1.1_postcss@8.4.20: resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==} engines: {node: ^10 || ^12 || >=14.0} @@ -31692,6 +32103,17 @@ packages: browserslist: 4.21.4 postcss: 8.4.20 postcss-selector-parser: 6.0.10 + dev: true + + /stylehacks/5.1.1_postcss@8.4.21: + resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.21.4 + postcss: 8.4.21 + postcss-selector-parser: 6.0.10 /stylis/4.1.3: resolution: {integrity: sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==} @@ -32822,28 +33244,25 @@ packages: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} dev: false - /typedoc-plugin-markdown/3.14.0_p7xjg2asbi3h7h4efxnoor54kq_typedoc@0.23.22: - resolution: {integrity: sha512-UyQLkLRkfTFhLdhSf3RRpA3nNInGn+k6sll2vRXjflaMNwQAAiB61SYbisNZTg16t4K1dt1bPQMMGLrxS0GZ0Q==} + /typedoc-plugin-markdown/4.0.0-next.2_typedoc@0.23.24: + resolution: {integrity: sha512-5Uz3/Wq2syMKh1OiLxqrj7GXz0vwfxjJiyRW3QATrbpwTiRY+5v5n735+FgR5NQyLSoANGqAwMmSxpVnvFqamA==} peerDependencies: typedoc: '>=0.23.0' dependencies: - handlebars: 4.7.7 - typedoc: 0.23.22_typescript@4.9.4 + typedoc: 0.23.24 dev: true - patched: true - /typedoc/0.23.22_typescript@4.9.4: - resolution: {integrity: sha512-5sJkjK60xp8A7YpcYniu3+Wf0QcgojEnhzHuCN+CkdpQkKRhOspon/9+sGTkGI8kjVkZs3KHrhltpQyVhRMVfw==} + /typedoc/0.23.24: + resolution: {integrity: sha512-bfmy8lNQh+WrPYcJbtjQ6JEEsVl/ce1ZIXyXhyW+a1vFrjO39t6J8sL/d6FfAGrJTc7McCXgk9AanYBSNvLdIA==} engines: {node: '>= 14.14'} hasBin: true peerDependencies: typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x dependencies: lunr: 2.3.9 - marked: 4.2.4 - minimatch: 5.1.0 - shiki: 0.11.1 - typescript: 4.9.4 + marked: 4.2.12 + minimatch: 5.1.6 + shiki: 0.12.1 dev: true /typeorm-naming-strategies/4.1.0_typeorm@0.3.7: @@ -33469,7 +33888,7 @@ packages: optional: true dependencies: file-loader: 6.2.0_webpack@5.73.0 - loader-utils: 2.0.2 + loader-utils: 2.0.4 mime-types: 2.1.35 schema-utils: 3.1.1 webpack: 5.73.0 @@ -33486,7 +33905,7 @@ packages: optional: true dependencies: file-loader: 6.2.0_webpack@5.75.0 - loader-utils: 2.0.2 + loader-utils: 2.0.4 mime-types: 2.1.35 schema-utils: 3.1.1 webpack: 5.75.0 @@ -33609,8 +34028,8 @@ packages: resolution: {integrity: sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==} dev: true - /value-or-promise/1.0.11: - resolution: {integrity: sha512-41BrgH+dIbCFXClcSapVs5M6GkENd3gQOJpEfPDNa71LsUGMXDL0jMWpI/Rh7WhX+Aalfz2TTS3Zt5pUsbnhLg==} + /value-or-promise/1.0.12: + resolution: {integrity: sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q==} engines: {node: '>=12'} dev: false @@ -33787,7 +34206,7 @@ packages: optional: true dependencies: esbuild: 0.15.16 - postcss: 8.4.20 + postcss: 8.4.21 resolve: 1.22.1 rollup: 2.79.1 optionalDependencies: @@ -33975,8 +34394,8 @@ packages: resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==} dev: true - /vscode-textmate/6.0.0: - resolution: {integrity: sha512-gu73tuZfJgu+mvCSy4UZwd2JXykjK9zAZsfmDeut5dx/1a7FeTk0XwJsSuqQn+cuMCGVbIBfl+s53X4T19DnzQ==} + /vscode-textmate/8.0.0: + resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==} dev: true /vscode-uri/3.0.7: @@ -34549,10 +34968,6 @@ packages: resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} engines: {node: '>=0.10.0'} - /wordwrap/1.0.0: - resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} - dev: true - /wrap-ansi/6.2.0: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} engines: {node: '>=8'} @@ -34716,8 +35131,8 @@ packages: resolution: {integrity: sha512-xl/50/Cf32VsGq/1R8jJE5ajH1yMCQkpmoS10QbFZWl2Oor4H0Me64Pu2yxvsRWK3m6soJbmGfzSR7BYmDcWAA==} dev: true - /xstate/4.35.2: - resolution: {integrity: sha512-5X7EyJv5OHHtGQwN7DsmCAbSnDs3Mxl1cXQ4PVaLwi+7p/RRapERnd1dFyHjYin+KQoLLfuXpl1dPBThgyIGNg==} + /xstate/4.35.4: + resolution: {integrity: sha512-mqRBYHhljP1xIItI4xnSQNHEv6CKslSM1cOGmvhmxeoDPAZgNbhSUYAL5N6DZIxRfpYY+M+bSm3mUFHD63iuvg==} dev: false /xtend/4.0.2: diff --git a/turbo.json b/turbo.json index 9f7a16d3..a88874f0 100644 --- a/turbo.json +++ b/turbo.json @@ -43,6 +43,10 @@ }, "@next-auth/upstash-redis-adapter#test": { "env": ["UPSTASH_REDIS_KEY", "UPSTASH_REDIS_URL"] + }, + "docs#dev": { + "dependsOn": ["^build"], + "cache": false } } }