mirror of
https://github.com/SrIzan10/next-auth.git
synced 2026-05-01 10:55:20 +00:00
Compare commits
11 Commits
@auth/core
...
fix/issue-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
190c5044be | ||
|
|
b204710b5b | ||
|
|
533320eb94 | ||
|
|
dfe6509472 | ||
|
|
1bde7cc8df | ||
|
|
cef05d5e2d | ||
|
|
c0dea283ba | ||
|
|
0204766e0f | ||
|
|
a336ba762c | ||
|
|
681d53c2f8 | ||
|
|
06e891c0ea |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -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
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
|
||||
11
packages/adapter-firebase/src/getFirebase.ts
Normal file
11
packages/adapter-firebase/src/getFirebase.ts
Normal file
@@ -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)
|
||||
}
|
||||
}
|
||||
@@ -25,6 +25,7 @@ import type {
|
||||
} from "next-auth/adapters"
|
||||
|
||||
import { getConverter } from "./converter"
|
||||
import getFirebase from "./getFirebase"
|
||||
|
||||
export type IndexableObject = Record<string, unknown>
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
"preact-render-to-string": "5.2.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"nodemailer": "6.8.0"
|
||||
"nodemailer": "^6.8.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"nodemailer": {
|
||||
@@ -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:*",
|
||||
@@ -92,4 +93,4 @@
|
||||
"postcss": "8.4.19",
|
||||
"postcss-nested": "6.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
18
packages/core/scripts/generate-providers.js
Normal file
18
packages/core/scripts/generate-providers.js
Normal file
@@ -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)
|
||||
@@ -27,14 +27,14 @@
|
||||
* ## 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
|
||||
*/
|
||||
|
||||
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")
|
||||
|
||||
@@ -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"
|
||||
@@ -72,9 +71,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 }
|
||||
}
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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 }
|
||||
}
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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 }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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() }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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() }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -49,10 +49,6 @@ export interface CredentialsConfig<
|
||||
|
||||
export type CredentialsProviderType = "Credentials"
|
||||
|
||||
export type CredentialsConfigInternal<
|
||||
C extends Record<string, CredentialInput> = Record<string, CredentialInput>
|
||||
> = CredentialsConfig<C> & { options: CredentialsConfig<C> }
|
||||
|
||||
/**
|
||||
* 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).
|
||||
|
||||
@@ -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<string, any> {
|
||||
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<P extends DiscordProfile>(
|
||||
|
||||
@@ -65,12 +65,16 @@ export type Provider<P extends Profile = Profile> = (
|
||||
| EmailConfig
|
||||
| CredentialsConfig
|
||||
) & {
|
||||
/**
|
||||
* Used to deep merge user-provided config with the default config
|
||||
* @internal
|
||||
*/
|
||||
options: Record<string, unknown>
|
||||
}
|
||||
|
||||
export type BuiltInProviders = Record<
|
||||
OAuthProviderType,
|
||||
(options: Partial<OAuthConfig<any>>) => OAuthConfig<any>
|
||||
(config: Partial<OAuthConfig<any>>) => OAuthConfig<any>
|
||||
> &
|
||||
Record<CredentialsProviderType, typeof CredentialsProvider> &
|
||||
Record<EmailProviderType, typeof EmailProvider>
|
||||
|
||||
@@ -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"
|
||||
@@ -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
|
||||
},
|
||||
|
||||
@@ -203,7 +203,7 @@ export interface CallbacksOptions<P = Profile, A = Account> {
|
||||
* 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<P = Profile, A = Account> {
|
||||
account?: A | null
|
||||
profile?: P
|
||||
isNewUser?: boolean
|
||||
}) => Awaitable<JWT|null>
|
||||
}) => Awaitable<JWT | null>
|
||||
}
|
||||
|
||||
/** [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[]
|
||||
}
|
||||
|
||||
|
||||
@@ -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")
|
||||
|
||||
109
pnpm-lock.yaml
generated
109
pnpm-lock.yaml
generated
@@ -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
|
||||
@@ -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
|
||||
@@ -2877,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==}
|
||||
@@ -2888,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:
|
||||
@@ -2900,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:
|
||||
@@ -3623,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==}
|
||||
@@ -14044,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
|
||||
@@ -14552,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
|
||||
@@ -14946,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:
|
||||
@@ -14956,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
|
||||
|
||||
@@ -16497,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
|
||||
@@ -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
|
||||
@@ -22178,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
|
||||
@@ -30463,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
|
||||
|
||||
|
||||
@@ -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
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user