diff --git a/docs/authentication/overview.mdx b/docs/authentication/overview.mdx index 5e2b150cce..22bd60679d 100644 --- a/docs/authentication/overview.mdx +++ b/docs/authentication/overview.mdx @@ -83,12 +83,50 @@ The following options are available: | **`disableLocalStrategy`** | Advanced - disable Payload's built-in local auth strategy. Only use this property if you have replaced Payload's auth mechanisms with your own. | | **`forgotPassword`** | Customize the way that the `forgotPassword` operation functions. [More details](./email#forgot-password). | | **`lockTime`** | Set the time (in milliseconds) that a user should be locked out if they fail authentication more times than `maxLoginAttempts` allows for. | +| **`loginWithUsername`** | Ability to allow users to login with username/password. [More](/docs/authentication/overview#login-with-username) | | **`maxLoginAttempts`** | Only allow a user to attempt logging in X amount of times. Automatically locks out a user from authenticating if this limit is passed. Set to `0` to disable. | | **`strategies`** | Advanced - an array of custom authentification strategies to extend this collection's authentication with. [More details](./custom-strategies). | | **`tokenExpiration`** | How long (in seconds) to keep the user logged in. JWTs and HTTP-only cookies will both expire at the same time. | | **`useAPIKey`** | Payload Authentication provides for API keys to be set on each user within an Authentication-enabled Collection. [More details](./api-keys). | | **`verify`** | Set to `true` or pass an object with verification options to require users to verify by email before they are allowed to log into your app. [More details](./email#email-verification). | +### Login With Username + +You can allow users to login with their username instead of their email address by setting the `loginWithUsername` property to `true`. + +Example: + +```ts +{ + slug: 'customers', + auth: { + loginWithUsername: true, + }, +} +``` + +Or, you can pass an object with additional options: + +```ts +{ + slug: 'customers', + auth: { + loginWithUsername: { + allowEmailLogin: true, // default: false + requireEmail: false, // default: false + }, + }, +} +``` + +**`allowEmailLogin`** + +If set to `true`, users can log in with either their username or email address. If set to `false`, users can only log in with their username. + +**`requireEmail`** + +If set to `true`, an email address is required when creating a new user. If set to `false`, email is not required upon creation. + ## Admin Auto-Login For testing and demo purposes you may want to skip forcing the admin user to login in order to access the [Admin Panel](../admin/overview). Typically, all users should be required to login to access the Admin Panel, however, you can speed up local development time by enabling auto-login. diff --git a/packages/graphql/src/resolvers/auth/unlock.ts b/packages/graphql/src/resolvers/auth/unlock.ts index 1ac27673a2..cfc86e2145 100644 --- a/packages/graphql/src/resolvers/auth/unlock.ts +++ b/packages/graphql/src/resolvers/auth/unlock.ts @@ -8,7 +8,7 @@ function unlockResolver(collection: Collection) { async function resolver(_, args, context: Context) { const options = { collection, - data: { email: args.email }, + data: { email: args.email, username: args.username }, req: isolateObjectProperty(context.req, 'transactionID'), } diff --git a/packages/graphql/src/schema/initCollections.ts b/packages/graphql/src/schema/initCollections.ts index c682de2fe9..35296f709c 100644 --- a/packages/graphql/src/schema/initCollections.ts +++ b/packages/graphql/src/schema/initCollections.ts @@ -429,12 +429,24 @@ function initCollectionsGraphQL({ config, graphqlResult }: InitCollectionsGraphQ } if (!collectionConfig.auth.disableLocalStrategy) { + const authArgs = {} + + const canLoginWithEmail = + !collectionConfig.auth.loginWithUsername || + collectionConfig.auth.loginWithUsername?.allowEmailLogin + const canLoginWithUsername = collectionConfig.auth.loginWithUsername + + if (canLoginWithEmail) { + authArgs['email'] = { type: new GraphQLNonNull(GraphQLString) } + } + if (canLoginWithUsername) { + authArgs['username'] = { type: new GraphQLNonNull(GraphQLString) } + } + if (collectionConfig.auth.maxLoginAttempts > 0) { graphqlResult.Mutation.fields[`unlock${singularName}`] = { type: new GraphQLNonNull(GraphQLBoolean), - args: { - email: { type: new GraphQLNonNull(GraphQLString) }, - }, + args: authArgs, resolve: unlock(collection), } } @@ -455,9 +467,8 @@ function initCollectionsGraphQL({ config, graphqlResult }: InitCollectionsGraphQ }, }), args: { - email: { type: GraphQLString }, + ...authArgs, password: { type: GraphQLString }, - username: { type: GraphQLString }, }, resolve: login(collection), } @@ -466,8 +477,8 @@ function initCollectionsGraphQL({ config, graphqlResult }: InitCollectionsGraphQ type: new GraphQLNonNull(GraphQLBoolean), args: { disableEmail: { type: GraphQLBoolean }, - email: { type: new GraphQLNonNull(GraphQLString) }, expiration: { type: GraphQLInt }, + ...authArgs, }, resolve: forgotPassword(collection), } diff --git a/packages/next/src/routes/rest/auth/unlock.ts b/packages/next/src/routes/rest/auth/unlock.ts index 99b9d5d51a..a42a877d36 100644 --- a/packages/next/src/routes/rest/auth/unlock.ts +++ b/packages/next/src/routes/rest/auth/unlock.ts @@ -8,9 +8,18 @@ import { headersWithCors } from '../../../utilities/headersWithCors.js' export const unlock: CollectionRouteHandler = async ({ collection, req }) => { const { t } = req + const authData = collection.config.auth?.loginWithUsername + ? { + email: typeof req.data?.email === 'string' ? req.data.email : '', + username: typeof req.data?.username === 'string' ? req.data.username : '', + } + : { + email: typeof req.data?.email === 'string' ? req.data.email : '', + } + await unlockOperation({ collection, - data: { email: req.data.email as string }, + data: authData, req, }) diff --git a/packages/next/src/views/Edit/Default/Auth/index.tsx b/packages/next/src/views/Edit/Default/Auth/index.tsx index 70edbd3dd5..3f43a63141 100644 --- a/packages/next/src/views/Edit/Default/Auth/index.tsx +++ b/packages/next/src/views/Edit/Default/Auth/index.tsx @@ -98,14 +98,16 @@ export const Auth: React.FC = (props) => {
{!disableLocalStrategy && ( - {!loginWithUsername && ( + {(!loginWithUsername || + loginWithUsername?.allowEmailLogin || + loginWithUsername?.requireEmail) && ( )} {loginWithUsername && ( diff --git a/packages/next/src/views/Edit/Default/Auth/types.ts b/packages/next/src/views/Edit/Default/Auth/types.ts index 1e6ac9e91f..53a89c7e44 100644 --- a/packages/next/src/views/Edit/Default/Auth/types.ts +++ b/packages/next/src/views/Edit/Default/Auth/types.ts @@ -5,7 +5,7 @@ export type Props = { collectionSlug: SanitizedCollectionConfig['slug'] disableLocalStrategy?: boolean email: string - loginWithUsername: boolean + loginWithUsername: SanitizedCollectionConfig['auth']['loginWithUsername'] operation: 'create' | 'update' readOnly: boolean requirePassword?: boolean diff --git a/packages/next/src/views/Login/LoginField/index.tsx b/packages/next/src/views/Login/LoginField/index.tsx new file mode 100644 index 0000000000..c939289afa --- /dev/null +++ b/packages/next/src/views/Login/LoginField/index.tsx @@ -0,0 +1,109 @@ +'use client' +import type { PayloadRequest } from 'payload' + +import { EmailField, TextField, useConfig, useTranslation } from '@payloadcms/ui' +import { email, username } from 'payload/shared' +import React from 'react' +export type LoginFieldProps = { + type: 'email' | 'emailOrUsername' | 'username' +} +export const LoginField: React.FC = ({ type }) => { + const { t } = useTranslation() + const config = useConfig() + + if (type === 'email') { + return ( + + email(value, { + name: 'email', + type: 'email', + data: {}, + preferences: { fields: {} }, + req: { t } as PayloadRequest, + required: true, + siblingData: {}, + }) + } + /> + ) + } + + if (type === 'username') { + return ( + + username(value, { + name: 'username', + type: 'text', + data: {}, + preferences: { fields: {} }, + req: { + payload: { + config, + }, + t, + } as PayloadRequest, + required: true, + siblingData: {}, + }) + } + /> + ) + } + + if (type === 'emailOrUsername') { + return ( + { + const passesUsername = username(value, { + name: 'username', + type: 'text', + data: {}, + preferences: { fields: {} }, + req: { + payload: { + config, + }, + t, + } as PayloadRequest, + required: true, + siblingData: {}, + }) + const passesEmail = email(value, { + name: 'username', + type: 'email', + data: {}, + preferences: { fields: {} }, + req: { + payload: { + config, + }, + t, + } as PayloadRequest, + required: true, + siblingData: {}, + }) + + if (!passesEmail && !passesUsername) { + return `${t('general:email')}: ${passesEmail} ${t('general:username')}: ${passesUsername}` + } + + return true + }} + /> + ) + } + + return null +} diff --git a/packages/next/src/views/Login/LoginForm/index.tsx b/packages/next/src/views/Login/LoginForm/index.tsx index 5a7f67b21b..0673c9397f 100644 --- a/packages/next/src/views/Login/LoginForm/index.tsx +++ b/packages/next/src/views/Login/LoginForm/index.tsx @@ -8,17 +8,12 @@ const Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport. import type { FormState, PayloadRequest } from 'payload' -import { - EmailField, - Form, - FormSubmit, - PasswordField, - TextField, - useConfig, - useTranslation, -} from '@payloadcms/ui' -import { email, password, text } from 'payload/shared' +import { Form, FormSubmit, PasswordField, useConfig, useTranslation } from '@payloadcms/ui' +import { password } from 'payload/shared' +import type { LoginFieldProps } from '../LoginField/index.js' + +import { LoginField } from '../LoginField/index.js' import './index.scss' export const LoginForm: React.FC<{ @@ -36,7 +31,17 @@ export const LoginForm: React.FC<{ } = config const collectionConfig = config.collections?.find((collection) => collection?.slug === userSlug) - const loginWithUsername = collectionConfig?.auth?.loginWithUsername + const { auth: authOptions } = collectionConfig + const loginWithUsername = authOptions.loginWithUsername + const canLoginWithEmail = + !authOptions.loginWithUsername || authOptions.loginWithUsername.allowEmailLogin + const canLoginWithUsername = authOptions.loginWithUsername + + const [loginType] = React.useState(() => { + if (canLoginWithEmail && canLoginWithUsername) return 'emailOrUsername' + if (canLoginWithUsername) return 'username' + return 'email' + }) const { t } = useTranslation() @@ -75,47 +80,7 @@ export const LoginForm: React.FC<{ waitForAutocomplete >
- {loginWithUsername ? ( - - text(value, { - name: 'username', - type: 'text', - data: {}, - preferences: { fields: {} }, - req: { - payload: { - config, - }, - t, - } as PayloadRequest, - required: true, - siblingData: {}, - }) - } - /> - ) : ( - - email(value, { - name: 'email', - type: 'email', - data: {}, - preferences: { fields: {} }, - req: { t } as PayloadRequest, - required: true, - siblingData: {}, - }) - } - /> - )} + const decryptKey: FieldHook = ({ req, value }) => value ? req.payload.decrypt(value as string) : undefined -// eslint-disable-next-line no-restricted-exports -export default [ +export const apiKeyFields = [ { name: 'enableAPIKey', type: 'checkbox', diff --git a/packages/payload/src/auth/baseFields/auth.ts b/packages/payload/src/auth/baseFields/auth.ts index 2866d92a67..3ab34eef4d 100644 --- a/packages/payload/src/auth/baseFields/auth.ts +++ b/packages/payload/src/auth/baseFields/auth.ts @@ -1,6 +1,6 @@ import type { Field } from '../../fields/config/types.js' -const baseAuthFields: Field[] = [ +export const baseAuthFields: Field[] = [ { name: 'resetPasswordToken', type: 'text', @@ -22,5 +22,3 @@ const baseAuthFields: Field[] = [ hidden: true, }, ] - -export default baseAuthFields diff --git a/packages/payload/src/auth/baseFields/email.ts b/packages/payload/src/auth/baseFields/email.ts new file mode 100644 index 0000000000..6640eb6168 --- /dev/null +++ b/packages/payload/src/auth/baseFields/email.ts @@ -0,0 +1,26 @@ +import type { Field } from '../../fields/config/types.js' + +import { email } from '../../fields/validations.js' + +export const emailField = ({ required = true }: { required?: boolean }): Field => ({ + name: 'email', + type: 'email', + admin: { + components: { + Field: required ? () => null : undefined, + }, + }, + hooks: { + beforeChange: [ + ({ value }) => { + if (value) { + return value.toLowerCase().trim() + } + }, + ], + }, + label: ({ t }) => t('general:email'), + required, + unique: true, + validate: email, +}) diff --git a/packages/payload/src/auth/baseFields/loginField.ts b/packages/payload/src/auth/baseFields/loginField.ts deleted file mode 100644 index 051946a285..0000000000 --- a/packages/payload/src/auth/baseFields/loginField.ts +++ /dev/null @@ -1,38 +0,0 @@ -import type { Field } from '../../fields/config/types.js' - -import { email } from '../../fields/validations.js' - -export default (field: string): Field[] => { - const formattedFields = [ - { - name: 'email', - type: 'email', - admin: { - components: { - Field: field === 'username' ? undefined : () => null, - }, - }, - label: ({ t }) => t('general:email'), - required: true, - unique: field === 'email' ? true : false, - validate: email, - }, - ] as Field[] - - if (field === 'username') { - formattedFields.push({ - name: 'username', - type: 'text', - admin: { - components: { - Field: () => null, - }, - }, - label: ({ t }) => t('authentication:username'), - required: true, - unique: true, - } as Field) - } - - return formattedFields -} diff --git a/packages/payload/src/auth/baseFields/username.ts b/packages/payload/src/auth/baseFields/username.ts new file mode 100644 index 0000000000..198de4fe9a --- /dev/null +++ b/packages/payload/src/auth/baseFields/username.ts @@ -0,0 +1,26 @@ +import type { Field } from '../../fields/config/types.js' + +import { username } from '../../fields/validations.js' + +export const usernameField: Field = { + name: 'username', + type: 'text', + admin: { + components: { + Field: () => null, + }, + }, + hooks: { + beforeChange: [ + ({ value }) => { + if (value) { + return value.toLowerCase().trim() + } + }, + ], + }, + label: ({ t }) => t('authentication:username'), + required: true, + unique: true, + validate: username, +} diff --git a/packages/payload/src/auth/baseFields/verification.ts b/packages/payload/src/auth/baseFields/verification.ts index 7c9719849a..eae0cb1d41 100644 --- a/packages/payload/src/auth/baseFields/verification.ts +++ b/packages/payload/src/auth/baseFields/verification.ts @@ -15,7 +15,7 @@ const autoRemoveVerificationToken: FieldHook = ({ data, operation, originalDoc, return value } -export default [ +export const verificationFields: Field[] = [ { name: '_verified', type: 'checkbox', diff --git a/packages/payload/src/auth/getAuthFields.ts b/packages/payload/src/auth/getAuthFields.ts new file mode 100644 index 0000000000..e8736ac27f --- /dev/null +++ b/packages/payload/src/auth/getAuthFields.ts @@ -0,0 +1,44 @@ +import type { Field } from '../fields/config/types.js' +import type { IncomingAuthType } from './types.js' + +import { accountLockFields } from './baseFields/accountLock.js' +import { apiKeyFields } from './baseFields/apiKey.js' +import { baseAuthFields } from './baseFields/auth.js' +import { emailField } from './baseFields/email.js' +import { usernameField } from './baseFields/username.js' +import { verificationFields } from './baseFields/verification.js' + +export const getBaseAuthFields = (authConfig: IncomingAuthType): Field[] => { + const authFields: Field[] = [] + + if (authConfig.useAPIKey) { + authFields.push(...apiKeyFields) + } + + if (!authConfig.disableLocalStrategy) { + const emailFieldIndex = authFields.push(emailField({ required: true })) - 1 + + if (authConfig.loginWithUsername) { + if ( + typeof authConfig.loginWithUsername === 'object' && + authConfig.loginWithUsername.requireEmail === false + ) { + authFields[emailFieldIndex] = emailField({ required: false }) + } + + authFields.push(usernameField) + } + + authFields.push(...baseAuthFields) + + if (authConfig.verify) { + authFields.push(...verificationFields) + } + + if (authConfig.maxLoginAttempts > 0) { + authFields.push(...accountLockFields) + } + } + + return authFields +} diff --git a/packages/payload/src/auth/operations/forgotPassword.ts b/packages/payload/src/auth/operations/forgotPassword.ts index dbf98e6959..609086b6f3 100644 --- a/packages/payload/src/auth/operations/forgotPassword.ts +++ b/packages/payload/src/auth/operations/forgotPassword.ts @@ -7,7 +7,7 @@ import type { Collection, } from '../../collections/config/types.js' import type { CollectionSlug } from '../../index.js' -import type { PayloadRequest } from '../../types/index.js' +import type { PayloadRequest, Where } from '../../types/index.js' import { buildAfterOperation } from '../../collections/operations/utils.js' import { APIError } from '../../errors/index.js' @@ -30,9 +30,20 @@ export type Result = string export const forgotPasswordOperation = async ( incomingArgs: Arguments, ): Promise => { - const loginWithUsername = incomingArgs.collection?.config?.auth?.loginWithUsername + const loginWithUsername = incomingArgs.collection.config.auth.loginWithUsername + const { data } = incomingArgs - if (!incomingArgs.data.email && !incomingArgs.data.username) { + const canLoginWithUsername = Boolean(loginWithUsername) + const canLoginWithEmail = !loginWithUsername || loginWithUsername.allowEmailLogin + + const sanitizedEmail = + (canLoginWithEmail && (incomingArgs.data.email || '').toLowerCase().trim()) || null + const sanitizedUsername = + 'username' in data && typeof data?.username === 'string' + ? data.username.toLowerCase().trim() + : null + + if (!sanitizedEmail && !sanitizedUsername) { throw new APIError( `Missing ${loginWithUsername ? 'username' : 'email'}.`, httpStatus.BAD_REQUEST, @@ -85,20 +96,33 @@ export const forgotPasswordOperation = async ( resetPasswordToken?: string } - if (!data.email && !data.username) { + if (!sanitizedEmail && !sanitizedUsername) { throw new APIError( `Missing ${loginWithUsername ? 'username' : 'email'}.`, httpStatus.BAD_REQUEST, ) } + let whereConstraint: Where = {} + + if (canLoginWithEmail && sanitizedEmail) { + whereConstraint = { + email: { + equals: sanitizedEmail, + }, + } + } else if (canLoginWithUsername && sanitizedUsername) { + whereConstraint = { + username: { + equals: sanitizedUsername, + }, + } + } + let user = await payload.db.findOne({ collection: collectionConfig.slug, req, - where: - loginWithUsername && data?.username - ? { username: { equals: data.username } } - : { email: { equals: data.email.toLowerCase() } }, + where: whereConstraint, }) // We don't want to indicate specifically that an email was not found, @@ -116,7 +140,7 @@ export const forgotPasswordOperation = async ( req, }) - if (!disableEmail) { + if (!disableEmail && user.email) { const protocol = new URL(req.url).protocol // includes the final : const serverURL = config.serverURL !== null && config.serverURL !== '' @@ -149,7 +173,7 @@ export const forgotPasswordOperation = async ( from: `"${email.defaultFromName}" <${email.defaultFromAddress}>`, html, subject, - to: loginWithUsername ? user.email : data.email, + to: user.email, }) } diff --git a/packages/payload/src/auth/operations/local/unlock.ts b/packages/payload/src/auth/operations/local/unlock.ts index e75cc6208f..bfa3189fc2 100644 --- a/packages/payload/src/auth/operations/local/unlock.ts +++ b/packages/payload/src/auth/operations/local/unlock.ts @@ -1,23 +1,26 @@ -import type { CollectionSlug, Payload, RequestContext } from '../../../index.js' +import type { + AuthOperationsFromCollectionSlug, + CollectionSlug, + Payload, + RequestContext, +} from '../../../index.js' import type { PayloadRequest } from '../../../types/index.js' import { APIError } from '../../../errors/index.js' import { createLocalReq } from '../../../utilities/createLocalReq.js' import { unlockOperation } from '../unlock.js' -export type Options = { - collection: T +export type Options = { + collection: TSlug context?: RequestContext - data: { - email - } + data: AuthOperationsFromCollectionSlug['unlock'] overrideAccess: boolean req?: PayloadRequest } -async function localUnlock( +async function localUnlock( payload: Payload, - options: Options, + options: Options, ): Promise { const { collection: collectionSlug, data, overrideAccess = true } = options @@ -29,7 +32,7 @@ async function localUnlock( ) } - return unlockOperation({ + return unlockOperation({ collection, data, overrideAccess, diff --git a/packages/payload/src/auth/operations/login.ts b/packages/payload/src/auth/operations/login.ts index 00d814604e..a93919189b 100644 --- a/packages/payload/src/auth/operations/login.ts +++ b/packages/payload/src/auth/operations/login.ts @@ -6,7 +6,7 @@ import type { DataFromCollectionSlug, } from '../../collections/config/types.js' import type { CollectionSlug } from '../../index.js' -import type { PayloadRequest } from '../../types/index.js' +import type { PayloadRequest, Where } from '../../types/index.js' import type { User } from '../types.js' import { buildAfterOperation } from '../../collections/operations/utils.js' @@ -82,26 +82,47 @@ export const loginOperation = async ( // ///////////////////////////////////// let user - const loginWithUsername = collectionConfig?.auth?.loginWithUsername const { email: unsanitizedEmail, password } = data - const username = 'username' in data && data.username + const loginWithUsername = collectionConfig.auth.loginWithUsername - if (loginWithUsername && !username) { + const sanitizedEmail = + typeof unsanitizedEmail === 'string' ? unsanitizedEmail.toLowerCase().trim() : null + const sanitizedUsername = + 'username' in data && typeof data?.username === 'string' + ? data.username.toLowerCase().trim() + : null + + const canLoginWithUsername = Boolean(loginWithUsername) + const canLoginWithEmail = !loginWithUsername || loginWithUsername.allowEmailLogin + + // cannot login with email, did not provide username + if (!canLoginWithEmail && !sanitizedUsername) { throw new ValidationError({ collection: collectionConfig.slug, errors: [{ field: 'username', message: req.i18n.t('validation:required') }], }) } - if ( - !loginWithUsername && - (typeof unsanitizedEmail !== 'string' || unsanitizedEmail.trim() === '') - ) { + // cannot login with username, did not provide email + if (!canLoginWithUsername && !sanitizedEmail) { throw new ValidationError({ collection: collectionConfig.slug, errors: [{ field: 'email', message: req.i18n.t('validation:required') }], }) } + + // can login with either email or username, did not provide either + if (!sanitizedUsername && !sanitizedEmail) { + throw new ValidationError({ + collection: collectionConfig.slug, + errors: [ + { field: 'email', message: req.i18n.t('validation:required') }, + { field: 'username', message: req.i18n.t('validation:required') }, + ], + }) + } + + // did not provide password for login if (typeof password !== 'string' || password.trim() === '') { throw new ValidationError({ collection: collectionConfig.slug, @@ -109,19 +130,56 @@ export const loginOperation = async ( }) } - const email = unsanitizedEmail ? unsanitizedEmail.toLowerCase().trim() : null + let whereConstraint: Where = {} + const emailConstraint: Where = { + email: { + equals: sanitizedEmail, + }, + } + const usernameConstraint: Where = { + username: { + equals: sanitizedUsername, + }, + } + + if (canLoginWithEmail && canLoginWithUsername && (sanitizedUsername || sanitizedEmail)) { + if (sanitizedUsername) { + whereConstraint = { + or: [ + usernameConstraint, + { + email: { + equals: sanitizedUsername, + }, + }, + ], + } + } else { + whereConstraint = { + or: [ + emailConstraint, + { + username: { + equals: sanitizedEmail, + }, + }, + ], + } + } + } else if (canLoginWithEmail && sanitizedEmail) { + whereConstraint = emailConstraint + } else if (canLoginWithUsername && sanitizedUsername) { + whereConstraint = usernameConstraint + } user = await payload.db.findOne({ collection: collectionConfig.slug, req, - where: - loginWithUsername && username - ? { username: { equals: username } } - : { email: { equals: unsanitizedEmail.toLowerCase() } }, + where: whereConstraint, }) if (!user || (args.collection.config.auth.verify && user._verified === false)) { - throw new AuthenticationError(req.t, loginWithUsername) + throw new AuthenticationError(req.t, Boolean(canLoginWithUsername && sanitizedUsername)) } if (user && isLocked(user.lockUntil)) { @@ -160,7 +218,7 @@ export const loginOperation = async ( const fieldsToSign = getFieldsToSign({ collectionConfig, - email, + email: sanitizedEmail, user, }) diff --git a/packages/payload/src/auth/operations/resetPassword.ts b/packages/payload/src/auth/operations/resetPassword.ts index 3211140c00..566aaf4203 100644 --- a/packages/payload/src/auth/operations/resetPassword.ts +++ b/packages/payload/src/auth/operations/resetPassword.ts @@ -120,5 +120,3 @@ export const resetPasswordOperation = async (args: Arguments): Promise = throw error } } - -export default resetPasswordOperation diff --git a/packages/payload/src/auth/operations/unlock.ts b/packages/payload/src/auth/operations/unlock.ts index 2d4d82a5ba..96ee64b6c8 100644 --- a/packages/payload/src/auth/operations/unlock.ts +++ b/packages/payload/src/auth/operations/unlock.ts @@ -1,7 +1,11 @@ import httpStatus from 'http-status' -import type { Collection } from '../../collections/config/types.js' -import type { PayloadRequest } from '../../types/index.js' +import type { + AuthOperationsFromCollectionSlug, + Collection, +} from '../../collections/config/types.js' +import type { CollectionSlug } from '../../index.js' +import type { PayloadRequest, Where } from '../../types/index.js' import { APIError } from '../../errors/index.js' import { commitTransaction } from '../../utilities/commitTransaction.js' @@ -10,20 +14,16 @@ import { killTransaction } from '../../utilities/killTransaction.js' import executeAccess from '../executeAccess.js' import { resetLoginAttempts } from '../strategies/local/resetLoginAttempts.js' -export type Args = { +export type Arguments = { collection: Collection - data: { - email: string - } + data: AuthOperationsFromCollectionSlug['unlock'] overrideAccess?: boolean req: PayloadRequest } -export const unlockOperation = async (args: Args): Promise => { - if (!Object.prototype.hasOwnProperty.call(args.data, 'email')) { - throw new APIError('Missing email.', httpStatus.BAD_REQUEST) - } - +export const unlockOperation = async ( + args: Arguments, +): Promise => { const { collection: { config: collectionConfig }, overrideAccess, @@ -31,6 +31,25 @@ export const unlockOperation = async (args: Args): Promise => { req, } = args + const loginWithUsername = collectionConfig.auth.loginWithUsername + const canLoginWithUsername = Boolean(loginWithUsername) + const canLoginWithEmail = !loginWithUsername || loginWithUsername.allowEmailLogin + + const sanitizedEmail = canLoginWithEmail && (args.data?.email || '').toLowerCase().trim() + const sanitizedUsername = + (canLoginWithUsername && + 'username' in args.data && + typeof args.data.username === 'string' && + args.data.username.toLowerCase().trim()) || + null + + if (!sanitizedEmail && !sanitizedUsername) { + throw new APIError( + `Missing ${collectionConfig.auth.loginWithUsername ? 'username' : 'email'}.`, + httpStatus.BAD_REQUEST, + ) + } + try { const shouldCommit = await initTransaction(req) @@ -42,23 +61,31 @@ export const unlockOperation = async (args: Args): Promise => { await executeAccess({ req }, collectionConfig.access.unlock) } - const options = { ...args } - - const { data } = options - // ///////////////////////////////////// // Unlock // ///////////////////////////////////// - if (!data.email) { - throw new APIError('Missing email.', httpStatus.BAD_REQUEST) + let whereConstraint: Where = {} + + if (canLoginWithEmail && sanitizedEmail) { + whereConstraint = { + email: { + equals: sanitizedEmail, + }, + } + } else if (canLoginWithUsername && sanitizedUsername) { + whereConstraint = { + username: { + equals: sanitizedUsername, + }, + } } const user = await req.payload.db.findOne({ collection: collectionConfig.slug, locale, req, - where: { email: { equals: data.email.toLowerCase() } }, + where: whereConstraint, }) let result @@ -83,5 +110,3 @@ export const unlockOperation = async (args: Args): Promise => { throw error } } - -export default unlockOperation diff --git a/packages/payload/src/auth/types.ts b/packages/payload/src/auth/types.ts index 31b7f1eb22..43d07c5127 100644 --- a/packages/payload/src/auth/types.ts +++ b/packages/payload/src/auth/types.ts @@ -118,6 +118,11 @@ export type AuthStrategy = { name: string } +export type LoginWithUsernameOptions = { + allowEmailLogin?: boolean + requireEmail?: boolean +} + export interface IncomingAuthType { cookies?: { domain?: string @@ -131,7 +136,7 @@ export interface IncomingAuthType { generateEmailSubject?: GenerateForgotPasswordEmailSubject } lockTime?: number - loginWithUsername?: boolean + loginWithUsername?: LoginWithUsernameOptions | boolean maxLoginAttempts?: number removeTokenFromResponses?: true strategies?: AuthStrategy[] @@ -150,11 +155,13 @@ export type VerifyConfig = { generateEmailSubject?: GenerateVerifyEmailSubject } -export interface Auth extends Omit, 'forgotPassword' | 'verify'> { +export interface Auth + extends Omit, 'forgotPassword' | 'loginWithUsername' | 'verify'> { forgotPassword?: { generateEmailHTML?: GenerateForgotPasswordEmailHTML generateEmailSubject?: GenerateForgotPasswordEmailSubject } + loginWithUsername: LoginWithUsernameOptions | false verify?: VerifyConfig | boolean } diff --git a/packages/payload/src/collections/config/defaults.ts b/packages/payload/src/collections/config/defaults.ts index 33393d1043..74022d9f5b 100644 --- a/packages/payload/src/collections/config/defaults.ts +++ b/packages/payload/src/collections/config/defaults.ts @@ -1,3 +1,5 @@ +import type { LoginWithUsernameOptions } from '../../auth/types.js' + import defaultAccess from '../../auth/defaultAccess.js' export const defaults = { @@ -59,3 +61,8 @@ export const authDefaults = { tokenExpiration: 7200, verify: false, } + +export const loginWithUsernameDefaults: LoginWithUsernameOptions = { + allowEmailLogin: false, + requireEmail: false, +} diff --git a/packages/payload/src/collections/config/sanitize.ts b/packages/payload/src/collections/config/sanitize.ts index 01a97797ed..91829c4987 100644 --- a/packages/payload/src/collections/config/sanitize.ts +++ b/packages/payload/src/collections/config/sanitize.ts @@ -3,11 +3,7 @@ import merge from 'deepmerge' import type { Config, SanitizedConfig } from '../../config/types.js' import type { CollectionConfig, SanitizedCollectionConfig } from './types.js' -import baseAccountLockFields from '../../auth/baseFields/accountLock.js' -import baseAPIKeyFields from '../../auth/baseFields/apiKey.js' -import baseAuthFields from '../../auth/baseFields/auth.js' -import baseLoginField from '../../auth/baseFields/loginField.js' -import baseVerificationFields from '../../auth/baseFields/verification.js' +import { getBaseAuthFields } from '../../auth/getAuthFields.js' import { TimestampsRequired } from '../../errors/TimestampsRequired.js' import { sanitizeFields } from '../../fields/config/sanitize.js' import { fieldAffectsData } from '../../fields/config/types.js' @@ -17,7 +13,7 @@ import { formatLabels } from '../../utilities/formatLabels.js' import { isPlainObject } from '../../utilities/isPlainObject.js' import baseVersionFields from '../../versions/baseFields.js' import { versionDefaults } from '../../versions/defaults.js' -import { authDefaults, defaults } from './defaults.js' +import { authDefaults, defaults, loginWithUsernameDefaults } from './defaults.js' export const sanitizeCollection = async ( config: Config, @@ -141,27 +137,8 @@ export const sanitizeCollection = async ( isMergeableObject: isPlainObject, }) - let authFields = [] - - if (sanitized.auth.useAPIKey) { - authFields = authFields.concat(baseAPIKeyFields) - } - - if (!sanitized.auth.disableLocalStrategy) { - const loginField = sanitized.auth.loginWithUsername ? 'username' : 'email' - - authFields = authFields.concat(baseLoginField(loginField)) - - authFields = authFields.concat(baseAuthFields) - - if (sanitized.auth.verify) { - if (sanitized.auth.verify === true) sanitized.auth.verify = {} - authFields = authFields.concat(baseVerificationFields) - } - - if (sanitized.auth.maxLoginAttempts > 0) { - authFields = authFields.concat(baseAccountLockFields) - } + if (!sanitized.auth.disableLocalStrategy && sanitized.auth.verify === true) { + sanitized.auth.verify = {} } // disable duplicate for auth enabled collections by default @@ -171,7 +148,16 @@ export const sanitizeCollection = async ( sanitized.auth.strategies = [] } - sanitized.fields = mergeBaseFields(sanitized.fields, authFields) + sanitized.auth.loginWithUsername = sanitized.auth.loginWithUsername + ? merge( + loginWithUsernameDefaults, + typeof sanitized.auth.loginWithUsername === 'boolean' + ? {} + : sanitized.auth.loginWithUsername, + ) + : false + + sanitized.fields = mergeBaseFields(sanitized.fields, getBaseAuthFields(sanitized.auth)) } return sanitized as SanitizedCollectionConfig diff --git a/packages/payload/src/collections/config/schema.ts b/packages/payload/src/collections/config/schema.ts index c4780ddb84..5d18843a81 100644 --- a/packages/payload/src/collections/config/schema.ts +++ b/packages/payload/src/collections/config/schema.ts @@ -92,7 +92,13 @@ const collectionSchema = joi.object().keys({ generateEmailSubject: joi.func(), }), lockTime: joi.number(), - loginWithUsername: joi.boolean(), + loginWithUsername: joi.alternatives().try( + joi.boolean(), + joi.object().keys({ + allowEmailLogin: joi.boolean(), + requireEmail: joi.boolean(), + }), + ), maxLoginAttempts: joi.number(), removeTokenFromResponses: joi.boolean().valid(true), strategies: joi.array().items( diff --git a/packages/payload/src/collections/operations/create.ts b/packages/payload/src/collections/operations/create.ts index 16cae7825a..59002c118d 100644 --- a/packages/payload/src/collections/operations/create.ts +++ b/packages/payload/src/collections/operations/create.ts @@ -214,10 +214,6 @@ export const createOperation = async ( let doc if (collectionConfig.auth && !collectionConfig.auth.disableLocalStrategy) { - if (data.email) { - resultWithLocales.email = (data.email as string).toLowerCase() - } - if (collectionConfig.auth.verify) { resultWithLocales._verified = Boolean(resultWithLocales._verified) || false resultWithLocales._verificationToken = crypto.randomBytes(20).toString('hex') @@ -260,7 +256,7 @@ export const createOperation = async ( // Send verification email if applicable // ///////////////////////////////////// - if (collectionConfig.auth && collectionConfig.auth.verify) { + if (collectionConfig.auth && collectionConfig.auth.verify && result.email) { await sendVerificationEmail({ collection: { config: collectionConfig }, config: payload.config, diff --git a/packages/payload/src/fields/validations.ts b/packages/payload/src/fields/validations.ts index af4050f938..ea4908e303 100644 --- a/packages/payload/src/fields/validations.ts +++ b/packages/payload/src/fields/validations.ts @@ -126,6 +126,31 @@ export const email: Validate = ( return true } +export const username: Validate = ( + value, + { + req: { + payload: { config }, + t, + }, + required, + }, +) => { + let maxLength: number + + if (typeof config?.defaultMaxTextLength === 'number') maxLength = config.defaultMaxTextLength + + if (value && maxLength && value.length > maxLength) { + return t('validation:shorterThanMax', { maxLength }) + } + + if ((value && !/^[\w.-]+$/.test(value)) || (!value && required)) { + return t('validation:username') + } + + return true +} + export const textarea: Validate = ( value, { diff --git a/packages/payload/src/index.ts b/packages/payload/src/index.ts index eed26f8e02..53d58c2ac2 100644 --- a/packages/payload/src/index.ts +++ b/packages/payload/src/index.ts @@ -74,12 +74,14 @@ export interface GeneratedTypes { login: { email: string password: string - username?: string } registerFirstUser: { email: string password: string } + unlock: { + email: string + } } } collectionsUntyped: { @@ -349,7 +351,7 @@ export class BasePayload { options: UnlockOptions, ): Promise => { const { unlock } = localOperations.auth - return unlock(this, options) + return unlock(this, options) } updateGlobal = async ( diff --git a/packages/payload/src/utilities/configToJSONSchema.ts b/packages/payload/src/utilities/configToJSONSchema.ts index 7e089d6126..d101986e0d 100644 --- a/packages/payload/src/utilities/configToJSONSchema.ts +++ b/packages/payload/src/utilities/configToJSONSchema.ts @@ -3,6 +3,7 @@ import type { JSONSchema4, JSONSchema4TypeName } from 'json-schema' import pluralize from 'pluralize' const { singular } = pluralize +import type { Auth } from '../auth/types.js' import type { SanitizedCollectionConfig } from '../collections/config/types.js' import type { SanitizedConfig } from '../config/types.js' import type { Field, FieldAffectingData, Option } from '../fields/config/types.js' @@ -607,60 +608,69 @@ export function entityToJSONSchema( } } -function generateOperationJSONSchema( - config: SanitizedCollectionConfig, - operation: 'forgotPassword' | 'login' | 'registerFirstUser', -): JSONSchema4 { - const usernameLogin = config.auth?.loginWithUsername - const fieldType: JSONSchema4 = { - type: 'string', +const fieldType: JSONSchema4 = { + type: 'string', + required: false, +} +const generateAuthFieldTypes = ( + loginWithUsername: Auth['loginWithUsername'], + withPassword = false, +): JSONSchema4 => { + const passwordField = { + password: fieldType, } - let properties: JSONSchema4['properties'] = {} - switch (operation) { - case 'login': { - properties = { - password: fieldType, - [usernameLogin ? 'username' : 'email']: fieldType, + if (loginWithUsername) { + if (loginWithUsername.allowEmailLogin) { + return { + additionalProperties: false, + oneOf: [ + { + additionalProperties: false, + properties: { email: fieldType, ...(withPassword ? { password: fieldType } : {}) }, + required: ['email', ...(withPassword ? ['password'] : [])], + }, + { + additionalProperties: false, + properties: { username: fieldType, ...(withPassword ? { password: fieldType } : {}) }, + required: ['username', ...(withPassword ? ['password'] : [])], + }, + ], } - break } - case 'forgotPassword': { - properties = { - [usernameLogin ? 'username' : 'email']: fieldType, - } - break - } - case 'registerFirstUser': { - properties = { - email: fieldType, - password: fieldType, - } - if (usernameLogin) properties.username = fieldType - break + + return { + additionalProperties: false, + properties: { + username: fieldType, + ...(withPassword ? { password: fieldType } : {}), + }, + required: ['username', ...(withPassword ? ['password'] : [])], } } return { additionalProperties: false, - properties, - required: Object.keys(properties), + properties: { + email: fieldType, + ...(withPassword ? { password: fieldType } : {}), + }, + required: ['email', ...(withPassword ? ['password'] : [])], } } export function authCollectionToOperationsJSONSchema( config: SanitizedCollectionConfig, ): JSONSchema4 { - const properties = { - forgotPassword: { - ...generateOperationJSONSchema(config, 'forgotPassword'), - }, - login: { - ...generateOperationJSONSchema(config, 'login'), - }, - registerFirstUser: { - ...generateOperationJSONSchema(config, 'registerFirstUser'), - }, + const loginWithUsername = config.auth?.loginWithUsername + const generatedFields: JSONSchema4 = generateAuthFieldTypes(loginWithUsername) + const generatedFieldsWithPassword: JSONSchema4 = generateAuthFieldTypes(loginWithUsername, true) + + const properties: JSONSchema4['properties'] = { + forgotPassword: generatedFields, + login: generatedFieldsWithPassword, + registerFirstUser: generatedFieldsWithPassword, + unlock: generatedFields, } return { diff --git a/packages/translations/scripts/translateNewKeys/translateText.ts b/packages/translations/scripts/translateNewKeys/translateText.ts index 9706eff629..e53d3d31d4 100644 --- a/packages/translations/scripts/translateNewKeys/translateText.ts +++ b/packages/translations/scripts/translateNewKeys/translateText.ts @@ -30,8 +30,12 @@ export async function translateText(text: string, targetLang: string) { }) try { const data = await response.json() - console.log(' Old text:', text, 'New text:', data.choices[0].message.content.trim()) - return data.choices[0].message.content.trim() + if (data?.choices?.[0]) { + console.log(' Old text:', text, 'New text:', data.choices[0].message.content.trim()) + return data.choices[0].message.content.trim() + } else { + console.log(`Could not translate: ${text} in lang: ${targetLang}`) + } } catch (e) { console.error('Error translating:', text, 'to', targetLang, 'response', response, '. Error:', e) throw e diff --git a/packages/translations/src/clientKeys.ts b/packages/translations/src/clientKeys.ts index 18fc7c85c3..8be509da8d 100644 --- a/packages/translations/src/clientKeys.ts +++ b/packages/translations/src/clientKeys.ts @@ -21,6 +21,7 @@ export const clientTranslationKeys = createClientTranslationKeys([ 'authentication:createFirstUser', 'authentication:emailNotValid', 'authentication:usernameNotValid', + 'authentication:emailOrUsername', 'authentication:emailSent', 'authentication:emailVerified', 'authentication:enableAPIKey', @@ -230,6 +231,7 @@ export const clientTranslationKeys = createClientTranslationKeys([ 'general:true', 'general:users', 'general:user', + 'general:username', 'general:unauthorized', 'general:unsavedChangesDuplicate', 'general:untitled', @@ -281,6 +283,7 @@ export const clientTranslationKeys = createClientTranslationKeys([ 'validation:required', 'validation:requiresAtLeast', 'validation:shorterThanMax', + 'validation:username', 'version:aboutToPublishSelection', 'version:aboutToRestore', diff --git a/packages/translations/src/languages/ar.ts b/packages/translations/src/languages/ar.ts index 1fde145031..b2f16c72c9 100644 --- a/packages/translations/src/languages/ar.ts +++ b/packages/translations/src/languages/ar.ts @@ -18,6 +18,7 @@ export const arTranslations: DefaultTranslationsObject = { confirmPassword: 'تأكيد كلمة المرور', createFirstUser: 'إنشاء المستخدم الأوّل', emailNotValid: 'البريد الإلكتروني غير صالح', + emailOrUsername: 'البريد الإلكتروني أو اسم المستخدم', emailSent: 'تمّ ارسال البريد الإلكتروني', emailVerified: 'تم التحقق من البريد الإلكتروني بنجاح.', enableAPIKey: 'تفعيل مفتاح API', @@ -294,6 +295,7 @@ export const arTranslations: DefaultTranslationsObject = { updating: 'جار التحديث', uploading: 'جار الرفع', user: 'المستخدم', + username: 'اسم المستخدم', users: 'المستخدمين', value: 'القيمة', welcome: 'مرحبًا', @@ -356,6 +358,8 @@ export const arTranslations: DefaultTranslationsObject = { requiresTwoNumbers: 'هذا الحقل يتطلب رقمين.', shorterThanMax: 'يجب أن تكون هذه القيمة أقصر من الحد الأقصى للطول الذي هو {{maxLength}} أحرف.', trueOrFalse: 'يمكن أن يكون هذا الحقل مساويًا فقط للقيمتين صحيح أو خطأ.', + username: + 'يرجى إدخال اسم مستخدم صالح. يمكن أن يحتوي على أحرف، أرقام، شرطات، فواصل وشرطات سفلية.', validUploadID: 'هذا الحقل ليس معرّف تحميل صالح.', }, version: { diff --git a/packages/translations/src/languages/az.ts b/packages/translations/src/languages/az.ts index 7d11649664..01f43a8700 100644 --- a/packages/translations/src/languages/az.ts +++ b/packages/translations/src/languages/az.ts @@ -18,6 +18,7 @@ export const azTranslations: DefaultTranslationsObject = { confirmPassword: 'Şifrəni təsdiq et', createFirstUser: 'İlk istifadəçini yaradın', emailNotValid: 'Təqdim olunan e-poçt etibarlı deyil', + emailOrUsername: 'E-poçt və ya İstifadəçi adı', emailSent: 'E-poçt göndərildi', emailVerified: 'Email uğurla təsdiqləndi.', enableAPIKey: 'API açarını aktivləşdir', @@ -297,6 +298,7 @@ export const azTranslations: DefaultTranslationsObject = { updating: 'Yenilənir', uploading: 'Yüklənir', user: 'İstifadəçi', + username: 'İstifadəçi adı', users: 'İstifadəçilər', value: 'Dəyər', welcome: 'Xoş gəldiniz', @@ -361,6 +363,8 @@ export const azTranslations: DefaultTranslationsObject = { requiresTwoNumbers: 'Bu sahə iki nömrə tələb edir.', shorterThanMax: 'Bu dəyər {{maxLength}} simvoldan qısa olmalıdır.', trueOrFalse: 'Bu sahə yalnız doğru və ya yanlış ola bilər.', + username: + 'Zəhmət olmasa, etibarlı bir istifadəçi adı daxil edin. Hərflər, rəqəmlər, tire, nöqtə və alt xəttlər ola bilər.', validUploadID: 'Bu sahə doğru yükləmə ID-si deyil.', }, version: { diff --git a/packages/translations/src/languages/bg.ts b/packages/translations/src/languages/bg.ts index 9cdcec3170..273a8ba63d 100644 --- a/packages/translations/src/languages/bg.ts +++ b/packages/translations/src/languages/bg.ts @@ -18,6 +18,7 @@ export const bgTranslations: DefaultTranslationsObject = { confirmPassword: 'Потвърди парола', createFirstUser: 'Създай първи потребител', emailNotValid: 'Даденият имейл не е валиден', + emailOrUsername: 'Имейл или Потребителско име', emailSent: 'Имейлът е изпратен', emailVerified: 'Успешно потвърден имейл.', enableAPIKey: 'Активирай API ключ', @@ -295,6 +296,7 @@ export const bgTranslations: DefaultTranslationsObject = { updating: 'Обновява се', uploading: 'Качва се', user: 'Потребител', + username: 'Потребителско име', users: 'Потребители', value: 'Стойност', welcome: 'Добре дошъл', @@ -361,6 +363,8 @@ export const bgTranslations: DefaultTranslationsObject = { shorterThanMax: 'Тази стойност трябва да е по-малка от максималната стойност от {{maxLength}} символа.', trueOrFalse: 'Това поле може да бъде само "true" или "false".', + username: + 'Моля, въведете валидно потребителско име. Може да съдържа букви, цифри, тирета, точки и долни черти.', validUploadID: 'Това поле не е валиден идентификатор на качването.', }, version: { diff --git a/packages/translations/src/languages/cs.ts b/packages/translations/src/languages/cs.ts index ad8bedbb62..0e75e3802b 100644 --- a/packages/translations/src/languages/cs.ts +++ b/packages/translations/src/languages/cs.ts @@ -18,6 +18,7 @@ export const csTranslations: DefaultTranslationsObject = { confirmPassword: 'Potvrdit heslo', createFirstUser: 'Vytvořit prvního uživatele', emailNotValid: 'Zadaný email není platný', + emailOrUsername: 'E-mail nebo Uživatelské jméno', emailSent: 'Email odeslán', emailVerified: 'E-mail úspěšně ověřen.', enableAPIKey: 'Povolit API klíč', @@ -295,6 +296,7 @@ export const csTranslations: DefaultTranslationsObject = { updating: 'Aktualizace', uploading: 'Nahrávání', user: 'Uživatel', + username: 'Uživatelské jméno', users: 'Uživatelé', value: 'Hodnota', welcome: 'Vítejte', @@ -359,6 +361,8 @@ export const csTranslations: DefaultTranslationsObject = { requiresTwoNumbers: 'Toto pole vyžaduje dvě čísla.', shorterThanMax: 'Tato hodnota musí být kratší než maximální délka {{maxLength}} znaků.', trueOrFalse: 'Toto pole může být rovno pouze true nebo false.', + username: + 'Prosím, zadejte platné uživatelské jméno. Může obsahovat písmena, čísla, pomlčky, tečky a podtržítka.', validUploadID: 'Toto pole není platné ID pro odeslání.', }, version: { diff --git a/packages/translations/src/languages/de.ts b/packages/translations/src/languages/de.ts index 432d532cc1..7df7ef0651 100644 --- a/packages/translations/src/languages/de.ts +++ b/packages/translations/src/languages/de.ts @@ -18,6 +18,7 @@ export const deTranslations: DefaultTranslationsObject = { confirmPassword: 'Passwort bestätigen', createFirstUser: 'Ersten Benutzer erstellen', emailNotValid: 'Die angegebene E-Mail-Adresse ist ungültig', + emailOrUsername: 'E-Mail oder Benutzername', emailSent: 'E-Mail verschickt', emailVerified: 'E-Mail erfolgreich verifiziert.', enableAPIKey: 'API-Key aktivieren', @@ -301,6 +302,7 @@ export const deTranslations: DefaultTranslationsObject = { updating: 'Aktualisierung', uploading: 'Hochladen', user: 'Benutzer', + username: 'Benutzername', users: 'Benutzer', value: 'Wert', welcome: 'Willkommen', @@ -365,6 +367,8 @@ export const deTranslations: DefaultTranslationsObject = { requiresTwoNumbers: 'Dieses Feld muss zwei Nummern enthalten.', shorterThanMax: 'Dieser Wert muss kürzer als die maximale Länge von {{maxLength}} sein.', trueOrFalse: 'Dieses Feld kann nur wahr oder falsch sein.', + username: + 'Bitte geben Sie einen gültigen Benutzernamen ein. Dieser kann Buchstaben, Zahlen, Bindestriche, Punkte und Unterstriche enthalten.', validUploadID: "'Dieses Feld enthält keine valide Upload-ID.'", }, version: { diff --git a/packages/translations/src/languages/en.ts b/packages/translations/src/languages/en.ts index 2fbac0fc55..e6e511d400 100644 --- a/packages/translations/src/languages/en.ts +++ b/packages/translations/src/languages/en.ts @@ -18,6 +18,7 @@ export const enTranslations = { confirmPassword: 'Confirm Password', createFirstUser: 'Create first user', emailNotValid: 'The email provided is not valid', + emailOrUsername: 'Email or Username', emailSent: 'Email Sent', emailVerified: 'Email verified successfully.', enableAPIKey: 'Enable API Key', @@ -298,6 +299,7 @@ export const enTranslations = { updating: 'Updating', uploading: 'Uploading', user: 'User', + username: 'Username', users: 'Users', value: 'Value', welcome: 'Welcome', @@ -362,6 +364,8 @@ export const enTranslations = { requiresTwoNumbers: 'This field requires two numbers.', shorterThanMax: 'This value must be shorter than the max length of {{maxLength}} characters.', trueOrFalse: 'This field can only be equal to true or false.', + username: + 'Please enter a valid username. Can contain letters, numbers, hyphens, periods and underscores.', validUploadID: 'This field is not a valid upload ID.', }, version: { diff --git a/packages/translations/src/languages/es.ts b/packages/translations/src/languages/es.ts index 30f2968d97..6569260137 100644 --- a/packages/translations/src/languages/es.ts +++ b/packages/translations/src/languages/es.ts @@ -18,6 +18,7 @@ export const esTranslations: DefaultTranslationsObject = { confirmPassword: 'Confirmar Contraseña', createFirstUser: 'Crear al primer usuario', emailNotValid: 'El correo proporcionado es inválido', + emailOrUsername: 'Correo electrónico o nombre de usuario', emailSent: 'Correo Enviado', emailVerified: 'Correo electrónico verificado con éxito.', enableAPIKey: 'Habilitar Clave API', @@ -300,6 +301,7 @@ export const esTranslations: DefaultTranslationsObject = { updating: 'Actualizando', uploading: 'Subiendo', user: 'Usuario', + username: 'Nombre de usuario', users: 'Usuarios', value: 'Valor', welcome: 'Bienvenido', @@ -364,6 +366,8 @@ export const esTranslations: DefaultTranslationsObject = { requiresTwoNumbers: 'Este campo requiere dos números.', shorterThanMax: 'Este dato debe ser más corto que el máximo de {{maxLength}} caracteres.', trueOrFalse: 'Este campo solamente puede ser verdadero o falso.', + username: + 'Por favor, introduzca un nombre de usuario válido. Puede contener letras, números, guiones, puntos y guiones bajos.', validUploadID: "'Este campo no es una ID de subida válida.'", }, version: { diff --git a/packages/translations/src/languages/fa.ts b/packages/translations/src/languages/fa.ts index 6484ffa3ef..17add8b491 100644 --- a/packages/translations/src/languages/fa.ts +++ b/packages/translations/src/languages/fa.ts @@ -18,6 +18,7 @@ export const faTranslations: DefaultTranslationsObject = { confirmPassword: 'تأیید گذرواژه', createFirstUser: 'ایجاد کاربر نخست', emailNotValid: 'رایانامه ارائه‌شده درست نیست', + emailOrUsername: 'ایمیل یا نام کاربری', emailSent: 'رایانامه فرستاده شد', emailVerified: 'ایمیل با موفقیت تایید شد.', enableAPIKey: 'فعال‌سازی کلید اِی‌پی‌آی', @@ -295,6 +296,7 @@ export const faTranslations: DefaultTranslationsObject = { updating: 'در حال به‌روزرسانی', uploading: 'در حال بارگذاری', user: 'کاربر', + username: 'نام کاربری', users: 'کاربران', value: 'مقدار', welcome: 'خوش‌آمدید', @@ -359,6 +361,8 @@ export const faTranslations: DefaultTranslationsObject = { requiresTwoNumbers: 'این کادر به دو عدد نیاز دارد.', shorterThanMax: 'ورودی باید کمتر از {{maxLength}} واژه باشد.', trueOrFalse: 'این کادر فقط می تواند به صورت true یا false باشد.', + username: + 'لطفاً یک نام کاربری معتبر وارد کنید. می تواند شامل حروف، اعداد، خط فاصله، نقاط و خط زیر باشد.', validUploadID: 'این فیلد یک شناسه بارگذاری معتبر نیست.', }, version: { diff --git a/packages/translations/src/languages/fr.ts b/packages/translations/src/languages/fr.ts index 3f37c9f3b5..392c93544e 100644 --- a/packages/translations/src/languages/fr.ts +++ b/packages/translations/src/languages/fr.ts @@ -18,6 +18,7 @@ export const frTranslations: DefaultTranslationsObject = { confirmPassword: 'Confirmez le mot de passe', createFirstUser: 'Créer le premier utilisateur', emailNotValid: 'L’adresse e-mail fournie n’est pas valide', + emailOrUsername: "Email ou Nom d'utilisateur", emailSent: 'E-mail envoyé', emailVerified: 'E-mail vérifié avec succès.', enableAPIKey: 'Activer la clé API', @@ -304,6 +305,7 @@ export const frTranslations: DefaultTranslationsObject = { updating: 'Mise à jour', uploading: 'Téléchargement', user: 'Utilisateur', + username: "Nom d'utilisateur", users: 'Utilisateurs', value: 'Valeur', welcome: 'Bienvenue', @@ -370,6 +372,8 @@ export const frTranslations: DefaultTranslationsObject = { shorterThanMax: 'Cette valeur doit être inférieure à la longueur maximale de {{maxLength}} caractères.', trueOrFalse: 'Ce champ ne peut être égal qu’à vrai ou faux.', + username: + "Veuillez entrer un nom d'utilisateur valide. Il peut contenir des lettres, des chiffres, des tirets, des points et des tirets bas.", validUploadID: 'Ce champ n’est pas un valide identifiant de fichier.', }, version: { diff --git a/packages/translations/src/languages/he.ts b/packages/translations/src/languages/he.ts index 3e266406dc..26a0ab2b75 100644 --- a/packages/translations/src/languages/he.ts +++ b/packages/translations/src/languages/he.ts @@ -17,6 +17,7 @@ export const heTranslations: DefaultTranslationsObject = { confirmPassword: 'אישור סיסמה', createFirstUser: 'יצירת משתמש ראשון', emailNotValid: 'הדוא"ל שסופק אינו תקין', + emailOrUsername: 'דוא"ל או שם משתמש', emailSent: 'הודעת דואר נשלחה', emailVerified: 'דוא"ל אומת בהצלחה.', enableAPIKey: 'הפעלת מפתח API', @@ -290,6 +291,7 @@ export const heTranslations: DefaultTranslationsObject = { updating: 'מעדכן', uploading: 'מעלה', user: 'משתמש', + username: 'שם משתמש', users: 'משתמשים', value: 'ערך', welcome: 'ברוך הבא', @@ -352,6 +354,7 @@ export const heTranslations: DefaultTranslationsObject = { requiresTwoNumbers: 'שדה זה דורש שני מספרים.', shorterThanMax: 'ערך זה חייב להיות קצר מ-{{maxLength}} תווים.', trueOrFalse: 'שדה זה יכול להיות רק true או false.', + username: 'אנא הזן שם משתמש חוקי. יכול להכיל אותיות, מספרים, מקפים, נקודות וקווים תחתונים.', validUploadID: 'שדה זה אינו מזהה העלאה תקני.', }, version: { diff --git a/packages/translations/src/languages/hr.ts b/packages/translations/src/languages/hr.ts index 5538653fbb..e2ac7e60b3 100644 --- a/packages/translations/src/languages/hr.ts +++ b/packages/translations/src/languages/hr.ts @@ -18,6 +18,7 @@ export const hrTranslations: DefaultTranslationsObject = { confirmPassword: 'Potvrdi lozinku', createFirstUser: 'Kreiraj prvog korisnika', emailNotValid: 'Email nije ispravan', + emailOrUsername: 'E-mail ili Korisničko ime', emailSent: 'Email poslan', emailVerified: 'Email uspješno provjeren.', enableAPIKey: 'Omogući API ključ', @@ -296,6 +297,7 @@ export const hrTranslations: DefaultTranslationsObject = { updating: 'Ažuriranje', uploading: 'Prijenos', user: 'Korisnik', + username: 'Korisničko ime', users: 'Korisnici', value: 'Attribute', welcome: 'Dobrodošli', @@ -360,6 +362,8 @@ export const hrTranslations: DefaultTranslationsObject = { requiresTwoNumbers: 'Ovo polje zahtjeva dva broja.', shorterThanMax: 'Ova vrijednost mora biti kraća od maksimalne dužine od {{maxLength}} znakova', trueOrFalse: 'Ovo polje može biti samo točno ili netočno', + username: + 'Unesite važeće korisničko ime. Može sadržavati slova, brojeve, crtice, točke i donje crte.', validUploadID: 'Ovo polje nije valjani ID prijenosa.', }, version: { diff --git a/packages/translations/src/languages/hu.ts b/packages/translations/src/languages/hu.ts index 1870db29e7..5b122a3c95 100644 --- a/packages/translations/src/languages/hu.ts +++ b/packages/translations/src/languages/hu.ts @@ -18,6 +18,7 @@ export const huTranslations: DefaultTranslationsObject = { confirmPassword: 'Jelszó megerősítése', createFirstUser: 'Első felhasználó létrehozása', emailNotValid: 'A megadott e-mail cím érvénytelen', + emailOrUsername: 'E-mail vagy Felhasználónév', emailSent: 'E-mail elküldve', emailVerified: 'Az email sikeresen megerősítve.', enableAPIKey: 'API-kulcs engedélyezése', @@ -298,6 +299,7 @@ export const huTranslations: DefaultTranslationsObject = { updating: 'Frissítés', uploading: 'Feltöltés', user: 'Felhasználó', + username: 'Felhasználónév', users: 'Felhasználók', value: 'Érték', welcome: 'Üdvözöljük', @@ -364,6 +366,8 @@ export const huTranslations: DefaultTranslationsObject = { shorterThanMax: 'Ennek az értéknek rövidebbnek kell lennie, mint a maximálisan megengedett {{maxLength}} karakter.', trueOrFalse: 'Ez a mező csak igaz vagy hamis lehet.', + username: + 'Adjon meg egy érvényes felhasználónevet. Tartalmazhat betűket, számokat, kötőjeleket, pontokat és aláhúzásokat.', validUploadID: 'Ez a mező nem érvényes feltöltési azonosító.', }, version: { diff --git a/packages/translations/src/languages/it.ts b/packages/translations/src/languages/it.ts index b7b88b656a..a31ccf6983 100644 --- a/packages/translations/src/languages/it.ts +++ b/packages/translations/src/languages/it.ts @@ -18,6 +18,7 @@ export const itTranslations: DefaultTranslationsObject = { confirmPassword: 'Conferma Password', createFirstUser: 'Crea il primo utente', emailNotValid: "L'email fornita non è valida", + emailOrUsername: 'Email o Nome utente', emailSent: 'Email Inviata', emailVerified: 'Email verificata con successo.', enableAPIKey: 'Abilita la Chiave API', @@ -298,6 +299,7 @@ export const itTranslations: DefaultTranslationsObject = { updating: 'Aggiornamento', uploading: 'Caricamento', user: 'Utente', + username: 'Nome utente', users: 'Utenti', value: 'Valore', welcome: 'Benvenuto', @@ -364,6 +366,8 @@ export const itTranslations: DefaultTranslationsObject = { shorterThanMax: 'Questo valore deve essere inferiore alla lunghezza massima di {{maxLength}} caratteri.', trueOrFalse: "Questo campo può essere solo uguale a 'true' o 'false'.", + username: + 'Inserisci un nome utente valido. Può contenere lettere, numeri, trattini, punti e underscore.', validUploadID: "'Questo campo non è un ID di Upload valido.'", }, version: { diff --git a/packages/translations/src/languages/ja.ts b/packages/translations/src/languages/ja.ts index 718afe99ef..73cbc65e39 100644 --- a/packages/translations/src/languages/ja.ts +++ b/packages/translations/src/languages/ja.ts @@ -18,6 +18,7 @@ export const jaTranslations: DefaultTranslationsObject = { confirmPassword: 'パスワードの確認', createFirstUser: '最初のユーザーを作成', emailNotValid: '入力されたメールアドレスは無効です。', + emailOrUsername: 'メールまたはユーザー名', emailSent: 'Emailが送信されました。', emailVerified: 'メールが正常に確認されました。', enableAPIKey: 'API Keyを許可', @@ -296,6 +297,7 @@ export const jaTranslations: DefaultTranslationsObject = { updating: '更新中', uploading: 'アップロード中', user: 'ユーザー', + username: 'ユーザーネーム', users: 'ユーザー', value: '値', welcome: 'ようこそ', @@ -359,6 +361,8 @@ export const jaTranslations: DefaultTranslationsObject = { requiresTwoNumbers: '2つの数値が必要です。', shorterThanMax: '{{maxLength}} 文字以下にする必要があります。', trueOrFalse: '"true" または "false" の値にする必要があります。', + username: + '有効なユーザーネームを入力してください。文字、数字、ハイフン、ピリオド、アンダースコアを使用できます。', validUploadID: '有効なアップロードIDではありません。', }, version: { diff --git a/packages/translations/src/languages/ko.ts b/packages/translations/src/languages/ko.ts index 697a98f91a..6e2fd2eadd 100644 --- a/packages/translations/src/languages/ko.ts +++ b/packages/translations/src/languages/ko.ts @@ -18,6 +18,7 @@ export const koTranslations: DefaultTranslationsObject = { confirmPassword: '비밀번호 확인', createFirstUser: '첫 번째 사용자 생성', emailNotValid: '입력한 이메일은 유효하지 않습니다.', + emailOrUsername: '이메일 또는 사용자 이름', emailSent: '이메일 전송됨', emailVerified: '이메일이 성공적으로 인증되었습니다.', enableAPIKey: 'API 키 활성화', @@ -295,6 +296,7 @@ export const koTranslations: DefaultTranslationsObject = { updating: '업데이트 중', uploading: '업로드 중', user: '사용자', + username: '사용자 이름', users: '사용자', value: '값', welcome: '환영합니다', @@ -358,6 +360,8 @@ export const koTranslations: DefaultTranslationsObject = { requiresTwoNumbers: '이 입력란은 두 개의 숫자가 필요합니다.', shorterThanMax: '이 값은 최대 길이인 {{maxLength}}자보다 짧아야 합니다.', trueOrFalse: '이 입력란은 true 또는 false만 가능합니다.', + username: + '유효한 사용자 이름을 입력해 주세요. 글자, 숫자, 하이픈, 마침표, 및 밑줄을 사용할 수 있습니다.', validUploadID: '이 입력란은 유효한 업로드 ID가 아닙니다.', }, version: { diff --git a/packages/translations/src/languages/my.ts b/packages/translations/src/languages/my.ts index 850256fb89..073d6d5784 100644 --- a/packages/translations/src/languages/my.ts +++ b/packages/translations/src/languages/my.ts @@ -18,6 +18,7 @@ export const myTranslations: DefaultTranslationsObject = { confirmPassword: 'စကားဝှက်အား ထပ်မံ ရိုက်ထည့်ပါ။', createFirstUser: 'ပထမဆုံး အသုံးပြုသူကို ဖန်တီးပါ။', emailNotValid: 'ထည့်သွင်းထားသော အီးမေလ်မှာ မှားယွင်းနေပါသည်။', + emailOrUsername: 'E-mel atau Nama Pengguna', emailSent: 'မေးလ် ပို့ထားပါသည်။', emailVerified: 'အီးမေးလ်အတည်ပြုခဲ့ပါပြီ။', enableAPIKey: 'API Key ကိုဖွင့်ရန်', @@ -299,6 +300,7 @@ export const myTranslations: DefaultTranslationsObject = { updating: 'ပြင်ဆင်ရန်', uploading: 'တင်ပေးနေသည်', user: 'အသုံးပြုသူ', + username: 'Nama pengguna', users: 'အသုံးပြုသူများ', value: 'တန်ဖိုး', welcome: 'ကြိုဆိုပါတယ်။', @@ -366,6 +368,8 @@ export const myTranslations: DefaultTranslationsObject = { requiresTwoNumbers: 'ဤအကွက်သည် နံပါတ်နှစ်ခု လိုအပ်ပါသည်။', shorterThanMax: 'ဤတန်ဖိုးသည် စာလုံး {{maxLength}} လုံး၏ အမြင့်ဆုံးအရှည်ထက် ပိုတိုရပါမည်။', trueOrFalse: 'ဤအကွက်သည် တစ်ခုခုဖြစ်ရပါမည်။', + username: + 'Sila masukkan nama pengguna yang sah. Boleh mengandungi huruf, nombor, tanda hubung, titik dan garis bawah.', validUploadID: "'ဤအကွက်သည် မှန်ကန်သော အပ်လုဒ် ID မဟုတ်ပါ။'", }, version: { diff --git a/packages/translations/src/languages/nb.ts b/packages/translations/src/languages/nb.ts index 2b301467bb..180dc678e9 100644 --- a/packages/translations/src/languages/nb.ts +++ b/packages/translations/src/languages/nb.ts @@ -18,6 +18,7 @@ export const nbTranslations: DefaultTranslationsObject = { confirmPassword: 'Bekreft passord', createFirstUser: 'Opprett første bruker', emailNotValid: 'E-posten er ikke gyldig', + emailOrUsername: 'E-post eller brukernavn', emailSent: 'E-post sendt', emailVerified: 'E-post bekreftet med hell.', enableAPIKey: 'Aktiver API-nøkkel', @@ -296,6 +297,7 @@ export const nbTranslations: DefaultTranslationsObject = { updating: 'Oppdatering', uploading: 'Opplasting', user: 'Bruker', + username: 'Brukernavn', users: 'Brukere', value: 'Verdi', welcome: 'Velkommen', @@ -360,6 +362,8 @@ export const nbTranslations: DefaultTranslationsObject = { requiresTwoNumbers: 'Dette feltet krever to tall.', shorterThanMax: 'Denne verdien må være kortere enn maksimal lengde på {{maxLength}} tegn.', trueOrFalse: 'Dette feltet kan bare være likt true eller false.', + username: + 'Vennligst oppgi et gyldig brukernavn. Kan inneholde bokstaver, nummer, bindestreker, punktum og understrek.', validUploadID: 'Dette feltet er ikke en gyldig opplastings-ID.', }, version: { diff --git a/packages/translations/src/languages/nl.ts b/packages/translations/src/languages/nl.ts index e4a976b9a7..6d5491ed4e 100644 --- a/packages/translations/src/languages/nl.ts +++ b/packages/translations/src/languages/nl.ts @@ -18,6 +18,7 @@ export const nlTranslations: DefaultTranslationsObject = { confirmPassword: 'Wachtwoord bevestigen', createFirstUser: 'Eerste gebruiker aanmaken', emailNotValid: 'Het ingevoerde e-mailadres is niet geldig', + emailOrUsername: 'E-mail of Gebruikersnaam', emailSent: 'E-mail verzonden', emailVerified: 'E-mail succesvol geverifieerd.', enableAPIKey: 'Activeer API-sleutel', @@ -298,6 +299,7 @@ export const nlTranslations: DefaultTranslationsObject = { updating: 'Bijwerken', uploading: 'Uploaden', user: 'Gebruiker', + username: 'Gebruikersnaam', users: 'Gebruikers', value: 'Waarde', welcome: 'Welkom', @@ -362,6 +364,8 @@ export const nlTranslations: DefaultTranslationsObject = { requiresTwoNumbers: 'Dit veld vereist twee nummers.', shorterThanMax: 'Dit veld moet korter zijn dan de maximale lengte van {{maxLength}} tekens.', trueOrFalse: 'Dit veld kan alleen waar of onwaar zijn.', + username: + 'Voer een geldige gebruikersnaam in. Kan letters, cijfers, koppeltekens, punten en underscores bevatten.', validUploadID: 'Dit veld is geen geldige upload-ID.', }, version: { diff --git a/packages/translations/src/languages/pl.ts b/packages/translations/src/languages/pl.ts index 5d7dc230a2..2eef494235 100644 --- a/packages/translations/src/languages/pl.ts +++ b/packages/translations/src/languages/pl.ts @@ -18,6 +18,7 @@ export const plTranslations: DefaultTranslationsObject = { confirmPassword: 'Potwierdź hasło', createFirstUser: 'Utwórz pierwszego użytkownika', emailNotValid: 'Podany email jest nieprawidłowy', + emailOrUsername: 'Email lub Nazwa użytkownika', emailSent: 'Wysłano email', emailVerified: 'Email zweryfikowany pomyślnie.', enableAPIKey: 'Aktywuj klucz API', @@ -296,6 +297,7 @@ export const plTranslations: DefaultTranslationsObject = { updating: 'Aktualizacja', uploading: 'Przesyłanie', user: 'użytkownik', + username: 'Nazwa użytkownika', users: 'użytkownicy', value: 'Wartość', welcome: 'Witaj', @@ -360,6 +362,8 @@ export const plTranslations: DefaultTranslationsObject = { requiresTwoNumbers: 'To pole wymaga dwóch liczb.', shorterThanMax: 'Ta wartość musi być krótsza niż maksymalna długość znaków: {{maxLength}}.', trueOrFalse: "To pole może mieć wartość tylko 'true' lub 'false'.", + username: + 'Proszę wprowadzić prawidłową nazwę użytkownika. Może zawierać litery, cyfry, myślniki, kropki i podkreślniki.', validUploadID: 'To pole nie jest prawidłowym identyfikatorem przesyłania.', }, version: { diff --git a/packages/translations/src/languages/pt.ts b/packages/translations/src/languages/pt.ts index a2485251b4..3626852854 100644 --- a/packages/translations/src/languages/pt.ts +++ b/packages/translations/src/languages/pt.ts @@ -18,6 +18,7 @@ export const ptTranslations: DefaultTranslationsObject = { confirmPassword: 'Confirmar Senha', createFirstUser: 'Criar primeiro usuário', emailNotValid: 'O email fornecido não é válido', + emailOrUsername: 'Email ou Nome de Usuário', emailSent: 'Email Enviado', emailVerified: 'Email verificado com sucesso.', enableAPIKey: 'Habilitar Chave API', @@ -297,6 +298,7 @@ export const ptTranslations: DefaultTranslationsObject = { updating: 'Atualizando', uploading: 'Fazendo upload', user: 'usuário', + username: 'Nome de usuário', users: 'usuários', value: 'Valor', welcome: 'Boas vindas', @@ -361,6 +363,8 @@ export const ptTranslations: DefaultTranslationsObject = { requiresTwoNumbers: 'Esse campo requer dois números.', shorterThanMax: 'Esse valor deve ser menor do que o máximo de {{maxLength}} caracteres.', trueOrFalse: 'Esse campo pode ser apenas verdadeiro (true) ou falso (false)', + username: + 'Por favor, insira um nome de usuário válido. Pode conter letras, números, hifens, pontos e sublinhados.', validUploadID: "'Esse campo não é um ID de upload válido.'", }, version: { diff --git a/packages/translations/src/languages/ro.ts b/packages/translations/src/languages/ro.ts index a95859fb6a..1488748e5b 100644 --- a/packages/translations/src/languages/ro.ts +++ b/packages/translations/src/languages/ro.ts @@ -18,6 +18,7 @@ export const roTranslations: DefaultTranslationsObject = { confirmPassword: 'Confirmați parola', createFirstUser: 'Creați primul utilizator', emailNotValid: 'Emailul furnizat nu este valid', + emailOrUsername: 'Email sau Nume de utilizator', emailSent: 'Email trimis', emailVerified: 'E-mail verificat cu succes.', enableAPIKey: 'Activați cheia API', @@ -300,6 +301,7 @@ export const roTranslations: DefaultTranslationsObject = { updating: 'Actualizare', uploading: 'Încărcare', user: 'Utilizator', + username: 'Nume de utilizator', users: 'Utilizatori', value: 'Valoare', welcome: 'Bine ați venit', @@ -368,6 +370,8 @@ export const roTranslations: DefaultTranslationsObject = { shorterThanMax: 'Această valoare trebuie să fie mai scurtă decât lungimea maximă de {{maxLength}} caractere.', trueOrFalse: 'Acest câmp poate fi doar egal cu true sau false.', + username: + 'Vă rugăm să introduceți un nume de utilizator valid. Poate conține litere, numere, cratime, puncte și sublinieri.', validUploadID: 'Acest câmp nu este un ID de încărcare valid.', }, version: { diff --git a/packages/translations/src/languages/rs.ts b/packages/translations/src/languages/rs.ts index 68f12da71b..27e6154d89 100644 --- a/packages/translations/src/languages/rs.ts +++ b/packages/translations/src/languages/rs.ts @@ -17,6 +17,7 @@ export const rsTranslations: DefaultTranslationsObject = { confirmPassword: 'Потврди лозинку', createFirstUser: 'Креирај првог корисника', emailNotValid: 'Адреса е-поште није валидна', + emailOrUsername: 'Email ili Korisničko ime', emailSent: 'Порука е-поште прослеђена', emailVerified: 'Uspešno verifikovan email.', enableAPIKey: 'Омогући API кључ', @@ -295,6 +296,7 @@ export const rsTranslations: DefaultTranslationsObject = { updating: 'Ажурирање', uploading: 'Пренос', user: 'Корисник', + username: 'Korisničko ime', users: 'Корисници', value: 'Вредност', welcome: 'Добродошли', @@ -359,6 +361,8 @@ export const rsTranslations: DefaultTranslationsObject = { requiresTwoNumbers: 'Ово поље захтева два броја.', shorterThanMax: 'Ова вредност мора бити краћа од максималне дужине од {{maxLength}} карактера', trueOrFalse: 'Ово поље може бити само тачно или нетачно', + username: + 'Molimo unesite važeće korisničko ime. Može sadržati slova, brojeve, crtice, tačke i donje crte.', validUploadID: 'Ово поље не садржи валидан ИД преноса.', }, version: { diff --git a/packages/translations/src/languages/rsLatin.ts b/packages/translations/src/languages/rsLatin.ts index df5e16c680..e2ea290e38 100644 --- a/packages/translations/src/languages/rsLatin.ts +++ b/packages/translations/src/languages/rsLatin.ts @@ -17,6 +17,7 @@ export const rsLatinTranslations: DefaultTranslationsObject = { confirmPassword: 'Potvrdi lozinku', createFirstUser: 'Kreiraj prvog korisnika', emailNotValid: 'Adresa e-pošte nije validna', + emailOrUsername: 'Email ili Korisničko ime', emailSent: 'Poruka e-pošte prosleđena', emailVerified: 'E-pošta je uspešno verifikovana.', enableAPIKey: 'Omogući API ključ', @@ -295,6 +296,7 @@ export const rsLatinTranslations: DefaultTranslationsObject = { updating: 'Ažuriranje', uploading: 'Prenos', user: 'Korisnik', + username: 'Korisničko ime', users: 'Korisnici', value: 'Vrednost', welcome: 'Dobrodošli', @@ -359,6 +361,8 @@ export const rsLatinTranslations: DefaultTranslationsObject = { requiresTwoNumbers: 'Ovo polje zahteva dva broja.', shorterThanMax: 'Ova vrednost mora biti kraća od maksimalne dužine od {{maxLength}} karaktera', trueOrFalse: 'Ovo polje može biti samo tačno ili netačno', + username: + 'Molimo unesite važeće korisničko ime. Može sadržavati slova, brojeve, crtice, tačke i donje crte.', validUploadID: 'Ovo polje ne sadrži validan ID prenosa.', }, version: { diff --git a/packages/translations/src/languages/ru.ts b/packages/translations/src/languages/ru.ts index 9b2f39f036..535c05ccba 100644 --- a/packages/translations/src/languages/ru.ts +++ b/packages/translations/src/languages/ru.ts @@ -18,6 +18,7 @@ export const ruTranslations: DefaultTranslationsObject = { confirmPassword: 'Подтверждение пароля', createFirstUser: 'Создание первого пользователя', emailNotValid: 'Указанный адрес электронной почты неверен', + emailOrUsername: 'Электронная почта или Имя пользователя', emailSent: 'Email отправлен', emailVerified: 'Электронная почта успешно подтверждена.', enableAPIKey: 'Активировать API ключ', @@ -299,6 +300,7 @@ export const ruTranslations: DefaultTranslationsObject = { updating: 'Обновление', uploading: 'Загрузка', user: 'пользователь', + username: 'Имя пользователя', users: 'пользователи', value: 'Значение', welcome: 'Добро пожаловать', @@ -363,6 +365,8 @@ export const ruTranslations: DefaultTranslationsObject = { requiresTwoNumbers: 'В этом поле требуется два числа.', shorterThanMax: 'Это значение должно быть короче максимальной длины символов {{maxLength}}.', trueOrFalse: 'Это поле может быть равно только true или false.', + username: + 'Пожалуйста, введите действительное имя пользователя. Может содержать буквы, цифры, дефисы, точки и подчёркивания.', validUploadID: "'Это поле не является действительным ID загрузки.'", }, version: { diff --git a/packages/translations/src/languages/sk.ts b/packages/translations/src/languages/sk.ts index 90d9313f9f..0e121eda14 100644 --- a/packages/translations/src/languages/sk.ts +++ b/packages/translations/src/languages/sk.ts @@ -18,6 +18,7 @@ export const skTranslations: DefaultTranslationsObject = { confirmPassword: 'Potvrdiť heslo', createFirstUser: 'Vytvorenie prvého používateľa', emailNotValid: 'Zadaný e-mail nie je platný', + emailOrUsername: 'E-mail alebo Užívateľské meno', emailSent: 'E-mail bol odoslaný', emailVerified: 'Email úspešne overený.', enableAPIKey: 'Povolenie API kľúča', @@ -297,6 +298,7 @@ export const skTranslations: DefaultTranslationsObject = { updating: 'Aktualizácia', uploading: 'Nahrávanie', user: 'Používateľ', + username: 'Používateľské meno', users: 'Používatelia', value: 'Hodnota', welcome: 'Vitajte', @@ -361,6 +363,8 @@ export const skTranslations: DefaultTranslationsObject = { requiresTwoNumbers: 'Toto pole vyžaduje dve čísla.', shorterThanMax: 'Táto hodnota musí byť kratšia ako maximálna dĺžka {{maxLength}} znakov.', trueOrFalse: 'Toto pole môže byť rovné iba true alebo false.', + username: + 'Prosím, zadajte platné používateľské meno. Môže obsahovať písmená, čísla, pomlčky, bodky a podčiarknutia.', validUploadID: 'Toto pole nie je platné ID pre odoslanie.', }, version: { diff --git a/packages/translations/src/languages/sv.ts b/packages/translations/src/languages/sv.ts index 20a428e6c8..16ffabc349 100644 --- a/packages/translations/src/languages/sv.ts +++ b/packages/translations/src/languages/sv.ts @@ -18,6 +18,7 @@ export const svTranslations: DefaultTranslationsObject = { confirmPassword: 'Bekräfta Lösenord', createFirstUser: 'Skapa första användaren', emailNotValid: 'Angiven e-postadress är inte giltig', + emailOrUsername: 'E-post eller användarnamn', emailSent: 'E-posten Skickad', emailVerified: 'E-post verifierad framgångsrikt.', enableAPIKey: 'Aktivera API nyckel', @@ -296,6 +297,7 @@ export const svTranslations: DefaultTranslationsObject = { updating: 'Uppdatering', uploading: 'Uppladdning', user: 'Användare', + username: 'Användarnamn', users: 'Användare', value: 'Värde', welcome: 'Välkommen', @@ -360,6 +362,8 @@ export const svTranslations: DefaultTranslationsObject = { requiresTwoNumbers: 'Detta fält kräver två nummer.', shorterThanMax: 'Detta värde måste vara kortare än maxlängden på {{maxLength}} tecken.', trueOrFalse: 'Detta fält kan bara vara lika med sant eller falskt.', + username: + 'Var god ange ett giltigt användarnamn. Kan innehålla bokstäver, siffror, bindestreck, punkter och understreck.', validUploadID: 'Det här fältet är inte ett giltigt uppladdnings-ID', }, version: { diff --git a/packages/translations/src/languages/th.ts b/packages/translations/src/languages/th.ts index 0b41488a28..5ce4d0902c 100644 --- a/packages/translations/src/languages/th.ts +++ b/packages/translations/src/languages/th.ts @@ -18,6 +18,7 @@ export const thTranslations: DefaultTranslationsObject = { confirmPassword: 'ยืนยันรหัสผ่าน', createFirstUser: 'สร้างผู้ใช้แรก', emailNotValid: 'อีเมลไม่ถูกต้อง', + emailOrUsername: 'อีเมลหรือชื่อผู้ใช้', emailSent: 'ส่งอีเมลเรียบร้อยแล้ว', emailVerified: 'อีเมลได้รับการยืนยันเรียบร้อยแล้ว', enableAPIKey: 'เปิดใช้ API Key', @@ -292,6 +293,7 @@ export const thTranslations: DefaultTranslationsObject = { updating: 'กำลังอัปเดต', uploading: 'กำลังอัปโหลด', user: 'ผู้ใช้', + username: 'ชื่อผู้ใช้', users: 'ผู้ใช้', value: 'ค่า', welcome: 'ยินดีต้อนรับ', @@ -354,6 +356,7 @@ export const thTranslations: DefaultTranslationsObject = { requiresTwoNumbers: 'ต้องมีตัวเลข 2 ค่า', shorterThanMax: 'ค่าต้องมีความยาวน้อยกว่า {{maxLength}} ตัวอักษร', trueOrFalse: 'เป็นได้แค่ "ใช่" หรือ "ไม่ใช่"', + username: 'กรุณาใส่ชื่อผู้ใช้ที่ถูกต้อง สามารถมีตัวอักษร ตัวเลข ขีดกลาง จุด และขีดล่าง', validUploadID: 'ไม่ใช่ ID ของการอัปโหลดที่ถูกต้อง', }, version: { diff --git a/packages/translations/src/languages/tr.ts b/packages/translations/src/languages/tr.ts index d0ab0c3f1f..78204cb4ad 100644 --- a/packages/translations/src/languages/tr.ts +++ b/packages/translations/src/languages/tr.ts @@ -18,6 +18,7 @@ export const trTranslations: DefaultTranslationsObject = { confirmPassword: 'Parolayı Onayla', createFirstUser: 'İlk kullanıcı oluştur', emailNotValid: 'Girilen e-posta geçersiz', + emailOrUsername: 'E-posta veya Kullanıcı Adı', emailSent: 'E-posta gönderildi', emailVerified: 'E-posta başarıyla doğrulandı.', enableAPIKey: 'Api anahtarını etkinleştir', @@ -300,6 +301,7 @@ export const trTranslations: DefaultTranslationsObject = { updating: 'Güncelleniyor', uploading: 'Yükleniyor', user: 'kullanıcı', + username: 'Kullanıcı Adı', users: 'kullanıcı', value: 'Değer', welcome: 'Hoşgeldiniz', @@ -364,6 +366,8 @@ export const trTranslations: DefaultTranslationsObject = { requiresTwoNumbers: 'Bu alana en az iki rakam girilmesi zorunludur.', shorterThanMax: 'Bu alan {{maxLength}} karakterden daha kısa olmalıdır.', trueOrFalse: 'Bu alan yalnızca doğru ve yanlış olabilir.', + username: + 'Lütfen geçerli bir kullanıcı adı girin. Harfler, numaralar, kısa çizgiler, noktalar ve alt çizgiler içerebilir.', validUploadID: "'Bu alan geçerli bir karşıya yükleme ID'sine sahip değil.'", }, version: { diff --git a/packages/translations/src/languages/uk.ts b/packages/translations/src/languages/uk.ts index 5fa5dd88ab..6a917230aa 100644 --- a/packages/translations/src/languages/uk.ts +++ b/packages/translations/src/languages/uk.ts @@ -18,6 +18,7 @@ export const ukTranslations: DefaultTranslationsObject = { confirmPassword: 'Підтвердження паролю', createFirstUser: 'Створення першого користувача', emailNotValid: 'Вказана адреса електронної пошти недійсна', + emailOrUsername: "Електронна пошта або Ім'я користувача", emailSent: 'Лист відправлено', emailVerified: 'Електронну пошту успішно підтверджено.', enableAPIKey: 'Активувати API ключ', @@ -296,6 +297,7 @@ export const ukTranslations: DefaultTranslationsObject = { updating: 'оновлення', uploading: 'завантаження', user: 'Користувач', + username: "Ім'я користувача", users: 'Користувачі', value: 'Значення', welcome: 'Вітаю', @@ -360,6 +362,8 @@ export const ukTranslations: DefaultTranslationsObject = { requiresTwoNumbers: 'У цьому полі потрібно ввести два числа.', shorterThanMax: 'Це значення має дорівнювати або бути коротшим, ніж {{maxLength}} символів.', trueOrFalse: 'Це поле може мати значення тільки true або false.', + username: + "Будь ласка, введіть дійсне ім'я користувача. Може містити літери, цифри, дефіси, крапки та підкреслення.", validUploadID: 'Це поле не є дійсним ID завантаження.', }, version: { diff --git a/packages/translations/src/languages/vi.ts b/packages/translations/src/languages/vi.ts index 3ee06ff961..3a7979fbcc 100644 --- a/packages/translations/src/languages/vi.ts +++ b/packages/translations/src/languages/vi.ts @@ -17,6 +17,7 @@ export const viTranslations: DefaultTranslationsObject = { confirmPassword: 'Xác nhận mật khẩu', createFirstUser: 'Tạo người dùng đầu tiên', emailNotValid: 'Email không chính xác', + emailOrUsername: 'Email hoặc Tên tài khoản', emailSent: 'Email đã được gửi', emailVerified: 'Email đã được xác minh thành công.', enableAPIKey: 'Kích hoạt API Key', @@ -294,6 +295,7 @@ export const viTranslations: DefaultTranslationsObject = { updating: 'Đang cập nhật', uploading: 'Đang tải lên', user: 'Người dùng', + username: 'Tên đăng nhập', users: 'Người dùng', value: 'Giá trị', welcome: 'Xin chào', @@ -358,6 +360,8 @@ export const viTranslations: DefaultTranslationsObject = { requiresTwoNumbers: 'Field này cần tối thiểu 2 chữ số.', shorterThanMax: 'Giá trị phải ngắn hơn hoặc bằng {{maxLength}} ký tự.', trueOrFalse: 'Field này chỉ có thể chứa giá trị true hoặc false.', + username: + 'Vui lòng nhập một tên người dùng hợp lệ. Có thể chứa các chữ cái, số, dấu gạch ngang, dấu chấm và dấu gạch dưới.', validUploadID: "'Field này không chứa ID tải lên hợp lệ.'", }, version: { diff --git a/packages/translations/src/languages/zh.ts b/packages/translations/src/languages/zh.ts index 441e7afe79..ad9fc0942f 100644 --- a/packages/translations/src/languages/zh.ts +++ b/packages/translations/src/languages/zh.ts @@ -17,6 +17,7 @@ export const zhTranslations: DefaultTranslationsObject = { confirmPassword: '确认密码', createFirstUser: '创建第一个用户', emailNotValid: '所提供的电子邮件时无效的', + emailOrUsername: '电子邮件或用户名', emailSent: '电子邮件已发送', emailVerified: '电子邮件验证成功。', enableAPIKey: '启用API密钥', @@ -288,6 +289,7 @@ export const zhTranslations: DefaultTranslationsObject = { updating: '更新中', uploading: '上传中', user: '用户', + username: '用户名', users: '用户', value: '值', welcome: '欢迎', @@ -350,6 +352,7 @@ export const zhTranslations: DefaultTranslationsObject = { requiresTwoNumbers: '该字段需要两个数字。', shorterThanMax: '该值必须小于{{maxLength}}字符的最大长度', trueOrFalse: '该字段只能等于真或伪。', + username: '请输入一个有效的用户名。可包含字母,数字,连字符,句点和下划线。', validUploadID: '该字段不是有效的上传ID。', }, version: { diff --git a/packages/translations/src/languages/zhTw.ts b/packages/translations/src/languages/zhTw.ts index f8233256e0..a7548010f9 100644 --- a/packages/translations/src/languages/zhTw.ts +++ b/packages/translations/src/languages/zhTw.ts @@ -17,6 +17,7 @@ export const zhTwTranslations: DefaultTranslationsObject = { confirmPassword: '確認密碼', createFirstUser: '建立第一個使用者', emailNotValid: '提供的電子郵件無效', + emailOrUsername: '電子郵件或使用者名稱', emailSent: '電子郵件已寄出', emailVerified: '電子郵件驗證成功。', enableAPIKey: '啟用API金鑰', @@ -288,6 +289,7 @@ export const zhTwTranslations: DefaultTranslationsObject = { updating: '更新中', uploading: '上傳中', user: '使用者', + username: '使用者名稱', users: '使用者', value: '值', welcome: '歡迎', @@ -350,6 +352,7 @@ export const zhTwTranslations: DefaultTranslationsObject = { requiresTwoNumbers: '該字串需要兩個數字。', shorterThanMax: '該值長度必須小於{{maxLength}}個字元', trueOrFalse: '該字串只能等於是或否。', + username: '請輸入有效的使用者名稱。可以包含字母、數字、連字號、句點和底線。', validUploadID: '該字串不是有效的上傳ID。', }, version: { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1b747bb8de..e6af0a2242 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -136,10 +136,10 @@ importers: version: 1.2.8 mongodb-memory-server: specifier: ^9.0 - version: 9.4.0 + version: 9.4.1 next: specifier: 15.0.0-canary.53 - version: 15.0.0-canary.53(@babel/core@7.24.7)(@playwright/test@1.43.0)(babel-plugin-react-compiler@0.0.0-experimental-592953e-20240517)(react-dom@19.0.0-rc-fb9a90fa48-20240614)(react@19.0.0-rc-fb9a90fa48-20240614) + version: 15.0.0-canary.53(@babel/core@7.24.9)(@playwright/test@1.43.0)(babel-plugin-react-compiler@0.0.0-experimental-592953e-20240517)(react-dom@19.0.0-rc-fb9a90fa48-20240614)(react@19.0.0-rc-fb9a90fa48-20240614) open: specifier: ^10.1.0 version: 10.1.0 @@ -169,7 +169,7 @@ importers: version: 3.0.2 semver: specifier: ^7.5.4 - version: 7.6.2 + version: 7.6.3 sharp: specifier: 0.32.6 version: 0.32.6 @@ -288,7 +288,7 @@ importers: version: 4.17.1(@aws-sdk/client-sso-oidc@3.614.0) mongodb-memory-server: specifier: ^9.0 - version: 9.4.0 + version: 9.4.1 payload: specifier: workspace:* version: link:../payload @@ -551,7 +551,7 @@ importers: version: link:../payload vue: specifier: ^3.0.0 - version: 3.4.31(typescript@5.5.3) + version: 3.4.32(typescript@5.5.3) packages/next: dependencies: @@ -587,7 +587,7 @@ importers: version: 1.6.2 next: specifier: ^15.0.0-canary.53 - version: 15.0.0-canary.53(@babel/core@7.24.7)(@playwright/test@1.43.0)(react-dom@19.0.0-rc-fb9a90fa48-20240614)(react@19.0.0-rc-fb9a90fa48-20240614)(sass@1.77.4) + version: 15.0.0-canary.53(@babel/core@7.24.9)(@playwright/test@1.43.0)(react-dom@19.0.0-rc-fb9a90fa48-20240614)(react@19.0.0-rc-fb9a90fa48-20240614)(sass@1.77.4) path-to-regexp: specifier: ^6.2.1 version: 6.2.2 @@ -630,13 +630,13 @@ importers: version: 10.0.0 '@types/ws': specifier: ^8.5.10 - version: 8.5.10 + version: 8.5.11 esbuild: specifier: 0.23.0 version: 0.23.0 esbuild-sass-plugin: specifier: 3.3.1 - version: 3.3.1(esbuild@0.23.0)(sass-embedded@1.77.5) + version: 3.3.1(esbuild@0.23.0)(sass-embedded@1.77.8) payload: specifier: workspace:* version: link:../payload @@ -827,7 +827,7 @@ importers: version: link:../payload ts-jest: specifier: ^29.1.0 - version: 29.2.2(@babel/core@7.24.7)(esbuild@0.19.12)(jest@29.7.0)(typescript@5.5.3) + version: 29.2.2(@babel/core@7.24.9)(esbuild@0.19.12)(jest@29.7.0)(typescript@5.5.3) packages/plugin-cloud-storage: dependencies: @@ -852,7 +852,7 @@ importers: version: 12.23.0 '@google-cloud/storage': specifier: ^7.7.0 - version: 7.11.3 + version: 7.12.0 '@types/find-node-modules': specifier: ^2.1.2 version: 2.1.2 @@ -1030,7 +1030,7 @@ importers: version: link:../payload ts-jest: specifier: ^29.1.0 - version: 29.2.2(@babel/core@7.24.7)(esbuild@0.19.12)(jest@29.7.0)(typescript@5.5.3) + version: 29.2.2(@babel/core@7.24.9)(esbuild@0.19.12)(jest@29.7.0)(typescript@5.5.3) packages/plugin-seo: dependencies: @@ -1201,7 +1201,7 @@ importers: version: 0.23.0 esbuild-sass-plugin: specifier: 3.3.1 - version: 3.3.1(esbuild@0.23.0)(sass-embedded@1.77.5) + version: 3.3.1(esbuild@0.23.0)(sass-embedded@1.77.8) payload: specifier: workspace:* version: link:../payload @@ -1281,7 +1281,7 @@ importers: dependencies: '@google-cloud/storage': specifier: ^7.7.0 - version: 7.11.3 + version: 7.12.0 '@payloadcms/plugin-cloud-storage': specifier: workspace:* version: link:../plugin-cloud-storage @@ -1400,7 +1400,7 @@ importers: version: 2.3.0 next: specifier: ^15.0.0-canary.53 - version: 15.0.0-canary.53(@babel/core@7.24.7)(@playwright/test@1.43.0)(babel-plugin-react-compiler@0.0.0-experimental-592953e-20240517)(react-dom@19.0.0-rc-fb9a90fa48-20240614)(react@19.0.0-rc-fb9a90fa48-20240614) + version: 15.0.0-canary.53(@babel/core@7.24.9)(@playwright/test@1.43.0)(babel-plugin-react-compiler@0.0.0-experimental-592953e-20240517)(react-dom@19.0.0-rc-fb9a90fa48-20240614)(react@19.0.0-rc-fb9a90fa48-20240614) object-to-formdata: specifier: 4.5.1 version: 4.5.1 @@ -1440,19 +1440,19 @@ importers: devDependencies: '@babel/cli': specifier: ^7.24.5 - version: 7.24.7(@babel/core@7.24.7) + version: 7.24.8(@babel/core@7.24.9) '@babel/core': specifier: ^7.24.5 - version: 7.24.7 + version: 7.24.9 '@babel/preset-env': specifier: ^7.24.5 - version: 7.24.7(@babel/core@7.24.7) + version: 7.24.8(@babel/core@7.24.9) '@babel/preset-react': specifier: ^7.24.1 - version: 7.24.7(@babel/core@7.24.7) + version: 7.24.7(@babel/core@7.24.9) '@babel/preset-typescript': specifier: ^7.24.1 - version: 7.24.7(@babel/core@7.24.7) + version: 7.24.7(@babel/core@7.24.9) '@hyrious/esbuild-plugin-commonjs': specifier: ^0.2.4 version: 0.2.4(esbuild@0.23.0) @@ -1482,7 +1482,7 @@ importers: version: 0.23.0 esbuild-sass-plugin: specifier: 3.3.1 - version: 3.3.1(esbuild@0.23.0)(sass-embedded@1.77.5) + version: 3.3.1(esbuild@0.23.0)(sass-embedded@1.77.8) payload: specifier: workspace:* version: link:../payload @@ -1753,26 +1753,26 @@ packages: '@aws-sdk/util-user-agent-browser': 3.609.0 '@aws-sdk/util-user-agent-node': 3.614.0 '@smithy/config-resolver': 3.0.5 - '@smithy/core': 2.2.6 - '@smithy/fetch-http-handler': 3.2.1 + '@smithy/core': 2.2.7 + '@smithy/fetch-http-handler': 3.2.2 '@smithy/hash-node': 3.0.3 '@smithy/invalid-dependency': 3.0.3 - '@smithy/middleware-content-length': 3.0.3 + '@smithy/middleware-content-length': 3.0.4 '@smithy/middleware-endpoint': 3.0.5 - '@smithy/middleware-retry': 3.0.9 + '@smithy/middleware-retry': 3.0.10 '@smithy/middleware-serde': 3.0.3 '@smithy/middleware-stack': 3.0.3 '@smithy/node-config-provider': 3.1.4 - '@smithy/node-http-handler': 3.1.2 - '@smithy/protocol-http': 4.0.3 - '@smithy/smithy-client': 3.1.7 + '@smithy/node-http-handler': 3.1.3 + '@smithy/protocol-http': 4.0.4 + '@smithy/smithy-client': 3.1.8 '@smithy/types': 3.3.0 '@smithy/url-parser': 3.0.3 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.9 - '@smithy/util-defaults-mode-node': 3.0.9 + '@smithy/util-defaults-mode-browser': 3.0.10 + '@smithy/util-defaults-mode-node': 3.0.10 '@smithy/util-endpoints': 2.0.5 '@smithy/util-middleware': 3.0.3 '@smithy/util-retry': 3.0.3 @@ -1811,35 +1811,35 @@ packages: '@aws-sdk/util-user-agent-node': 3.614.0 '@aws-sdk/xml-builder': 3.609.0 '@smithy/config-resolver': 3.0.5 - '@smithy/core': 2.2.6 + '@smithy/core': 2.2.7 '@smithy/eventstream-serde-browser': 3.0.4 '@smithy/eventstream-serde-config-resolver': 3.0.3 '@smithy/eventstream-serde-node': 3.0.4 - '@smithy/fetch-http-handler': 3.2.1 + '@smithy/fetch-http-handler': 3.2.2 '@smithy/hash-blob-browser': 3.1.2 '@smithy/hash-node': 3.0.3 '@smithy/hash-stream-node': 3.1.2 '@smithy/invalid-dependency': 3.0.3 '@smithy/md5-js': 3.0.3 - '@smithy/middleware-content-length': 3.0.3 + '@smithy/middleware-content-length': 3.0.4 '@smithy/middleware-endpoint': 3.0.5 - '@smithy/middleware-retry': 3.0.9 + '@smithy/middleware-retry': 3.0.10 '@smithy/middleware-serde': 3.0.3 '@smithy/middleware-stack': 3.0.3 '@smithy/node-config-provider': 3.1.4 - '@smithy/node-http-handler': 3.1.2 - '@smithy/protocol-http': 4.0.3 - '@smithy/smithy-client': 3.1.7 + '@smithy/node-http-handler': 3.1.3 + '@smithy/protocol-http': 4.0.4 + '@smithy/smithy-client': 3.1.8 '@smithy/types': 3.3.0 '@smithy/url-parser': 3.0.3 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.9 - '@smithy/util-defaults-mode-node': 3.0.9 + '@smithy/util-defaults-mode-browser': 3.0.10 + '@smithy/util-defaults-mode-node': 3.0.10 '@smithy/util-endpoints': 2.0.5 '@smithy/util-retry': 3.0.3 - '@smithy/util-stream': 3.0.6 + '@smithy/util-stream': 3.1.0 '@smithy/util-utf8': 3.0.0 '@smithy/util-waiter': 3.1.2 tslib: 2.6.3 @@ -1867,26 +1867,26 @@ packages: '@aws-sdk/util-user-agent-browser': 3.609.0 '@aws-sdk/util-user-agent-node': 3.614.0 '@smithy/config-resolver': 3.0.5 - '@smithy/core': 2.2.6 - '@smithy/fetch-http-handler': 3.2.1 + '@smithy/core': 2.2.7 + '@smithy/fetch-http-handler': 3.2.2 '@smithy/hash-node': 3.0.3 '@smithy/invalid-dependency': 3.0.3 - '@smithy/middleware-content-length': 3.0.3 + '@smithy/middleware-content-length': 3.0.4 '@smithy/middleware-endpoint': 3.0.5 - '@smithy/middleware-retry': 3.0.9 + '@smithy/middleware-retry': 3.0.10 '@smithy/middleware-serde': 3.0.3 '@smithy/middleware-stack': 3.0.3 '@smithy/node-config-provider': 3.1.4 - '@smithy/node-http-handler': 3.1.2 - '@smithy/protocol-http': 4.0.3 - '@smithy/smithy-client': 3.1.7 + '@smithy/node-http-handler': 3.1.3 + '@smithy/protocol-http': 4.0.4 + '@smithy/smithy-client': 3.1.8 '@smithy/types': 3.3.0 '@smithy/url-parser': 3.0.3 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.9 - '@smithy/util-defaults-mode-node': 3.0.9 + '@smithy/util-defaults-mode-browser': 3.0.10 + '@smithy/util-defaults-mode-node': 3.0.10 '@smithy/util-endpoints': 2.0.5 '@smithy/util-middleware': 3.0.3 '@smithy/util-retry': 3.0.3 @@ -1912,26 +1912,26 @@ packages: '@aws-sdk/util-user-agent-browser': 3.609.0 '@aws-sdk/util-user-agent-node': 3.614.0 '@smithy/config-resolver': 3.0.5 - '@smithy/core': 2.2.6 - '@smithy/fetch-http-handler': 3.2.1 + '@smithy/core': 2.2.7 + '@smithy/fetch-http-handler': 3.2.2 '@smithy/hash-node': 3.0.3 '@smithy/invalid-dependency': 3.0.3 - '@smithy/middleware-content-length': 3.0.3 + '@smithy/middleware-content-length': 3.0.4 '@smithy/middleware-endpoint': 3.0.5 - '@smithy/middleware-retry': 3.0.9 + '@smithy/middleware-retry': 3.0.10 '@smithy/middleware-serde': 3.0.3 '@smithy/middleware-stack': 3.0.3 '@smithy/node-config-provider': 3.1.4 - '@smithy/node-http-handler': 3.1.2 - '@smithy/protocol-http': 4.0.3 - '@smithy/smithy-client': 3.1.7 + '@smithy/node-http-handler': 3.1.3 + '@smithy/protocol-http': 4.0.4 + '@smithy/smithy-client': 3.1.8 '@smithy/types': 3.3.0 '@smithy/url-parser': 3.0.3 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.9 - '@smithy/util-defaults-mode-node': 3.0.9 + '@smithy/util-defaults-mode-browser': 3.0.10 + '@smithy/util-defaults-mode-node': 3.0.10 '@smithy/util-endpoints': 2.0.5 '@smithy/util-middleware': 3.0.3 '@smithy/util-retry': 3.0.3 @@ -1959,26 +1959,26 @@ packages: '@aws-sdk/util-user-agent-browser': 3.609.0 '@aws-sdk/util-user-agent-node': 3.614.0 '@smithy/config-resolver': 3.0.5 - '@smithy/core': 2.2.6 - '@smithy/fetch-http-handler': 3.2.1 + '@smithy/core': 2.2.7 + '@smithy/fetch-http-handler': 3.2.2 '@smithy/hash-node': 3.0.3 '@smithy/invalid-dependency': 3.0.3 - '@smithy/middleware-content-length': 3.0.3 + '@smithy/middleware-content-length': 3.0.4 '@smithy/middleware-endpoint': 3.0.5 - '@smithy/middleware-retry': 3.0.9 + '@smithy/middleware-retry': 3.0.10 '@smithy/middleware-serde': 3.0.3 '@smithy/middleware-stack': 3.0.3 '@smithy/node-config-provider': 3.1.4 - '@smithy/node-http-handler': 3.1.2 - '@smithy/protocol-http': 4.0.3 - '@smithy/smithy-client': 3.1.7 + '@smithy/node-http-handler': 3.1.3 + '@smithy/protocol-http': 4.0.4 + '@smithy/smithy-client': 3.1.8 '@smithy/types': 3.3.0 '@smithy/url-parser': 3.0.3 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.9 - '@smithy/util-defaults-mode-node': 3.0.9 + '@smithy/util-defaults-mode-browser': 3.0.10 + '@smithy/util-defaults-mode-node': 3.0.10 '@smithy/util-endpoints': 2.0.5 '@smithy/util-middleware': 3.0.3 '@smithy/util-retry': 3.0.3 @@ -1991,10 +1991,10 @@ packages: resolution: {integrity: sha512-BUuS5/1YkgmKc4J0bg83XEtMyDHVyqG2QDzfmhYe8gbOIZabUl1FlrFVwhCAthtrrI6MPGTQcERB4BtJKUSplw==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/core': 2.2.6 - '@smithy/protocol-http': 4.0.3 + '@smithy/core': 2.2.7 + '@smithy/protocol-http': 4.0.4 '@smithy/signature-v4': 3.1.2 - '@smithy/smithy-client': 3.1.7 + '@smithy/smithy-client': 3.1.8 '@smithy/types': 3.3.0 fast-xml-parser: 4.2.5 tslib: 2.6.3 @@ -2025,13 +2025,13 @@ packages: engines: {node: '>=16.0.0'} dependencies: '@aws-sdk/types': 3.609.0 - '@smithy/fetch-http-handler': 3.2.1 - '@smithy/node-http-handler': 3.1.2 + '@smithy/fetch-http-handler': 3.2.2 + '@smithy/node-http-handler': 3.1.3 '@smithy/property-provider': 3.1.3 - '@smithy/protocol-http': 4.0.3 - '@smithy/smithy-client': 3.1.7 + '@smithy/protocol-http': 4.0.4 + '@smithy/smithy-client': 3.1.8 '@smithy/types': 3.3.0 - '@smithy/util-stream': 3.0.6 + '@smithy/util-stream': 3.1.0 tslib: 2.6.3 /@aws-sdk/credential-provider-ini@3.614.0(@aws-sdk/client-sso-oidc@3.614.0)(@aws-sdk/client-sts@3.614.0): @@ -2147,7 +2147,7 @@ packages: '@aws-sdk/client-s3': 3.614.0 '@smithy/abort-controller': 3.1.1 '@smithy/middleware-endpoint': 3.0.5 - '@smithy/smithy-client': 3.1.7 + '@smithy/smithy-client': 3.1.8 buffer: 5.6.0 events: 3.3.0 stream-browserify: 3.0.0 @@ -2160,7 +2160,7 @@ packages: '@aws-sdk/types': 3.609.0 '@aws-sdk/util-arn-parser': 3.568.0 '@smithy/node-config-provider': 3.1.4 - '@smithy/protocol-http': 4.0.3 + '@smithy/protocol-http': 4.0.4 '@smithy/types': 3.3.0 '@smithy/util-config-provider': 3.0.0 tslib: 2.6.3 @@ -2170,7 +2170,7 @@ packages: engines: {node: '>=16.0.0'} dependencies: '@aws-sdk/types': 3.609.0 - '@smithy/protocol-http': 4.0.3 + '@smithy/protocol-http': 4.0.4 '@smithy/types': 3.3.0 tslib: 2.6.3 @@ -2182,7 +2182,7 @@ packages: '@aws-crypto/crc32c': 5.2.0 '@aws-sdk/types': 3.609.0 '@smithy/is-array-buffer': 3.0.0 - '@smithy/protocol-http': 4.0.3 + '@smithy/protocol-http': 4.0.4 '@smithy/types': 3.3.0 '@smithy/util-utf8': 3.0.0 tslib: 2.6.3 @@ -2192,7 +2192,7 @@ packages: engines: {node: '>=16.0.0'} dependencies: '@aws-sdk/types': 3.609.0 - '@smithy/protocol-http': 4.0.3 + '@smithy/protocol-http': 4.0.4 '@smithy/types': 3.3.0 tslib: 2.6.3 @@ -2217,7 +2217,7 @@ packages: engines: {node: '>=16.0.0'} dependencies: '@aws-sdk/types': 3.609.0 - '@smithy/protocol-http': 4.0.3 + '@smithy/protocol-http': 4.0.4 '@smithy/types': 3.3.0 tslib: 2.6.3 @@ -2228,9 +2228,9 @@ packages: '@aws-sdk/types': 3.609.0 '@aws-sdk/util-arn-parser': 3.568.0 '@smithy/node-config-provider': 3.1.4 - '@smithy/protocol-http': 4.0.3 + '@smithy/protocol-http': 4.0.4 '@smithy/signature-v4': 3.1.2 - '@smithy/smithy-client': 3.1.7 + '@smithy/smithy-client': 3.1.8 '@smithy/types': 3.3.0 '@smithy/util-config-provider': 3.0.0 tslib: 2.6.3 @@ -2241,7 +2241,7 @@ packages: dependencies: '@aws-sdk/types': 3.609.0 '@smithy/property-provider': 3.1.3 - '@smithy/protocol-http': 4.0.3 + '@smithy/protocol-http': 4.0.4 '@smithy/signature-v4': 3.1.2 '@smithy/types': 3.3.0 '@smithy/util-middleware': 3.0.3 @@ -2261,7 +2261,7 @@ packages: dependencies: '@aws-sdk/types': 3.609.0 '@aws-sdk/util-endpoints': 3.614.0 - '@smithy/protocol-http': 4.0.3 + '@smithy/protocol-http': 4.0.4 '@smithy/types': 3.3.0 tslib: 2.6.3 @@ -2282,7 +2282,7 @@ packages: dependencies: '@aws-sdk/middleware-sdk-s3': 3.614.0 '@aws-sdk/types': 3.609.0 - '@smithy/protocol-http': 4.0.3 + '@smithy/protocol-http': 4.0.4 '@smithy/signature-v4': 3.1.2 '@smithy/types': 3.3.0 tslib: 2.6.3 @@ -2483,14 +2483,14 @@ packages: transitivePeerDependencies: - supports-color - /@babel/cli@7.24.7(@babel/core@7.24.7): - resolution: {integrity: sha512-8dfPprJgV4O14WTx+AQyEA+opgUKPrsIXX/MdL50J1n06EQJ6m1T+CdsJe0qEC0B/Xl85i+Un5KVAxd/PACX9A==} + /@babel/cli@7.24.8(@babel/core@7.24.9): + resolution: {integrity: sha512-isdp+G6DpRyKc+3Gqxy2rjzgF7Zj9K0mzLNnxz+E/fgeag8qT3vVulX4gY9dGO1q0y+0lUv6V3a+uhUzMzrwXg==} engines: {node: '>=6.9.0'} hasBin: true peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@jridgewell/trace-mapping': 0.3.25 commander: 6.2.1 convert-source-map: 2.0.0 @@ -2510,24 +2510,24 @@ packages: '@babel/highlight': 7.24.7 picocolors: 1.0.1 - /@babel/compat-data@7.24.7: - resolution: {integrity: sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==} + /@babel/compat-data@7.24.9: + resolution: {integrity: sha512-e701mcfApCJqMMueQI0Fb68Amflj83+dvAvHawoBpAz+GDjCIyGHzNwnefjsWJ3xiYAqqiQFoWbspGYBdb2/ng==} engines: {node: '>=6.9.0'} - /@babel/core@7.24.7: - resolution: {integrity: sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==} + /@babel/core@7.24.9: + resolution: {integrity: sha512-5e3FI4Q3M3Pbr21+5xJwCv6ZT6KmGkI0vw3Tozy5ODAQFTIWe37iT8Cr7Ice2Ntb+M3iSKCEWMB1MBgKrW3whg==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.24.7 - '@babel/generator': 7.24.7 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) - '@babel/helpers': 7.24.7 - '@babel/parser': 7.24.7 + '@babel/generator': 7.24.10 + '@babel/helper-compilation-targets': 7.24.8 + '@babel/helper-module-transforms': 7.24.9(@babel/core@7.24.9) + '@babel/helpers': 7.24.8 + '@babel/parser': 7.24.8 '@babel/template': 7.24.7 - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/traverse': 7.24.8 + '@babel/types': 7.24.9 convert-source-map: 2.0.0 debug: 4.3.5(supports-color@5.5.0) gensync: 1.0.0-beta.2 @@ -2539,17 +2539,17 @@ packages: /@babel/generator@7.2.0: resolution: {integrity: sha512-BA75MVfRlFQG2EZgFYIwyT1r6xSkwfP2bdkY/kLZusEYWiJs4xCowab/alaEaT0wSvmVuXGqiefeBlP+7V1yKg==} dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.24.9 jsesc: 2.5.2 lodash: 4.17.21 source-map: 0.5.7 trim-right: 1.0.1 - /@babel/generator@7.24.7: - resolution: {integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==} + /@babel/generator@7.24.10: + resolution: {integrity: sha512-o9HBZL1G2129luEUlG1hB4N/nlYNWHnpwlND9eOMclRqqu1YDy2sSYVCFUZwl8I1Gxh+QSRrP2vD7EpUmFVXxg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.24.9 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 @@ -2558,42 +2558,42 @@ packages: resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.24.9 dev: true /@babel/helper-builder-binary-assignment-operator-visitor@7.24.7: resolution: {integrity: sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/traverse': 7.24.8 + '@babel/types': 7.24.9 transitivePeerDependencies: - supports-color dev: true - /@babel/helper-compilation-targets@7.24.7: - resolution: {integrity: sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==} + /@babel/helper-compilation-targets@7.24.8: + resolution: {integrity: sha512-oU+UoqCHdp+nWVDkpldqIQL/i/bvAv53tRqLG/s+cOXxe66zOYLU7ar/Xs3LdmBihrUMEUhwu6dMZwbNOYDwvw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/compat-data': 7.24.7 - '@babel/helper-validator-option': 7.24.7 + '@babel/compat-data': 7.24.9 + '@babel/helper-validator-option': 7.24.8 browserslist: 4.23.2 lru-cache: 5.1.1 semver: 6.3.1 - /@babel/helper-create-class-features-plugin@7.24.7(@babel/core@7.24.7): - resolution: {integrity: sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg==} + /@babel/helper-create-class-features-plugin@7.24.8(@babel/core@7.24.9): + resolution: {integrity: sha512-4f6Oqnmyp2PP3olgUMmOwC3akxSm5aBYraQ6YDdKy7NcAMkDECHWG0DEnV6M2UAkERgIBhYt8S27rURPg7SxWA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-environment-visitor': 7.24.7 '@babel/helper-function-name': 7.24.7 - '@babel/helper-member-expression-to-functions': 7.24.7 + '@babel/helper-member-expression-to-functions': 7.24.8 '@babel/helper-optimise-call-expression': 7.24.7 - '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7) + '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.9) '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 '@babel/helper-split-export-declaration': 7.24.7 semver: 6.3.1 @@ -2601,26 +2601,26 @@ packages: - supports-color dev: true - /@babel/helper-create-regexp-features-plugin@7.24.7(@babel/core@7.24.7): + /@babel/helper-create-regexp-features-plugin@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-03TCmXy2FtXJEZfbXDTSqq1fRJArk7lX9DOFC/47VthYcxyIOx+eXQmdo6DOQvrbpIix+KfXwvuXdFDZHxt+rA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-annotate-as-pure': 7.24.7 regexpu-core: 5.3.2 semver: 6.3.1 dev: true - /@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.24.7): + /@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.24.9): resolution: {integrity: sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-compilation-targets': 7.24.8 + '@babel/helper-plugin-utils': 7.24.8 debug: 4.3.5(supports-color@5.5.0) lodash.debounce: 4.0.8 resolve: 1.22.8 @@ -2632,27 +2632,27 @@ packages: resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.24.9 /@babel/helper-function-name@7.24.7: resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.24.7 - '@babel/types': 7.24.7 + '@babel/types': 7.24.9 /@babel/helper-hoist-variables@7.24.7: resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.24.9 - /@babel/helper-member-expression-to-functions@7.24.7: - resolution: {integrity: sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w==} + /@babel/helper-member-expression-to-functions@7.24.8: + resolution: {integrity: sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/traverse': 7.24.8 + '@babel/types': 7.24.9 transitivePeerDependencies: - supports-color dev: true @@ -2661,18 +2661,18 @@ packages: resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/traverse': 7.24.8 + '@babel/types': 7.24.9 transitivePeerDependencies: - supports-color - /@babel/helper-module-transforms@7.24.7(@babel/core@7.24.7): - resolution: {integrity: sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==} + /@babel/helper-module-transforms@7.24.9(@babel/core@7.24.9): + resolution: {integrity: sha512-oYbh+rtFKj/HwBQkFlUzvcybzklmVdVV3UU+mN7n2t/q3yGHbuVdNxyFvSBO1tfvjyArpHNcWMAzsSPdyI46hw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-environment-visitor': 7.24.7 '@babel/helper-module-imports': 7.24.7 '@babel/helper-simple-access': 7.24.7 @@ -2685,20 +2685,20 @@ packages: resolution: {integrity: sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.24.9 dev: true - /@babel/helper-plugin-utils@7.24.7: - resolution: {integrity: sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==} + /@babel/helper-plugin-utils@7.24.8: + resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==} engines: {node: '>=6.9.0'} - /@babel/helper-remap-async-to-generator@7.24.7(@babel/core@7.24.7): + /@babel/helper-remap-async-to-generator@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-9pKLcTlZ92hNZMQfGCHImUpDOlAgkkpqalWEeftW5FBya75k8Li2ilerxkM/uBEj01iBZXcCIB/bwvDYgWyibA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-environment-visitor': 7.24.7 '@babel/helper-wrap-function': 7.24.7 @@ -2706,15 +2706,15 @@ packages: - supports-color dev: true - /@babel/helper-replace-supers@7.24.7(@babel/core@7.24.7): + /@babel/helper-replace-supers@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-member-expression-to-functions': 7.24.7 + '@babel/helper-member-expression-to-functions': 7.24.8 '@babel/helper-optimise-call-expression': 7.24.7 transitivePeerDependencies: - supports-color @@ -2724,8 +2724,8 @@ packages: resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/traverse': 7.24.8 + '@babel/types': 7.24.9 transitivePeerDependencies: - supports-color @@ -2733,8 +2733,8 @@ packages: resolution: {integrity: sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/traverse': 7.24.8 + '@babel/types': 7.24.9 transitivePeerDependencies: - supports-color dev: true @@ -2743,18 +2743,18 @@ packages: resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.24.9 - /@babel/helper-string-parser@7.24.7: - resolution: {integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==} + /@babel/helper-string-parser@7.24.8: + resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} engines: {node: '>=6.9.0'} /@babel/helper-validator-identifier@7.24.7: resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-option@7.24.7: - resolution: {integrity: sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==} + /@babel/helper-validator-option@7.24.8: + resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} engines: {node: '>=6.9.0'} /@babel/helper-wrap-function@7.24.7: @@ -2763,18 +2763,18 @@ packages: dependencies: '@babel/helper-function-name': 7.24.7 '@babel/template': 7.24.7 - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/traverse': 7.24.8 + '@babel/types': 7.24.9 transitivePeerDependencies: - supports-color dev: true - /@babel/helpers@7.24.7: - resolution: {integrity: sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==} + /@babel/helpers@7.24.8: + resolution: {integrity: sha512-gV2265Nkcz7weJJfvDoAEVzC1e2OTDpkGbEsebse8koXUJUXPsCMi7sRo/+SPMuMZ9MtUPnGwITTnQnU5YjyaQ==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.24.7 - '@babel/types': 7.24.7 + '@babel/types': 7.24.9 /@babel/highlight@7.24.7: resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} @@ -2785,1011 +2785,1011 @@ packages: js-tokens: 4.0.0 picocolors: 1.0.1 - /@babel/parser@7.24.7: - resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==} + /@babel/parser@7.24.8: + resolution: {integrity: sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.24.9 - /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.7(@babel/core@7.24.7): + /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-TiT1ss81W80eQsN+722OaeQMY/G4yTb4G9JrqeiDADs3N8lbPMGldWi9x8tyqCW5NLx1Jh2AvkE6r6QvEltMMQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.7(@babel/core@7.24.7): + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-unaQgZ/iRu/By6tsjMZzpeBZjChYfLYry6HrEXPoz3KmfF0sVBQ1l8zKMQ4xRGLWVsjuvB8nQfjNP/DcfEOCsg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7(@babel/core@7.24.7): + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/plugin-transform-optional-chaining': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.24.9) transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.7(@babel/core@7.24.7): + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-utA4HuR6F4Vvcr+o4DnjL8fCOlgRFGbeeBEGNg3ZTrLFw6VWG5XmUrvcQ0FjIYMU2ST4XcR2Wsp7t9qOAPnxMg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.7): + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.9): resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 dev: true - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.7): + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.9): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.7): + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.9): resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.7): + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.9): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.7): + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.9): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.7): + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.9): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.7): + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.9): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-syntax-import-assertions@7.24.7(@babel/core@7.24.7): + /@babel/plugin-syntax-import-assertions@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-syntax-import-attributes@7.24.7(@babel/core@7.24.7): + /@babel/plugin-syntax-import-attributes@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.7): + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.9): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.7): + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.9): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.24.7): + /@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.7): + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.9): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.7): + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.9): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.7): + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.9): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.7): + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.9): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.7): + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.9): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.7): + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.9): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.7): + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.9): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.7): + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.9): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.24.7): + /@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.7): + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.9): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.9) + '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-arrow-functions@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-arrow-functions@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-async-generator-functions@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-async-generator-functions@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-o+iF77e3u7ZS4AoAuJvapz9Fm001PuD2V3Lp6OSE4FYQke+cSewYtnek+THqGRWyQloRCyvWL1OkyfNEl9vr/g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-remap-async-to-generator': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-remap-async-to-generator': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.9) transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-async-to-generator@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-async-to-generator@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-module-imports': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-remap-async-to-generator': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-remap-async-to-generator': 7.24.7(@babel/core@7.24.9) transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-block-scoped-functions@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-block-scoped-functions@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-block-scoping@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-block-scoping@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-Nd5CvgMbWc+oWzBsuaMcbwjJWAcp5qzrbg69SZdHSP7AMY0AbWFqFO0WTFCA1jxhMCwodRwvRec8k0QUbZk7RQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-class-properties@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-class-properties@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-create-class-features-plugin': 7.24.8(@babel/core@7.24.9) + '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-class-static-block@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-class-static-block@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-create-class-features-plugin': 7.24.8(@babel/core@7.24.9) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.9) transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-classes@7.24.7(@babel/core@7.24.7): - resolution: {integrity: sha512-CFbbBigp8ln4FU6Bpy6g7sE8B/WmCmzvivzUC6xDAdWVsjYTXijpuuGJmYkAaoWAzcItGKT3IOAbxRItZ5HTjw==} + /@babel/plugin-transform-classes@7.24.8(@babel/core@7.24.9): + resolution: {integrity: sha512-VXy91c47uujj758ud9wx+OMgheXm4qJfyhj1P18YvlrQkNOSrwsteHk+EFS3OMGfhMhpZa0A+81eE7G4QC+3CA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-compilation-targets': 7.24.8 '@babel/helper-environment-visitor': 7.24.7 '@babel/helper-function-name': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.9) '@babel/helper-split-export-declaration': 7.24.7 globals: 11.12.0 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-computed-properties@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-computed-properties@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 '@babel/template': 7.24.7 dev: true - /@babel/plugin-transform-destructuring@7.24.7(@babel/core@7.24.7): - resolution: {integrity: sha512-19eJO/8kdCQ9zISOf+SEUJM/bAUIsvY3YDnXZTupUCQ8LgrWnsG/gFB9dvXqdXnRXMAM8fvt7b0CBKQHNGy1mw==} + /@babel/plugin-transform-destructuring@7.24.8(@babel/core@7.24.9): + resolution: {integrity: sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-dotall-regex@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-dotall-regex@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.9) + '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-duplicate-keys@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-duplicate-keys@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-dynamic-import@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-dynamic-import@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.9) dev: true - /@babel/plugin-transform-exponentiation-operator@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-exponentiation-operator@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-builder-binary-assignment-operator-visitor': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-export-namespace-from@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-export-namespace-from@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.9) dev: true - /@babel/plugin-transform-for-of@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-for-of@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-function-name@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-function-name@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-U9FcnA821YoILngSmYkW6FjyQe2TyZD5pHt4EVIhmcTkrJw/3KqcrRSxuOo5tFZJi7TE19iDyI1u+weTI7bn2w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-compilation-targets': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-compilation-targets': 7.24.8 '@babel/helper-function-name': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-json-strings@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-json-strings@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.9) dev: true - /@babel/plugin-transform-literals@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-literals@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-logical-assignment-operators@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-logical-assignment-operators@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.9) dev: true - /@babel/plugin-transform-member-expression-literals@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-member-expression-literals@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-modules-amd@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-modules-amd@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-module-transforms': 7.24.9(@babel/core@7.24.9) + '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-modules-commonjs@7.24.7(@babel/core@7.24.7): - resolution: {integrity: sha512-iFI8GDxtevHJ/Z22J5xQpVqFLlMNstcLXh994xifFwxxGslr2ZXXLWgtBeLctOD63UFDArdvN6Tg8RFw+aEmjQ==} + /@babel/plugin-transform-modules-commonjs@7.24.8(@babel/core@7.24.9): + resolution: {integrity: sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-module-transforms': 7.24.9(@babel/core@7.24.9) + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-simple-access': 7.24.7 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-modules-systemjs@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-modules-systemjs@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-GYQE0tW7YoaN13qFh3O1NCY4MPkUiAH3fiF7UcV/I3ajmDKEdG3l+UOcbAm4zUE3gnvUU+Eni7XrVKo9eO9auw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-hoist-variables': 7.24.7 - '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-module-transforms': 7.24.9(@babel/core@7.24.9) + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-validator-identifier': 7.24.7 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-modules-umd@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-modules-umd@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-module-transforms': 7.24.9(@babel/core@7.24.9) + '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-named-capturing-groups-regex@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-named-capturing-groups-regex@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.9) + '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-new-target@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-new-target@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-nullish-coalescing-operator@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-nullish-coalescing-operator@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.9) dev: true - /@babel/plugin-transform-numeric-separator@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-numeric-separator@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.9) dev: true - /@babel/plugin-transform-object-rest-spread@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-object-rest-spread@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-compilation-targets': 7.24.8 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.24.9) dev: true - /@babel/plugin-transform-object-super@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-object-super@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.9) transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-optional-catch-binding@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-optional-catch-binding@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.9) dev: true - /@babel/plugin-transform-optional-chaining@7.24.7(@babel/core@7.24.7): - resolution: {integrity: sha512-tK+0N9yd4j+x/4hxF3F0e0fu/VdcxU18y5SevtyM/PCFlQvXbR0Zmlo2eBrKtVipGNFzpq56o8WsIIKcJFUCRQ==} + /@babel/plugin-transform-optional-chaining@7.24.8(@babel/core@7.24.9): + resolution: {integrity: sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.9) transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-parameters@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-parameters@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-private-methods@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-private-methods@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-create-class-features-plugin': 7.24.8(@babel/core@7.24.9) + '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-private-property-in-object@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-private-property-in-object@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.7) + '@babel/helper-create-class-features-plugin': 7.24.8(@babel/core@7.24.9) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.9) transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-property-literals@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-property-literals@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-react-display-name@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-react-display-name@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-react-jsx-development@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-react-jsx-development@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-QG9EnzoGn+Qar7rxuW+ZOsbWOt56FvvI93xInqsZDC5fsekx1AlIO4KIJ5M+D0p0SqSH156EpmZyXq630B8OlQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/plugin-transform-react-jsx': 7.24.7(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/plugin-transform-react-jsx': 7.24.7(@babel/core@7.24.9) transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-+Dj06GDZEFRYvclU6k4bme55GKBEWUmByM/eoKuqg4zTNQHiApWRhQph5fxQB2wAEFvRzL1tOEj1RJ19wJrhoA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-module-imports': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.7) - '@babel/types': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.9) + '@babel/types': 7.24.9 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-react-pure-annotations@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-react-pure-annotations@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-PLgBVk3fzbmEjBJ/u8kFzOqS9tUeDjiaWud/rRym/yjCo/M9cASPlnrd2ZmmZpQT40fOOrvR8jh+n8jikrOhNA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-regenerator@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-regenerator@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 regenerator-transform: 0.15.2 dev: true - /@babel/plugin-transform-reserved-words@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-reserved-words@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-shorthand-properties@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-shorthand-properties@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-spread@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-spread@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-sticky-regex@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-sticky-regex@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-template-literals@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-template-literals@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-typeof-symbol@7.24.7(@babel/core@7.24.7): - resolution: {integrity: sha512-VtR8hDy7YLB7+Pet9IarXjg/zgCMSF+1mNS/EQEiEaUPoFXCVsHG64SIxcaaI2zJgRiv+YmgaQESUfWAdbjzgg==} + /@babel/plugin-transform-typeof-symbol@7.24.8(@babel/core@7.24.9): + resolution: {integrity: sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-typescript@7.24.7(@babel/core@7.24.7): - resolution: {integrity: sha512-iLD3UNkgx2n/HrjBesVbYX6j0yqn/sJktvbtKKgcaLIQ4bTTQ8obAypc1VpyHPD2y4Phh9zHOaAt8e/L14wCpw==} + /@babel/plugin-transform-typescript@7.24.8(@babel/core@7.24.9): + resolution: {integrity: sha512-CgFgtN61BbdOGCP4fLaAMOPkzWUh6yQZNMr5YSt8uz2cZSSiQONCQFWqsE4NeVfOIhqDOlS9CR3WD91FzMeB2Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.24.7) + '@babel/helper-create-class-features-plugin': 7.24.8(@babel/core@7.24.9) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.24.9) transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-unicode-escapes@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-unicode-escapes@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-unicode-property-regex@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-unicode-property-regex@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.9) + '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-unicode-regex@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-unicode-regex@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.9) + '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-unicode-sets-regex@7.24.7(@babel/core@7.24.7): + /@babel/plugin-transform-unicode-sets-regex@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.9) + '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/preset-env@7.24.7(@babel/core@7.24.7): - resolution: {integrity: sha512-1YZNsc+y6cTvWlDHidMBsQZrZfEFjRIo/BZCT906PMdzOyXtSLTgqGdrpcuTDCXyd11Am5uQULtDIcCfnTc8fQ==} + /@babel/preset-env@7.24.8(@babel/core@7.24.9): + resolution: {integrity: sha512-vObvMZB6hNWuDxhSaEPTKCwcqkAIuDtE+bQGn4XMXne1DSLzFVY8Vmj1bm+mUQXYNN8NmaQEO+r8MMbzPr1jBQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.24.7 - '@babel/core': 7.24.7 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-validator-option': 7.24.7 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.7) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.7) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.7) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-import-assertions': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.7) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.7) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.7) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.7) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.7) - '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-async-generator-functions': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-block-scoped-functions': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-block-scoping': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-class-properties': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-class-static-block': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-classes': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-destructuring': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-dotall-regex': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-duplicate-keys': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-dynamic-import': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-exponentiation-operator': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-export-namespace-from': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-for-of': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-function-name': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-json-strings': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-literals': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-logical-assignment-operators': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-member-expression-literals': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-modules-amd': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-modules-commonjs': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-modules-systemjs': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-modules-umd': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-new-target': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-numeric-separator': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-object-rest-spread': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-object-super': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-optional-catch-binding': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-optional-chaining': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-private-methods': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-property-literals': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-regenerator': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-reserved-words': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-sticky-regex': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-template-literals': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-typeof-symbol': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-unicode-escapes': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-unicode-property-regex': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-unicode-sets-regex': 7.24.7(@babel/core@7.24.7) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.7) - babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.7) - babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.7) - babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.7) + '@babel/compat-data': 7.24.9 + '@babel/core': 7.24.9 + '@babel/helper-compilation-targets': 7.24.8 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-validator-option': 7.24.8 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.9) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.9) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.9) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.9) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-import-assertions': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.9) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.9) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.9) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.9) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.9) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.9) + '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-async-generator-functions': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-block-scoped-functions': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-block-scoping': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-class-properties': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-class-static-block': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-classes': 7.24.8(@babel/core@7.24.9) + '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-destructuring': 7.24.8(@babel/core@7.24.9) + '@babel/plugin-transform-dotall-regex': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-duplicate-keys': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-dynamic-import': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-exponentiation-operator': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-export-namespace-from': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-for-of': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-function-name': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-json-strings': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-literals': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-logical-assignment-operators': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-member-expression-literals': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-modules-amd': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.24.9) + '@babel/plugin-transform-modules-systemjs': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-modules-umd': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-new-target': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-numeric-separator': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-object-rest-spread': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-object-super': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-optional-catch-binding': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.24.9) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-private-methods': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-property-literals': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-regenerator': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-reserved-words': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-sticky-regex': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-template-literals': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-typeof-symbol': 7.24.8(@babel/core@7.24.9) + '@babel/plugin-transform-unicode-escapes': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-unicode-property-regex': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-unicode-sets-regex': 7.24.7(@babel/core@7.24.9) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.9) + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.9) + babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.9) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.9) core-js-compat: 3.37.1 semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.7): + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.9): resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/types': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/types': 7.24.9 esutils: 2.0.3 dev: true - /@babel/preset-react@7.24.7(@babel/core@7.24.7): + /@babel/preset-react@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-AAH4lEkpmzFWrGVlHaxJB7RLH21uPQ9+He+eFLWHmF9IuFQVugz8eAsamaW0DXRrTfco5zj1wWtpdcXJUOfsag==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-validator-option': 7.24.7 - '@babel/plugin-transform-react-display-name': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-react-jsx': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-react-jsx-development': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-react-pure-annotations': 7.24.7(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-validator-option': 7.24.8 + '@babel/plugin-transform-react-display-name': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-react-jsx': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-react-jsx-development': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-react-pure-annotations': 7.24.7(@babel/core@7.24.9) transitivePeerDependencies: - supports-color dev: true - /@babel/preset-typescript@7.24.7(@babel/core@7.24.7): + /@babel/preset-typescript@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-validator-option': 7.24.7 - '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-modules-commonjs': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-typescript': 7.24.7(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-validator-option': 7.24.8 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.24.9) + '@babel/plugin-transform-typescript': 7.24.8(@babel/core@7.24.9) transitivePeerDependencies: - supports-color dev: true @@ -3798,8 +3798,8 @@ packages: resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} dev: true - /@babel/runtime@7.24.7: - resolution: {integrity: sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==} + /@babel/runtime@7.24.8: + resolution: {integrity: sha512-5F7SDGs1T72ZczbRwbGO9lQi0NLjQxzl6i4lJxLxfW9U5UluCSyEJeniWvnhl3/euNiqQVbo8zruhsDfid0esA==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.14.1 @@ -3809,31 +3809,31 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.7 - '@babel/parser': 7.24.7 - '@babel/types': 7.24.7 + '@babel/parser': 7.24.8 + '@babel/types': 7.24.9 - /@babel/traverse@7.24.7: - resolution: {integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==} + /@babel/traverse@7.24.8: + resolution: {integrity: sha512-t0P1xxAPzEDcEPmjprAQq19NWum4K0EQPjMwZQZbHt+GiZqvjCHjj755Weq1YRPVzBI+3zSfvScfpnuIecVFJQ==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.7 - '@babel/generator': 7.24.7 + '@babel/generator': 7.24.10 '@babel/helper-environment-visitor': 7.24.7 '@babel/helper-function-name': 7.24.7 '@babel/helper-hoist-variables': 7.24.7 '@babel/helper-split-export-declaration': 7.24.7 - '@babel/parser': 7.24.7 - '@babel/types': 7.24.7 + '@babel/parser': 7.24.8 + '@babel/types': 7.24.9 debug: 4.3.5(supports-color@5.5.0) globals: 11.12.0 transitivePeerDependencies: - supports-color - /@babel/types@7.24.7: - resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==} + /@babel/types@7.24.9: + resolution: {integrity: sha512-xm8XrMKz0IlUdocVbYJe0Z9xEgidU7msskG8BbhnTPK/HZ2z/7FP7ykqPgrUH+C+r414mNfNWam1f2vqOjqjYQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-string-parser': 7.24.7 + '@babel/helper-string-parser': 7.24.8 '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 @@ -3929,7 +3929,7 @@ packages: effect: ^3.4.5 dependencies: effect: 3.4.5 - fast-check: 3.19.0 + fast-check: 3.20.0 /@emnapi/runtime@1.2.0: resolution: {integrity: sha512-bV21/9LQmcQeCPEg3BDFtvwL6cwiTMksYNWQQ4KOxCZikEGalWtenoZ0wCiukJINlGCIi2KXx01g4FoH/LxpzQ==} @@ -3942,7 +3942,7 @@ packages: resolution: {integrity: sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==} dependencies: '@babel/helper-module-imports': 7.24.7 - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.24.8 '@emotion/hash': 0.9.1 '@emotion/memoize': 0.8.1 '@emotion/serialize': 1.1.4 @@ -3995,7 +3995,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.24.8 '@emotion/babel-plugin': 11.11.0 '@emotion/cache': 11.11.0 '@emotion/serialize': 1.1.4 @@ -4857,9 +4857,9 @@ packages: '@eslint-community/eslint-utils': 4.4.0(eslint@9.6.0) '@eslint-react/tools': 1.5.25-next.4 '@eslint-react/types': 1.5.25-next.4(eslint@9.6.0)(typescript@5.5.3) - '@typescript-eslint/scope-manager': 7.16.0 - '@typescript-eslint/types': 7.16.0 - '@typescript-eslint/utils': 7.16.0(eslint@9.6.0)(typescript@5.5.3) + '@typescript-eslint/scope-manager': 7.16.1 + '@typescript-eslint/types': 7.16.1 + '@typescript-eslint/utils': 7.16.1(eslint@9.6.0)(typescript@5.5.3) transitivePeerDependencies: - eslint - supports-color @@ -4875,10 +4875,10 @@ packages: '@eslint-react/tools': 1.5.25-next.4 '@eslint-react/types': 1.5.25-next.4(eslint@9.6.0)(typescript@5.5.3) '@eslint-react/var': 1.5.25-next.4(eslint@9.6.0)(typescript@5.5.3) - '@typescript-eslint/scope-manager': 7.16.0 - '@typescript-eslint/type-utils': 7.16.0(eslint@9.6.0)(typescript@5.5.3) - '@typescript-eslint/types': 7.16.0 - '@typescript-eslint/utils': 7.16.0(eslint@9.6.0)(typescript@5.5.3) + '@typescript-eslint/scope-manager': 7.16.1 + '@typescript-eslint/type-utils': 7.16.1(eslint@9.6.0)(typescript@5.5.3) + '@typescript-eslint/types': 7.16.1 + '@typescript-eslint/utils': 7.16.1(eslint@9.6.0)(typescript@5.5.3) transitivePeerDependencies: - eslint - supports-color @@ -4898,10 +4898,10 @@ packages: '@eslint-react/shared': 1.5.25-next.4(eslint@9.6.0)(typescript@5.5.3) '@eslint-react/tools': 1.5.25-next.4 '@eslint-react/types': 1.5.25-next.4(eslint@9.6.0)(typescript@5.5.3) - '@typescript-eslint/scope-manager': 7.16.0 - '@typescript-eslint/type-utils': 7.16.0(eslint@9.6.0)(typescript@5.5.3) - '@typescript-eslint/types': 7.16.0 - '@typescript-eslint/utils': 7.16.0(eslint@9.6.0)(typescript@5.5.3) + '@typescript-eslint/scope-manager': 7.16.1 + '@typescript-eslint/type-utils': 7.16.1(eslint@9.6.0)(typescript@5.5.3) + '@typescript-eslint/types': 7.16.1 + '@typescript-eslint/utils': 7.16.1(eslint@9.6.0)(typescript@5.5.3) eslint: 9.6.0 eslint-plugin-react-debug: 1.5.25-next.4(eslint@9.6.0)(typescript@5.5.3) eslint-plugin-react-dom: 1.5.25-next.4(eslint@9.6.0)(typescript@5.5.3) @@ -4920,9 +4920,9 @@ packages: '@eslint-react/tools': 1.5.25-next.4 '@eslint-react/types': 1.5.25-next.4(eslint@9.6.0)(typescript@5.5.3) '@eslint-react/var': 1.5.25-next.4(eslint@9.6.0)(typescript@5.5.3) - '@typescript-eslint/scope-manager': 7.16.0 - '@typescript-eslint/types': 7.16.0 - '@typescript-eslint/utils': 7.16.0(eslint@9.6.0)(typescript@5.5.3) + '@typescript-eslint/scope-manager': 7.16.1 + '@typescript-eslint/types': 7.16.1 + '@typescript-eslint/utils': 7.16.1(eslint@9.6.0)(typescript@5.5.3) transitivePeerDependencies: - eslint - supports-color @@ -4932,7 +4932,7 @@ packages: /@eslint-react/shared@1.5.25-next.4(eslint@9.6.0)(typescript@5.5.3): resolution: {integrity: sha512-2QeA5AuM7HVmZ1Zd5QP8idrNcv5a+dcgT43CFuNFkpMBXlcYluiE/kb/m8YXCkFavCWsAV1df8QEvh9XHD3FdQ==} dependencies: - '@typescript-eslint/utils': 7.16.0(eslint@9.6.0)(typescript@5.5.3) + '@typescript-eslint/utils': 7.16.1(eslint@9.6.0)(typescript@5.5.3) valibot: 0.36.0 transitivePeerDependencies: - eslint @@ -4948,8 +4948,8 @@ packages: resolution: {integrity: sha512-XwIs8nfGg3MoohJmw9+TM0DXHNVMhufmqc9YsLgPcbZ3DNBkTiuEbdoZlMbhvzYyxcIy2ocVqc+gIu03xlN8dw==} dependencies: '@eslint-react/tools': 1.5.25-next.4 - '@typescript-eslint/types': 7.16.0 - '@typescript-eslint/utils': 7.16.0(eslint@9.6.0)(typescript@5.5.3) + '@typescript-eslint/types': 7.16.1 + '@typescript-eslint/utils': 7.16.1(eslint@9.6.0)(typescript@5.5.3) transitivePeerDependencies: - eslint - supports-color @@ -4962,9 +4962,9 @@ packages: '@eslint-react/ast': 1.5.25-next.4(eslint@9.6.0)(typescript@5.5.3) '@eslint-react/tools': 1.5.25-next.4 '@eslint-react/types': 1.5.25-next.4(eslint@9.6.0)(typescript@5.5.3) - '@typescript-eslint/scope-manager': 7.16.0 - '@typescript-eslint/types': 7.16.0 - '@typescript-eslint/utils': 7.16.0(eslint@9.6.0)(typescript@5.5.3) + '@typescript-eslint/scope-manager': 7.16.1 + '@typescript-eslint/types': 7.16.1 + '@typescript-eslint/utils': 7.16.1(eslint@9.6.0)(typescript@5.5.3) transitivePeerDependencies: - eslint - supports-color @@ -5093,8 +5093,8 @@ packages: resolution: {integrity: sha512-Orxzlfb9c67A15cq2JQEyVc7wEsmFBmHjZWZYQMUyJ1qivXyMwdyNOs9odi79hze+2zqdTtu1E19IM/FtqZ10g==} engines: {node: '>=14'} - /@google-cloud/storage@7.11.3: - resolution: {integrity: sha512-dFAR/IRENn+ZTTwBbMgoBGSrPrqNKoCEIjG7Wmq2+IpmyyjDk5BLip9HG9TUdMVRRP6xOQFrkEr7zIY1ZsoTSQ==} + /@google-cloud/storage@7.12.0: + resolution: {integrity: sha512-122Ui67bhnf8MkRnxQAC5lf7wPGkPP5hL3+J5s9HHDw2J9RpaMmnV8iahn+RUn9BH70W6uRe6nMZLXiRaJM/3g==} engines: {node: '>=14'} dependencies: '@google-cloud/paginator': 5.0.2 @@ -5519,7 +5519,7 @@ packages: resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.25 babel-plugin-istanbul: 6.1.1 @@ -5840,7 +5840,7 @@ packages: /@libsql/isomorphic-ws@0.1.5: resolution: {integrity: sha512-DtLWIH29onUYR00i0GlQ3UdcTRC6EP4u9w/h9LxpUZJWRMARk6dQwZ6Jkd+QdwVpuAOrdxt18v0K2uIYR3fwFg==} dependencies: - '@types/ws': 8.5.10 + '@types/ws': 8.5.11 ws: 8.18.0 transitivePeerDependencies: - bufferutil @@ -6259,15 +6259,15 @@ packages: '@smithy/util-middleware': 3.0.3 tslib: 2.6.3 - /@smithy/core@2.2.6: - resolution: {integrity: sha512-tBbVIv/ui7/lLTKayYJJvi8JLVL2SwOQTbNFEOrvzSE3ktByvsa1erwBOnAMo8N5Vu30g7lN4lLStrU75oDGuw==} + /@smithy/core@2.2.7: + resolution: {integrity: sha512-Wwd9QWKaYdR+n/oIqJbuwSr9lHuv7sa1e3Zu4wIToZl0sS7xapTYYqQtXP1hKKtIWz0jl8AhvOfNwkfT5jjV0w==} engines: {node: '>=16.0.0'} dependencies: '@smithy/middleware-endpoint': 3.0.5 - '@smithy/middleware-retry': 3.0.9 + '@smithy/middleware-retry': 3.0.10 '@smithy/middleware-serde': 3.0.3 - '@smithy/protocol-http': 4.0.3 - '@smithy/smithy-client': 3.1.7 + '@smithy/protocol-http': 4.0.4 + '@smithy/smithy-client': 3.1.8 '@smithy/types': 3.3.0 '@smithy/util-middleware': 3.0.3 tslib: 2.6.3 @@ -6321,10 +6321,10 @@ packages: '@smithy/types': 3.3.0 tslib: 2.6.3 - /@smithy/fetch-http-handler@3.2.1: - resolution: {integrity: sha512-0w0bgUvZmfa0vHN8a+moByhCJT07WN6AHKEhFSOLsDpnszm+5dLVv5utGaqbhOrZ/aF5x3xuPMs/oMCd+4O5xg==} + /@smithy/fetch-http-handler@3.2.2: + resolution: {integrity: sha512-3LaWlBZObyGrOOd7e5MlacnAKEwFBmAeiW/TOj2eR9475Vnq30uS2510+tnKbxrGjROfNdOhQqGo5j3sqLT6bA==} dependencies: - '@smithy/protocol-http': 4.0.3 + '@smithy/protocol-http': 4.0.4 '@smithy/querystring-builder': 3.0.3 '@smithy/types': 3.3.0 '@smithy/util-base64': 3.0.0 @@ -6380,11 +6380,11 @@ packages: '@smithy/util-utf8': 3.0.0 tslib: 2.6.3 - /@smithy/middleware-content-length@3.0.3: - resolution: {integrity: sha512-Dbz2bzexReYIQDWMr+gZhpwBetNXzbhnEMhYKA6urqmojO14CsXjnsoPYO8UL/xxcawn8ZsuVU61ElkLSltIUQ==} + /@smithy/middleware-content-length@3.0.4: + resolution: {integrity: sha512-wySGje/KfhsnF8YSh9hP16pZcl3C+X6zRsvSfItQGvCyte92LliilU3SD0nR7kTlxnAJwxY8vE/k4Eoezj847Q==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/protocol-http': 4.0.3 + '@smithy/protocol-http': 4.0.4 '@smithy/types': 3.3.0 tslib: 2.6.3 @@ -6400,14 +6400,14 @@ packages: '@smithy/util-middleware': 3.0.3 tslib: 2.6.3 - /@smithy/middleware-retry@3.0.9: - resolution: {integrity: sha512-Mrv9omExU1gA7Y0VEJG2LieGfPYtwwcEiOnVGZ54a37NEMr66TJ0glFslOJFuKWG6izg5DpKIUmDV9rRxjm47Q==} + /@smithy/middleware-retry@3.0.10: + resolution: {integrity: sha512-+6ibpv6jpkTNJS6yErQSEjbxCWf1/jMeUSlpSlUiTYf73LGR9riSRlIrL1+JEW0eEpb6MelQ04BIc38aj8GtxQ==} engines: {node: '>=16.0.0'} dependencies: '@smithy/node-config-provider': 3.1.4 - '@smithy/protocol-http': 4.0.3 + '@smithy/protocol-http': 4.0.4 '@smithy/service-error-classification': 3.0.3 - '@smithy/smithy-client': 3.1.7 + '@smithy/smithy-client': 3.1.8 '@smithy/types': 3.3.0 '@smithy/util-middleware': 3.0.3 '@smithy/util-retry': 3.0.3 @@ -6437,12 +6437,12 @@ packages: '@smithy/types': 3.3.0 tslib: 2.6.3 - /@smithy/node-http-handler@3.1.2: - resolution: {integrity: sha512-Td3rUNI7qqtoSLTsJBtsyfoG4cF/XMFmJr6Z2dX8QNzIi6tIW6YmuyFml8mJ2cNpyWNqITKbROMOFrvQjmsOvw==} + /@smithy/node-http-handler@3.1.3: + resolution: {integrity: sha512-UiKZm8KHb/JeOPzHZtRUfyaRDO1KPKPpsd7iplhiwVGOeVdkiVJ5bVe7+NhWREMOKomrDIDdSZyglvMothLg0Q==} engines: {node: '>=16.0.0'} dependencies: '@smithy/abort-controller': 3.1.1 - '@smithy/protocol-http': 4.0.3 + '@smithy/protocol-http': 4.0.4 '@smithy/querystring-builder': 3.0.3 '@smithy/types': 3.3.0 tslib: 2.6.3 @@ -6454,8 +6454,8 @@ packages: '@smithy/types': 3.3.0 tslib: 2.6.3 - /@smithy/protocol-http@4.0.3: - resolution: {integrity: sha512-x5jmrCWwQlx+Zv4jAtc33ijJ+vqqYN+c/ZkrnpvEe/uDas7AT7A/4Rc2CdfxgWv4WFGmEqODIrrUToPN6DDkGw==} + /@smithy/protocol-http@4.0.4: + resolution: {integrity: sha512-fAA2O4EFyNRyYdFLVIv5xMMeRb+3fRKc/Rt2flh5k831vLvUmNFXcydeg7V3UeEhGURJI4c1asmGJBjvmF6j8Q==} engines: {node: '>=16.0.0'} dependencies: '@smithy/types': 3.3.0 @@ -6501,15 +6501,15 @@ packages: '@smithy/util-utf8': 3.0.0 tslib: 2.6.3 - /@smithy/smithy-client@3.1.7: - resolution: {integrity: sha512-nZbJZB0XI3YnaFBWGDBr7kjaew6O0oNYNmopyIz6gKZEbxzrtH7rwvU1GcVxcSFoOwWecLJEe79fxEMljHopFQ==} + /@smithy/smithy-client@3.1.8: + resolution: {integrity: sha512-nUNGCa0NgvtD0eM45732EBp1H9JQITChMBegGtPRhJD00v3hiFF6tibiOihcYwP5mbp9Kui+sOCl86rDT/Ew2w==} engines: {node: '>=16.0.0'} dependencies: '@smithy/middleware-endpoint': 3.0.5 '@smithy/middleware-stack': 3.0.3 - '@smithy/protocol-http': 4.0.3 + '@smithy/protocol-http': 4.0.4 '@smithy/types': 3.3.0 - '@smithy/util-stream': 3.0.6 + '@smithy/util-stream': 3.1.0 tslib: 2.6.3 /@smithy/types@3.3.0: @@ -6564,25 +6564,25 @@ packages: dependencies: tslib: 2.6.3 - /@smithy/util-defaults-mode-browser@3.0.9: - resolution: {integrity: sha512-WKPcElz92MAQG09miBdb0GxEH/MwD5GfE8g07WokITq5g6J1ROQfYCKC1wNnkqAGfrSywT7L0rdvvqlBplqiyA==} + /@smithy/util-defaults-mode-browser@3.0.10: + resolution: {integrity: sha512-WgaNxh33md2zvlD+1TSceVmM7DIy7qYMtuhOat+HYoTntsg0QTbNvoB/5DRxEwSpN84zKf9O34yqzRRtxJZgFg==} engines: {node: '>= 10.0.0'} dependencies: '@smithy/property-provider': 3.1.3 - '@smithy/smithy-client': 3.1.7 + '@smithy/smithy-client': 3.1.8 '@smithy/types': 3.3.0 bowser: 2.11.0 tslib: 2.6.3 - /@smithy/util-defaults-mode-node@3.0.9: - resolution: {integrity: sha512-dQLrUqFxqpf0GvEKEuFdgXcdZwz6oFm752h4d6C7lQz+RLddf761L2r7dSwGWzESMMB3wKj0jL+skRhEGlecjw==} + /@smithy/util-defaults-mode-node@3.0.10: + resolution: {integrity: sha512-3x/pcNIFyaAEQqXc3qnQsCFLlTz/Mwsfl9ciEPU56/Dk/g1kTFjkzyLbUNJaeOo5HT01VrpJBKrBuN94qbPm9A==} engines: {node: '>= 10.0.0'} dependencies: '@smithy/config-resolver': 3.0.5 '@smithy/credential-provider-imds': 3.1.4 '@smithy/node-config-provider': 3.1.4 '@smithy/property-provider': 3.1.3 - '@smithy/smithy-client': 3.1.7 + '@smithy/smithy-client': 3.1.8 '@smithy/types': 3.3.0 tslib: 2.6.3 @@ -6615,12 +6615,12 @@ packages: '@smithy/types': 3.3.0 tslib: 2.6.3 - /@smithy/util-stream@3.0.6: - resolution: {integrity: sha512-w9i//7egejAIvplX821rPWWgaiY1dxsQUw0hXX7qwa/uZ9U3zplqTQ871jWadkcVB9gFDhkPWYVZf4yfFbZ0xA==} + /@smithy/util-stream@3.1.0: + resolution: {integrity: sha512-QEMvyv58QIptWA8cpQPbHagJOAlrbCt3ueB9EShwdFfVMYAviXdVtksszQQq+o+dv5dalUMWUbUHUDSJgkF9xg==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/fetch-http-handler': 3.2.1 - '@smithy/node-http-handler': 3.1.2 + '@smithy/fetch-http-handler': 3.2.2 + '@smithy/node-http-handler': 3.1.3 '@smithy/types': 3.3.0 '@smithy/util-base64': 3.0.0 '@smithy/util-buffer-from': 3.0.0 @@ -6692,7 +6692,7 @@ packages: fast-glob: 3.3.2 minimatch: 9.0.5 piscina: 4.6.1 - semver: 7.6.2 + semver: 7.6.3 slash: 3.0.0 source-map: 0.7.4 dev: true @@ -6843,8 +6843,8 @@ packages: /@types/babel__core@7.20.5: resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} dependencies: - '@babel/parser': 7.24.7 - '@babel/types': 7.24.7 + '@babel/parser': 7.24.8 + '@babel/types': 7.24.9 '@types/babel__generator': 7.6.8 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.6 @@ -6852,18 +6852,18 @@ packages: /@types/babel__generator@7.6.8: resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.24.9 /@types/babel__template@7.4.4: resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} dependencies: - '@babel/parser': 7.24.7 - '@babel/types': 7.24.7 + '@babel/parser': 7.24.8 + '@babel/types': 7.24.9 /@types/babel__traverse@7.20.6: resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.24.9 /@types/body-parser@1.19.5: resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} @@ -7056,11 +7056,11 @@ packages: /@types/lodash.get@4.4.9: resolution: {integrity: sha512-J5dvW98sxmGnamqf+/aLP87PYXyrha9xIgc2ZlHl6OHMFR2Ejdxep50QfU0abO1+CH6+ugx+8wEUN1toImAinA==} dependencies: - '@types/lodash': 4.17.6 + '@types/lodash': 4.17.7 dev: true - /@types/lodash@4.17.6: - resolution: {integrity: sha512-OpXEVoCKSS3lQqjx9GGGOapBeuW5eUboYHRlHP9urXPX25IKZ6AnP5ZRxtVf63iieUbsHxLn8NQ5Nlftc6yzAA==} + /@types/lodash@4.17.7: + resolution: {integrity: sha512-8wTvZawATi/lsmNu10/j2hk1KEP0IvjubqPE3cu1Xz7xfXXt5oCq3SNUz4fMIP4XGF9Ky+Ue2tBA3hcS7LSBlA==} /@types/mime@1.3.5: resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} @@ -7217,8 +7217,8 @@ packages: '@types/node': 20.12.5 '@types/webidl-conversions': 7.0.3 - /@types/ws@8.5.10: - resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} + /@types/ws@8.5.11: + resolution: {integrity: sha512-4+q7P5h3SpJxaBft0Dzpbr6lmMaqh0Jr2tbhJZ/luAwvD7ohSCniYkwz/pLxuT2h0EOa6QADgJj1Ko+TzRfZ+w==} dependencies: '@types/node': 20.12.5 @@ -7291,6 +7291,14 @@ packages: '@typescript-eslint/visitor-keys': 7.16.0 dev: false + /@typescript-eslint/scope-manager@7.16.1: + resolution: {integrity: sha512-nYpyv6ALte18gbMz323RM+vpFpTjfNdyakbf3nsLvF43uF9KeNC289SUEW3QLZ1xPtyINJ1dIsZOuWuSRIWygw==} + engines: {node: ^18.18.0 || >=20.0.0} + dependencies: + '@typescript-eslint/types': 7.16.1 + '@typescript-eslint/visitor-keys': 7.16.1 + dev: false + /@typescript-eslint/type-utils@7.16.0(eslint@9.6.0)(typescript@5.5.3): resolution: {integrity: sha512-j0fuUswUjDHfqV/UdW6mLtOQQseORqfdmoBNDFOqs9rvNVR2e+cmu6zJu/Ku4SDuqiJko6YnhwcL8x45r8Oqxg==} engines: {node: ^18.18.0 || >=20.0.0} @@ -7311,11 +7319,36 @@ packages: - supports-color dev: false + /@typescript-eslint/type-utils@7.16.1(eslint@9.6.0)(typescript@5.5.3): + resolution: {integrity: sha512-rbu/H2MWXN4SkjIIyWcmYBjlp55VT+1G3duFOIukTNFxr9PI35pLc2ydwAfejCEitCv4uztA07q0QWanOHC7dA==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 7.16.1(typescript@5.5.3) + '@typescript-eslint/utils': 7.16.1(eslint@9.6.0)(typescript@5.5.3) + debug: 4.3.5(supports-color@5.5.0) + eslint: 9.6.0 + ts-api-utils: 1.3.0(typescript@5.5.3) + typescript: 5.5.3 + transitivePeerDependencies: + - supports-color + dev: false + /@typescript-eslint/types@7.16.0: resolution: {integrity: sha512-fecuH15Y+TzlUutvUl9Cc2XJxqdLr7+93SQIbcZfd4XRGGKoxyljK27b+kxKamjRkU7FYC6RrbSCg0ALcZn/xw==} engines: {node: ^18.18.0 || >=20.0.0} dev: false + /@typescript-eslint/types@7.16.1: + resolution: {integrity: sha512-AQn9XqCzUXd4bAVEsAXM/Izk11Wx2u4H3BAfQVhSfzfDOm/wAON9nP7J5rpkCxts7E5TELmN845xTUCQrD1xIQ==} + engines: {node: ^18.18.0 || >=20.0.0} + dev: false + /@typescript-eslint/typescript-estree@7.16.0(typescript@5.5.3): resolution: {integrity: sha512-a5NTvk51ZndFuOLCh5OaJBELYc2O3Zqxfl3Js78VFE1zE46J2AaVuW+rEbVkQznjkmlzWsUI15BG5tQMixzZLw==} engines: {node: ^18.18.0 || >=20.0.0} @@ -7331,7 +7364,29 @@ packages: globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.5 - semver: 7.6.2 + semver: 7.6.3 + ts-api-utils: 1.3.0(typescript@5.5.3) + typescript: 5.5.3 + transitivePeerDependencies: + - supports-color + dev: false + + /@typescript-eslint/typescript-estree@7.16.1(typescript@5.5.3): + resolution: {integrity: sha512-0vFPk8tMjj6apaAZ1HlwM8w7jbghC8jc1aRNJG5vN8Ym5miyhTQGMqU++kuBFDNKe9NcPeZ6x0zfSzV8xC1UlQ==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 7.16.1 + '@typescript-eslint/visitor-keys': 7.16.1 + debug: 4.3.5(supports-color@5.5.0) + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.6.3 ts-api-utils: 1.3.0(typescript@5.5.3) typescript: 5.5.3 transitivePeerDependencies: @@ -7354,6 +7409,22 @@ packages: - typescript dev: false + /@typescript-eslint/utils@7.16.1(eslint@9.6.0)(typescript@5.5.3): + resolution: {integrity: sha512-WrFM8nzCowV0he0RlkotGDujx78xudsxnGMBHI88l5J8wEhED6yBwaSLP99ygfrzAjsQvcYQ94quDwI0d7E1fA==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.6.0) + '@typescript-eslint/scope-manager': 7.16.1 + '@typescript-eslint/types': 7.16.1 + '@typescript-eslint/typescript-estree': 7.16.1(typescript@5.5.3) + eslint: 9.6.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: false + /@typescript-eslint/visitor-keys@7.16.0: resolution: {integrity: sha512-rMo01uPy9C7XxG7AFsxa8zLnWXTF8N3PYclekWSrurvhwiw1eW88mrKiAYe6s53AUY57nTRz8dJsuuXdkAhzCg==} engines: {node: ^18.18.0 || >=20.0.0} @@ -7362,6 +7433,14 @@ packages: eslint-visitor-keys: 3.4.3 dev: false + /@typescript-eslint/visitor-keys@7.16.1: + resolution: {integrity: sha512-Qlzzx4sE4u3FsHTPQAAQFJFNOuqtuY0LFrZHwQ8IHK705XxBiWOFkfKRWu6niB7hwfgnwIpO4jTC75ozW1PHWg==} + engines: {node: ^18.18.0 || >=20.0.0} + dependencies: + '@typescript-eslint/types': 7.16.1 + eslint-visitor-keys: 3.4.3 + dev: false + /@uploadthing/mime-types@0.2.10: resolution: {integrity: sha512-kz3F0oEgAyts25NAGXlUBCWh3mXonbSOQJFGFMawHuIgbUbnzXbe4w5WI+0XdneCbjNmikfWrdWrs8m/7HATfQ==} @@ -7381,78 +7460,78 @@ packages: is-buffer: 2.0.5 undici: 5.28.4 - /@vue/compiler-core@3.4.31: - resolution: {integrity: sha512-skOiodXWTV3DxfDhB4rOf3OGalpITLlgCeOwb+Y9GJpfQ8ErigdBUHomBzvG78JoVE8MJoQsb+qhZiHfKeNeEg==} + /@vue/compiler-core@3.4.32: + resolution: {integrity: sha512-8tCVWkkLe/QCWIsrIvExUGnhYCAOroUs5dzhSoKL5w4MJS8uIYiou+pOPSVIOALOQ80B0jBs+Ri+kd5+MBnCDw==} dependencies: - '@babel/parser': 7.24.7 - '@vue/shared': 3.4.31 + '@babel/parser': 7.24.8 + '@vue/shared': 3.4.32 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.0 dev: true - /@vue/compiler-dom@3.4.31: - resolution: {integrity: sha512-wK424WMXsG1IGMyDGyLqB+TbmEBFM78hIsOJ9QwUVLGrcSk0ak6zYty7Pj8ftm7nEtdU/DGQxAXp0/lM/2cEpQ==} + /@vue/compiler-dom@3.4.32: + resolution: {integrity: sha512-PbSgt9KuYo4fyb90dynuPc0XFTfFPs3sCTbPLOLlo+PrUESW1gn/NjSsUvhR+mI2AmmEzexwYMxbHDldxSOr2A==} dependencies: - '@vue/compiler-core': 3.4.31 - '@vue/shared': 3.4.31 + '@vue/compiler-core': 3.4.32 + '@vue/shared': 3.4.32 dev: true - /@vue/compiler-sfc@3.4.31: - resolution: {integrity: sha512-einJxqEw8IIJxzmnxmJBuK2usI+lJonl53foq+9etB2HAzlPjAS/wa7r0uUpXw5ByX3/0uswVSrjNb17vJm1kQ==} + /@vue/compiler-sfc@3.4.32: + resolution: {integrity: sha512-STy9im/WHfaguJnfKjjVpMHukxHUrOKjm2vVCxiojQJyo3Sb6Os8SMXBr/MI+ekpstEGkDONfqAQoSbZhspLYw==} dependencies: - '@babel/parser': 7.24.7 - '@vue/compiler-core': 3.4.31 - '@vue/compiler-dom': 3.4.31 - '@vue/compiler-ssr': 3.4.31 - '@vue/shared': 3.4.31 + '@babel/parser': 7.24.8 + '@vue/compiler-core': 3.4.32 + '@vue/compiler-dom': 3.4.32 + '@vue/compiler-ssr': 3.4.32 + '@vue/shared': 3.4.32 estree-walker: 2.0.2 magic-string: 0.30.10 postcss: 8.4.39 source-map-js: 1.2.0 dev: true - /@vue/compiler-ssr@3.4.31: - resolution: {integrity: sha512-RtefmITAje3fJ8FSg1gwgDhdKhZVntIVbwupdyZDSifZTRMiWxWehAOTCc8/KZDnBOcYQ4/9VWxsTbd3wT0hAA==} + /@vue/compiler-ssr@3.4.32: + resolution: {integrity: sha512-nyu/txTecF6DrxLrpLcI34xutrvZPtHPBj9yRoPxstIquxeeyywXpYZrQMsIeDfBhlw1abJb9CbbyZvDw2kjdg==} dependencies: - '@vue/compiler-dom': 3.4.31 - '@vue/shared': 3.4.31 + '@vue/compiler-dom': 3.4.32 + '@vue/shared': 3.4.32 dev: true - /@vue/reactivity@3.4.31: - resolution: {integrity: sha512-VGkTani8SOoVkZNds1PfJ/T1SlAIOf8E58PGAhIOUDYPC4GAmFA2u/E14TDAFcf3vVDKunc4QqCe/SHr8xC65Q==} + /@vue/reactivity@3.4.32: + resolution: {integrity: sha512-1P7QvghAzhSIWmiNmh4MNkLVjr2QTNDcFv2sKmytEWhR6t7BZzNicgm5ENER4uU++wbWxgRh/pSEYgdI3MDcvg==} dependencies: - '@vue/shared': 3.4.31 + '@vue/shared': 3.4.32 dev: true - /@vue/runtime-core@3.4.31: - resolution: {integrity: sha512-LDkztxeUPazxG/p8c5JDDKPfkCDBkkiNLVNf7XZIUnJ+66GVGkP+TIh34+8LtPisZ+HMWl2zqhIw0xN5MwU1cw==} + /@vue/runtime-core@3.4.32: + resolution: {integrity: sha512-FxT2dTHUs1Hki8Ui/B1Hu339mx4H5kRJooqrNM32tGUHBPStJxwMzLIRbeGO/B1NMplU4Pg9fwOqrJtrOzkdfA==} dependencies: - '@vue/reactivity': 3.4.31 - '@vue/shared': 3.4.31 + '@vue/reactivity': 3.4.32 + '@vue/shared': 3.4.32 dev: true - /@vue/runtime-dom@3.4.31: - resolution: {integrity: sha512-2Auws3mB7+lHhTFCg8E9ZWopA6Q6L455EcU7bzcQ4x6Dn4cCPuqj6S2oBZgN2a8vJRS/LSYYxwFFq2Hlx3Fsaw==} + /@vue/runtime-dom@3.4.32: + resolution: {integrity: sha512-Xz9G+ZViRyPFQtRBCPFkhMzKn454ihCPMKUiacNaUhuTIXvyfkAq8l89IZ/kegFVyw/7KkJGRGqYdEZrf27Xsg==} dependencies: - '@vue/reactivity': 3.4.31 - '@vue/runtime-core': 3.4.31 - '@vue/shared': 3.4.31 + '@vue/reactivity': 3.4.32 + '@vue/runtime-core': 3.4.32 + '@vue/shared': 3.4.32 csstype: 3.1.3 dev: true - /@vue/server-renderer@3.4.31(vue@3.4.31): - resolution: {integrity: sha512-D5BLbdvrlR9PE3by9GaUp1gQXlCNadIZytMIb8H2h3FMWJd4oUfkUTEH2wAr3qxoRz25uxbTcbqd3WKlm9EHQA==} + /@vue/server-renderer@3.4.32(vue@3.4.32): + resolution: {integrity: sha512-3c4rd0522Ao8hKjzgmUAbcjv2mBnvnw0Ld2f8HOMCuWJZjYie/p8cpIoYJbeP0VV2JYmrJJMwGQDO5RH4iQ30A==} peerDependencies: - vue: 3.4.31 + vue: 3.4.32 dependencies: - '@vue/compiler-ssr': 3.4.31 - '@vue/shared': 3.4.31 - vue: 3.4.31(typescript@5.5.3) + '@vue/compiler-ssr': 3.4.32 + '@vue/shared': 3.4.32 + vue: 3.4.32(typescript@5.5.3) dev: true - /@vue/shared@3.4.31: - resolution: {integrity: sha512-Yp3wtJk//8cO4NItOPpi3QkLExAr/aLBGZMmTtW9WpdwBCJpRM6zj9WgWktXAl8IDIozwNMByT45JP3tO3ACWA==} + /@vue/shared@3.4.32: + resolution: {integrity: sha512-ep4mF1IVnX/pYaNwxwOpJHyBtOMKWoKZMbnUyd+z0udqIxLUh7YCCd/JfDna8aUrmnG9SFORyIq2HzEATRrQsg==} dev: true /abab@2.0.6: @@ -7767,17 +7846,17 @@ packages: resolution: {integrity: sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==} dev: true - /babel-jest@29.7.0(@babel/core@7.24.7): + /babel-jest@29.7.0(@babel/core@7.24.9): resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.8.0 dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@jest/transform': 29.7.0 '@types/babel__core': 7.20.5 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.6.3(@babel/core@7.24.7) + babel-preset-jest: 29.6.3(@babel/core@7.24.9) chalk: 4.1.2 graceful-fs: 4.2.11 slash: 3.0.0 @@ -7788,7 +7867,7 @@ packages: resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} engines: {node: '>=8'} dependencies: - '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 '@istanbuljs/load-nyc-config': 1.1.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-instrument: 5.2.1 @@ -7801,7 +7880,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/template': 7.24.7 - '@babel/types': 7.24.7 + '@babel/types': 7.24.9 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.20.6 @@ -7809,43 +7888,43 @@ packages: resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} engines: {node: '>=10', npm: '>=6'} dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.24.8 cosmiconfig: 7.1.0 resolve: 1.22.8 dev: false - /babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.24.7): + /babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.24.9): resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/compat-data': 7.24.7 - '@babel/core': 7.24.7 - '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.7) + '@babel/compat-data': 7.24.9 + '@babel/core': 7.24.9 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.9) semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.7): + /babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.9): resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.9) core-js-compat: 3.37.1 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.24.7): + /babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.24.9): resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.9) transitivePeerDependencies: - supports-color dev: true @@ -7854,41 +7933,41 @@ packages: resolution: {integrity: sha512-OjG1SVaeQZaJrqkMFJatg8W/MTow8Ak5rx2SI0ETQBO1XvOk/XZGMbltNCPdFJLKghBYoBjC+Y3Ap/Xr7B01mA==} dependencies: '@babel/generator': 7.2.0 - '@babel/types': 7.24.7 + '@babel/types': 7.24.9 chalk: 4.1.2 invariant: 2.2.4 pretty-format: 24.9.0 zod: 3.23.8 zod-validation-error: 2.1.0(zod@3.23.8) - /babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.7): + /babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.9): resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.7 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.7) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.7) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.7) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.9) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.9) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.9) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.9) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.9) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.9) - /babel-preset-jest@29.6.3(@babel/core@7.24.7): + /babel-preset-jest@29.6.3(@babel/core@7.24.9): resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 babel-plugin-jest-hoist: 29.6.3 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.7) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.9) /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -7955,7 +8034,7 @@ packages: engines: {node: '>=12'} dependencies: bin-version: 6.0.0 - semver: 7.6.2 + semver: 7.6.3 semver-truncate: 3.0.0 dev: true @@ -8035,9 +8114,9 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001641 - electron-to-chromium: 1.4.825 - node-releases: 2.0.14 + caniuse-lite: 1.0.30001642 + electron-to-chromium: 1.4.829 + node-releases: 2.0.17 update-browserslist-db: 1.1.0(browserslist@4.23.2) /bs-logger@0.2.6: @@ -8207,8 +8286,8 @@ packages: resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} engines: {node: '>=14.16'} - /caniuse-lite@1.0.30001641: - resolution: {integrity: sha512-Phv5thgl67bHYo1TtMY/MurjkHhV4EDaCosezRXgZ8jzA/Ub+wjxAvbGvjoFENStinwi5kCyOYV3mi5tOGykwA==} + /caniuse-lite@1.0.30001642: + resolution: {integrity: sha512-3XQ0DoRgLijXJErLSl+bLnJ+Et4KqV1PY6JJBGAFlsNsz31zeAIncyeZfLCabHK/jtSh+671RM9YMldxjUPZtA==} /chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} @@ -8245,7 +8324,7 @@ packages: pathe: 1.1.2 pkg-types: 1.1.3 scule: 1.3.0 - semver: 7.6.2 + semver: 7.6.3 std-env: 3.7.0 yaml: 2.4.5 transitivePeerDependencies: @@ -8966,7 +9045,7 @@ packages: /dom-helpers@5.2.1: resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.24.8 csstype: 3.1.3 dev: false @@ -9032,7 +9111,7 @@ packages: hanji: 0.0.5 json-diff: 0.9.0 minimatch: 7.4.6 - semver: 7.6.2 + semver: 7.6.3 zod: 3.23.8 transitivePeerDependencies: - supports-color @@ -9142,7 +9221,7 @@ packages: '@one-ini/wasm': 0.1.1 commander: 10.0.1 minimatch: 9.0.1 - semver: 7.6.2 + semver: 7.6.3 dev: false /ee-first@1.1.1: @@ -9160,8 +9239,8 @@ packages: jake: 10.9.1 dev: true - /electron-to-chromium@1.4.825: - resolution: {integrity: sha512-OCcF+LwdgFGcsYPYC5keEEFC2XT0gBhrYbeGzHCx7i9qRFbzO/AqTmc/C/1xNhJj+JA7rzlN7mpBuStshh96Cg==} + /electron-to-chromium@1.4.829: + resolution: {integrity: sha512-5qp1N2POAfW0u1qGAxXEtz6P7bO1m6gpZr5hdf5ve6lxpLM7MpiM4jIPz7xcrNlClQMafbyUDDWjlIQZ1Mw0Rw==} /emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} @@ -9371,7 +9450,7 @@ packages: transitivePeerDependencies: - supports-color - /esbuild-sass-plugin@3.3.1(esbuild@0.23.0)(sass-embedded@1.77.5): + /esbuild-sass-plugin@3.3.1(esbuild@0.23.0)(sass-embedded@1.77.8): resolution: {integrity: sha512-SnO1ls+d52n6j8gRRpjexXI8MsHEaumS0IdDHaYM29Y6gakzZYMls6i9ql9+AWMSQk/eryndmUpXEgT34QrX1A==} peerDependencies: esbuild: '>=0.20.1' @@ -9381,7 +9460,7 @@ packages: resolve: 1.22.8 safe-identifier: 0.4.2 sass: 1.77.4 - sass-embedded: 1.77.5 + sass-embedded: 1.77.8 dev: true /esbuild@0.18.20: @@ -9567,7 +9646,7 @@ packages: peerDependencies: eslint: ^8.56.0 || ^9.0.0-0 dependencies: - '@typescript-eslint/utils': 7.16.0(eslint@9.6.0)(typescript@5.5.3) + '@typescript-eslint/utils': 7.16.1(eslint@9.6.0)(typescript@5.5.3) debug: 4.3.5(supports-color@5.5.0) doctrine: 3.0.0 eslint: 9.6.0 @@ -9575,7 +9654,7 @@ packages: get-tsconfig: 4.7.5 is-glob: 4.0.3 minimatch: 9.0.5 - semver: 7.6.2 + semver: 7.6.3 stable-hash: 0.0.4 tslib: 2.6.3 transitivePeerDependencies: @@ -9593,7 +9672,7 @@ packages: '@testing-library/dom': optional: true dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.24.8 eslint: 9.6.0 requireindex: 1.2.0 dev: false @@ -9611,7 +9690,7 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/utils': 7.16.0(eslint@9.6.0)(typescript@5.5.3) + '@typescript-eslint/utils': 7.16.1(eslint@9.6.0)(typescript@5.5.3) eslint: 9.6.0 jest: 29.7.0(@types/node@20.12.5) transitivePeerDependencies: @@ -9662,7 +9741,7 @@ packages: vue-eslint-parser: optional: true dependencies: - '@typescript-eslint/utils': 7.16.0(eslint@9.6.0)(typescript@5.5.3) + '@typescript-eslint/utils': 7.16.1(eslint@9.6.0)(typescript@5.5.3) eslint: 9.6.0 minimatch: 9.0.5 natural-compare-lite: 1.4.0 @@ -9701,10 +9780,10 @@ packages: '@eslint-react/shared': 1.5.25-next.4(eslint@9.6.0)(typescript@5.5.3) '@eslint-react/tools': 1.5.25-next.4 '@eslint-react/types': 1.5.25-next.4(eslint@9.6.0)(typescript@5.5.3) - '@typescript-eslint/scope-manager': 7.16.0 - '@typescript-eslint/type-utils': 7.16.0(eslint@9.6.0)(typescript@5.5.3) - '@typescript-eslint/types': 7.16.0 - '@typescript-eslint/utils': 7.16.0(eslint@9.6.0)(typescript@5.5.3) + '@typescript-eslint/scope-manager': 7.16.1 + '@typescript-eslint/type-utils': 7.16.1(eslint@9.6.0)(typescript@5.5.3) + '@typescript-eslint/types': 7.16.1 + '@typescript-eslint/utils': 7.16.1(eslint@9.6.0)(typescript@5.5.3) eslint: 9.6.0 string-ts: 2.2.0 typescript: 5.5.3 @@ -9729,9 +9808,9 @@ packages: '@eslint-react/tools': 1.5.25-next.4 '@eslint-react/types': 1.5.25-next.4(eslint@9.6.0)(typescript@5.5.3) '@eslint-react/var': 1.5.25-next.4(eslint@9.6.0)(typescript@5.5.3) - '@typescript-eslint/scope-manager': 7.16.0 - '@typescript-eslint/types': 7.16.0 - '@typescript-eslint/utils': 7.16.0(eslint@9.6.0)(typescript@5.5.3) + '@typescript-eslint/scope-manager': 7.16.1 + '@typescript-eslint/types': 7.16.1 + '@typescript-eslint/utils': 7.16.1(eslint@9.6.0)(typescript@5.5.3) eslint: 9.6.0 typescript: 5.5.3 transitivePeerDependencies: @@ -9755,10 +9834,10 @@ packages: '@eslint-react/tools': 1.5.25-next.4 '@eslint-react/types': 1.5.25-next.4(eslint@9.6.0)(typescript@5.5.3) '@eslint-react/var': 1.5.25-next.4(eslint@9.6.0)(typescript@5.5.3) - '@typescript-eslint/scope-manager': 7.16.0 - '@typescript-eslint/type-utils': 7.16.0(eslint@9.6.0)(typescript@5.5.3) - '@typescript-eslint/types': 7.16.0 - '@typescript-eslint/utils': 7.16.0(eslint@9.6.0)(typescript@5.5.3) + '@typescript-eslint/scope-manager': 7.16.1 + '@typescript-eslint/type-utils': 7.16.1(eslint@9.6.0)(typescript@5.5.3) + '@typescript-eslint/types': 7.16.1 + '@typescript-eslint/utils': 7.16.1(eslint@9.6.0)(typescript@5.5.3) eslint: 9.6.0 typescript: 5.5.3 transitivePeerDependencies: @@ -9790,10 +9869,10 @@ packages: '@eslint-react/shared': 1.5.25-next.4(eslint@9.6.0)(typescript@5.5.3) '@eslint-react/tools': 1.5.25-next.4 '@eslint-react/types': 1.5.25-next.4(eslint@9.6.0)(typescript@5.5.3) - '@typescript-eslint/scope-manager': 7.16.0 - '@typescript-eslint/type-utils': 7.16.0(eslint@9.6.0)(typescript@5.5.3) - '@typescript-eslint/types': 7.16.0 - '@typescript-eslint/utils': 7.16.0(eslint@9.6.0)(typescript@5.5.3) + '@typescript-eslint/scope-manager': 7.16.1 + '@typescript-eslint/type-utils': 7.16.1(eslint@9.6.0)(typescript@5.5.3) + '@typescript-eslint/types': 7.16.1 + '@typescript-eslint/utils': 7.16.1(eslint@9.6.0)(typescript@5.5.3) eslint: 9.6.0 typescript: 5.5.3 transitivePeerDependencies: @@ -9817,10 +9896,10 @@ packages: '@eslint-react/tools': 1.5.25-next.4 '@eslint-react/types': 1.5.25-next.4(eslint@9.6.0)(typescript@5.5.3) '@eslint-react/var': 1.5.25-next.4(eslint@9.6.0)(typescript@5.5.3) - '@typescript-eslint/scope-manager': 7.16.0 - '@typescript-eslint/type-utils': 7.16.0(eslint@9.6.0)(typescript@5.5.3) - '@typescript-eslint/types': 7.16.0 - '@typescript-eslint/utils': 7.16.0(eslint@9.6.0)(typescript@5.5.3) + '@typescript-eslint/scope-manager': 7.16.1 + '@typescript-eslint/type-utils': 7.16.1(eslint@9.6.0)(typescript@5.5.3) + '@typescript-eslint/types': 7.16.1 + '@typescript-eslint/utils': 7.16.1(eslint@9.6.0)(typescript@5.5.3) eslint: 9.6.0 is-immutable-type: 4.0.0(eslint@9.6.0)(typescript@5.5.3) typescript: 5.5.3 @@ -9844,8 +9923,8 @@ packages: scslre: 0.3.0 dev: false - /eslint-scope@8.0.1: - resolution: {integrity: sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==} + /eslint-scope@8.0.2: + resolution: {integrity: sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dependencies: esrecurse: 4.3.0 @@ -9877,7 +9956,7 @@ packages: cross-spawn: 7.0.3 debug: 4.3.5(supports-color@5.5.0) escape-string-regexp: 4.0.0 - eslint-scope: 8.0.1 + eslint-scope: 8.0.2 eslint-visitor-keys: 4.0.0 espree: 10.1.0 esquery: 1.6.0 @@ -10109,7 +10188,7 @@ packages: resolution: {integrity: sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==} engines: {node: '>=0.10.0'} dependencies: - mime-db: 1.52.0 + mime-db: 1.53.0 dev: true /ext-name@5.0.0: @@ -10139,8 +10218,8 @@ packages: resolution: {integrity: sha512-qwaScUgUGBYeDNRnbc/KyllVU88Jk1pRHPStuF/lO7B0/RTRLj7U0lkdTAutlBblY08rwZDff6tNU9cjv6j//Q==} dev: false - /fast-check@3.19.0: - resolution: {integrity: sha512-CO2JX/8/PT9bDGO1iXa5h5ey1skaKI1dvecERyhH4pp3PGjwd3KIjMAXEg79Ps9nclsdt4oPbfqiAnLU0EwrAQ==} + /fast-check@3.20.0: + resolution: {integrity: sha512-pZIjqLpOZgdSLecec4GKC3Zq5702MZ34upMKxojnNVSWA0K64V3pXOBT1Wdsrc3AphLtzRBbsi8bRWF4TUGmUg==} engines: {node: '>=8.0.0'} dependencies: pure-rand: 6.1.0 @@ -10228,7 +10307,7 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: readable-web-to-node-stream: 3.0.2 - strtok3: 7.1.0 + strtok3: 7.1.1 token-types: 5.0.1 /filelist@1.0.4: @@ -11282,7 +11361,7 @@ packages: eslint: '*' typescript: 5.5.3 dependencies: - '@typescript-eslint/type-utils': 7.16.0(eslint@9.6.0)(typescript@5.5.3) + '@typescript-eslint/type-utils': 7.16.1(eslint@9.6.0)(typescript@5.5.3) eslint: 9.6.0 ts-api-utils: 1.3.0(typescript@5.5.3) ts-declaration-location: 1.0.2(typescript@5.5.3) @@ -11492,8 +11571,8 @@ packages: resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} engines: {node: '>=8'} dependencies: - '@babel/core': 7.24.7 - '@babel/parser': 7.24.7 + '@babel/core': 7.24.9 + '@babel/parser': 7.24.8 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 6.3.1 @@ -11504,11 +11583,11 @@ packages: resolution: {integrity: sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==} engines: {node: '>=10'} dependencies: - '@babel/core': 7.24.7 - '@babel/parser': 7.24.7 + '@babel/core': 7.24.9 + '@babel/parser': 7.24.8 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 - semver: 7.6.2 + semver: 7.6.3 transitivePeerDependencies: - supports-color @@ -11650,11 +11729,11 @@ packages: ts-node: optional: true dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 '@types/node': 20.12.5 - babel-jest: 29.7.0(@babel/core@7.24.7) + babel-jest: 29.7.0(@babel/core@7.24.9) chalk: 4.1.2 ci-info: 3.9.0 deepmerge: 4.3.1 @@ -11895,15 +11974,15 @@ packages: resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/core': 7.24.7 - '@babel/generator': 7.24.7 - '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.24.7) - '@babel/types': 7.24.7 + '@babel/core': 7.24.9 + '@babel/generator': 7.24.10 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.24.9) + '@babel/types': 7.24.9 '@jest/expect-utils': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.7) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.9) chalk: 4.1.2 expect: 29.7.0 graceful-fs: 4.2.11 @@ -11914,7 +11993,7 @@ packages: jest-util: 29.7.0 natural-compare: 1.4.0 pretty-format: 29.7.0 - semver: 7.6.2 + semver: 7.6.3 transitivePeerDependencies: - supports-color @@ -12127,7 +12206,7 @@ packages: dependencies: '@bcherny/json-schema-ref-parser': 9.0.9 '@types/json-schema': 7.0.15 - '@types/lodash': 4.17.6 + '@types/lodash': 4.17.7 '@types/prettier': 2.7.3 cli-color: 2.0.4 get-stdin: 8.0.0 @@ -12174,7 +12253,7 @@ packages: jws: 3.2.2 lodash: 4.17.21 ms: 2.1.3 - semver: 7.6.2 + semver: 7.6.3 dev: false /jsx-ast-utils@3.3.5: @@ -12457,7 +12536,7 @@ packages: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} dependencies: - semver: 7.6.2 + semver: 7.6.3 /make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} @@ -12534,6 +12613,11 @@ packages: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} + /mime-db@1.53.0: + resolution: {integrity: sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg==} + engines: {node: '>= 0.6'} + dev: true + /mime-types@2.1.35: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} @@ -12642,7 +12726,7 @@ packages: acorn: 8.12.1 pathe: 1.1.2 pkg-types: 1.1.3 - ufo: 1.5.3 + ufo: 1.5.4 dev: true /monaco-editor@0.38.0: @@ -12654,8 +12738,8 @@ packages: '@types/whatwg-url': 8.2.2 whatwg-url: 11.0.0 - /mongodb-memory-server-core@9.4.0: - resolution: {integrity: sha512-irqdj/RPHJ2M9lgtxrvhXUbqFv/DfmUG+wvcAqtgtBJ8qVq1VGBD5rkKkLP5b3g8OoadP3OzsXTGCi1P2dDBQQ==} + /mongodb-memory-server-core@9.4.1: + resolution: {integrity: sha512-lobapXaysH64zrn521NTkmqHc3krSPUFkuuZ8A/BmQV8ON7p2SzAEvpoJPDXIeJkxIzYw06dYL6Gn5OcZdEElA==} engines: {node: '>=14.20.1'} dependencies: async-mutex: 0.4.1 @@ -12666,7 +12750,7 @@ packages: https-proxy-agent: 7.0.5 mongodb: 5.9.2 new-find-package-json: 2.0.0 - semver: 7.6.2 + semver: 7.6.3 tar-stream: 3.1.7 tslib: 2.6.3 yauzl: 3.1.3 @@ -12679,12 +12763,12 @@ packages: - supports-color dev: true - /mongodb-memory-server@9.4.0: - resolution: {integrity: sha512-O6n7TxWvcLSSDP3IrXsLsdG0iouljlqdZ7sH3ZaqEyymzZglMroV3CwMj1lvMNks7fRVj8HMrza0gnwF3MyFGA==} + /mongodb-memory-server@9.4.1: + resolution: {integrity: sha512-qONlW4sKPbtk9pqFnlPn7R73G3Q4TuebJJ5pHfoiKTqVJquojQ8xWmkCyz+/YnpA2vYBo/jib+nXvjfKwh7cjg==} engines: {node: '>=14.20.1'} requiresBuild: true dependencies: - mongodb-memory-server-core: 9.4.0 + mongodb-memory-server-core: 9.4.1 tslib: 2.6.3 transitivePeerDependencies: - '@aws-sdk/credential-providers' @@ -12831,7 +12915,7 @@ packages: /next-tick@1.1.0: resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} - /next@15.0.0-canary.53(@babel/core@7.24.7)(@playwright/test@1.43.0)(babel-plugin-react-compiler@0.0.0-experimental-592953e-20240517)(react-dom@19.0.0-rc-fb9a90fa48-20240614)(react@19.0.0-rc-fb9a90fa48-20240614): + /next@15.0.0-canary.53(@babel/core@7.24.9)(@playwright/test@1.43.0)(babel-plugin-react-compiler@0.0.0-experimental-592953e-20240517)(react-dom@19.0.0-rc-fb9a90fa48-20240614)(react@19.0.0-rc-fb9a90fa48-20240614): resolution: {integrity: sha512-DSbMTIx/PFJPtIsRKoQzjHyRV6T/1Mir7vRrxiDkf1g223KGgjwn9hhvhjiLczUmBO6ec4vSnNNqWx0SuVXlJw==} engines: {node: '>=18.17.0'} hasBin: true @@ -12857,12 +12941,12 @@ packages: '@swc/helpers': 0.5.11 babel-plugin-react-compiler: 0.0.0-experimental-592953e-20240517 busboy: 1.6.0 - caniuse-lite: 1.0.30001641 + caniuse-lite: 1.0.30001642 graceful-fs: 4.2.11 postcss: 8.4.31 react: 19.0.0-rc-fb9a90fa48-20240614 react-dom: 19.0.0-rc-fb9a90fa48-20240614(react@19.0.0-rc-fb9a90fa48-20240614) - styled-jsx: 5.1.6(@babel/core@7.24.7)(react@19.0.0-rc-fb9a90fa48-20240614) + styled-jsx: 5.1.6(@babel/core@7.24.9)(react@19.0.0-rc-fb9a90fa48-20240614) optionalDependencies: '@next/swc-darwin-arm64': 15.0.0-canary.53 '@next/swc-darwin-x64': 15.0.0-canary.53 @@ -12878,7 +12962,7 @@ packages: - '@babel/core' - babel-plugin-macros - /next@15.0.0-canary.53(@babel/core@7.24.7)(@playwright/test@1.43.0)(react-dom@19.0.0-rc-fb9a90fa48-20240614)(react@19.0.0-rc-fb9a90fa48-20240614)(sass@1.77.4): + /next@15.0.0-canary.53(@babel/core@7.24.9)(@playwright/test@1.43.0)(react-dom@19.0.0-rc-fb9a90fa48-20240614)(react@19.0.0-rc-fb9a90fa48-20240614)(sass@1.77.4): resolution: {integrity: sha512-DSbMTIx/PFJPtIsRKoQzjHyRV6T/1Mir7vRrxiDkf1g223KGgjwn9hhvhjiLczUmBO6ec4vSnNNqWx0SuVXlJw==} engines: {node: '>=18.17.0'} hasBin: true @@ -12903,13 +12987,13 @@ packages: '@playwright/test': 1.43.0 '@swc/helpers': 0.5.11 busboy: 1.6.0 - caniuse-lite: 1.0.30001641 + caniuse-lite: 1.0.30001642 graceful-fs: 4.2.11 postcss: 8.4.31 react: 19.0.0-rc-fb9a90fa48-20240614 react-dom: 19.0.0-rc-fb9a90fa48-20240614(react@19.0.0-rc-fb9a90fa48-20240614) sass: 1.77.4 - styled-jsx: 5.1.6(@babel/core@7.24.7)(react@19.0.0-rc-fb9a90fa48-20240614) + styled-jsx: 5.1.6(@babel/core@7.24.9)(react@19.0.0-rc-fb9a90fa48-20240614) optionalDependencies: '@next/swc-darwin-arm64': 15.0.0-canary.53 '@next/swc-darwin-x64': 15.0.0-canary.53 @@ -12940,7 +13024,7 @@ packages: resolution: {integrity: sha512-ThjYBfoDNr08AWx6hGaRbfPwxKV9kVzAzOzlLKbk2CuqXE2xnCh+cbAGnwM3t8Lq4v9rUB7VfondlkBckcJrVA==} engines: {node: '>=10'} dependencies: - semver: 7.6.2 + semver: 7.6.3 dev: true /node-addon-api@3.2.1: @@ -12990,8 +13074,8 @@ packages: /node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} - /node-releases@2.0.14: - resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + /node-releases@2.0.17: + resolution: {integrity: sha512-Ww6ZlOiEQfPfXM45v17oabk77Z7mg5bOt7AjDyzy7RjK9OrLrLC8dyZQoAPEOtFX9SaNf1Tdvr5gRJWdTJj7GA==} /nodemailer@6.9.10: resolution: {integrity: sha512-qtoKfGFhvIFW5kLfrkw2R6Nm6Ur4LNUMykyqu6n9BRKJuyQrqEGwdXXUAbwWEKt33dlWUGXb7rzmJP/p4+O+CA==} @@ -13008,7 +13092,7 @@ packages: ignore-by-default: 1.0.1 minimatch: 3.1.2 pstree.remy: 1.1.8 - semver: 7.6.2 + semver: 7.6.3 simple-update-notifier: 2.0.0 supports-color: 5.5.0 touch: 3.1.1 @@ -13073,7 +13157,7 @@ packages: execa: 8.0.1 pathe: 1.1.2 pkg-types: 1.1.3 - ufo: 1.5.3 + ufo: 1.5.4 dev: true /object-assign@4.1.1: @@ -13140,7 +13224,7 @@ packages: dependencies: destr: 2.0.3 node-fetch-native: 1.6.4 - ufo: 1.5.3 + ufo: 1.5.4 dev: true /ohash@1.1.3: @@ -13388,8 +13472,8 @@ packages: resolution: {integrity: sha512-YYEs+eauIjDH5nUEGi18EohWE0nV2QbGTqmxQcqgZ/0g+laPCQmuIqq7EBLVi9uim9zMgfJv0QBZEnQ3uHw/Tw==} dev: false - /peek-readable@5.1.1: - resolution: {integrity: sha512-4hEOSH7KeEaZpMDF/xfm1W9fS5rT7Ett3BkXWHqAEzRLLwLaHkwOL+GvvpIEh9UrvX9BDhzfkvteslgraoH69w==} + /peek-readable@5.1.3: + resolution: {integrity: sha512-kCsc9HwH5RgVA3H3VqkWFyGQwsxUxLdiSX1d5nqAm7hnMFjNFX1VhBLmJoUY0hZNc8gmDNgBkLjfhiWPsziXWA==} engines: {node: '>=14.16'} /pend@1.2.0: @@ -13925,7 +14009,7 @@ packages: peerDependencies: react: ^19.0.0-rc-6230622a1a-20240610 dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.24.8 react: 19.0.0-rc-fb9a90fa48-20240614 dev: false @@ -13934,7 +14018,7 @@ packages: peerDependencies: react: ^19.0.0-rc-6230622a1a-20240610 dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.24.8 react: 19.0.0-rc-fb9a90fa48-20240614 dev: false @@ -13968,7 +14052,7 @@ packages: react: ^19.0.0-rc-6230622a1a-20240610 react-dom: ^19.0.0-rc-6230622a1a-20240610 dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.24.8 '@emotion/cache': 11.11.0 '@emotion/react': 11.11.4(react@19.0.0-rc-fb9a90fa48-20240614)(types-react@19.0.0-rc.0) '@floating-ui/dom': 1.6.7 @@ -13990,7 +14074,7 @@ packages: react: ^19.0.0-rc-6230622a1a-20240610 react-dom: ^19.0.0-rc-6230622a1a-20240610 dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.24.8 dom-helpers: 5.2.1 loose-envify: 1.4.0 prop-types: 15.8.1 @@ -14103,7 +14187,7 @@ packages: /regenerator-transform@0.15.2: resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.24.8 dev: true /regexp-ast-analysis@0.7.1: @@ -14328,8 +14412,8 @@ packages: truncate-utf8-bytes: 1.0.2 dev: false - /sass-embedded-android-arm64@1.77.5: - resolution: {integrity: sha512-t4yIhK5OUpg1coZxFpDo3BhI2YVj21JxEd5SVI6FfcWD2ESroQWsC4cbq3ejw5aun8R1Kx6xH1EKxO8bSMvn1g==} + /sass-embedded-android-arm64@1.77.8: + resolution: {integrity: sha512-EmWHLbEx0Zo/f/lTFzMeH2Du+/I4RmSRlEnERSUKQWVp3aBSO04QDvdxfFezgQ+2Yt/ub9WMqBpma9P/8MPsLg==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [android] @@ -14338,8 +14422,8 @@ packages: dev: true optional: true - /sass-embedded-android-arm@1.77.5: - resolution: {integrity: sha512-/DfNYoykqwMFduecqa8n0NH+cS6oLdCPFjwhe92efsOOt5WDYEOlolnhoOENZxqdzvSV+8axL+mHQ1Ypl4MLtg==} + /sass-embedded-android-arm@1.77.8: + resolution: {integrity: sha512-GpGL7xZ7V1XpFbnflib/NWbM0euRzineK0iwoo31/ntWKAXGj03iHhGzkSiOwWSFcXgsJJi3eRA5BTmBvK5Q+w==} engines: {node: '>=14.0.0'} cpu: [arm] os: [android] @@ -14348,8 +14432,8 @@ packages: dev: true optional: true - /sass-embedded-android-ia32@1.77.5: - resolution: {integrity: sha512-92dWhEbR0Z2kpjbpfOx4LM9wlNBSnDsRtwpkMUK8udQIE7uF3E4/Fsf/88IJk0MrRkk4iwrsxxiCb1bz2tWnHQ==} + /sass-embedded-android-ia32@1.77.8: + resolution: {integrity: sha512-+GjfJ3lDezPi4dUUyjQBxlNKXNa+XVWsExtGvVNkv1uKyaOxULJhubVo2G6QTJJU0esJdfeXf5Ca5/J0ph7+7w==} engines: {node: '>=14.0.0'} cpu: [ia32] os: [android] @@ -14358,8 +14442,8 @@ packages: dev: true optional: true - /sass-embedded-android-x64@1.77.5: - resolution: {integrity: sha512-lFnXz9lRnjRLJ8Y28ONJViID3rDq4p6LJ/9ByPk2ZnSpx5ouUjsu4AfrXKJ0jgHWBaDvSKSxq2fPpt5aMQAEZA==} + /sass-embedded-android-x64@1.77.8: + resolution: {integrity: sha512-YZbFDzGe5NhaMCygShqkeCWtzjhkWxGVunc7ULR97wmxYPQLPeVyx7XFQZc84Aj0lKAJBJS4qRZeqphMqZEJsQ==} engines: {node: '>=14.0.0'} cpu: [x64] os: [android] @@ -14368,8 +14452,8 @@ packages: dev: true optional: true - /sass-embedded-darwin-arm64@1.77.5: - resolution: {integrity: sha512-J3yP6w+xqPrGQE0+sO4Gam6kBDJL5ivgkFNxR0fVlvKeN5qVFYhymp/xGRRMxBrKjohEQtBGP431EzrtvUMFow==} + /sass-embedded-darwin-arm64@1.77.8: + resolution: {integrity: sha512-aifgeVRNE+i43toIkDFFJc/aPLMo0PJ5s5hKb52U+oNdiJE36n65n2L8F/8z3zZRvCa6eYtFY2b7f1QXR3B0LA==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [darwin] @@ -14378,8 +14462,8 @@ packages: dev: true optional: true - /sass-embedded-darwin-x64@1.77.5: - resolution: {integrity: sha512-A9fh5tg4s0FidMTG31Vs8TzYZ3Mam/I/tfqvN0g512OhBajp/p2DJvBY+0Br2r+TNH1yGUXf2ZfULuTBFj5u8w==} + /sass-embedded-darwin-x64@1.77.8: + resolution: {integrity: sha512-/VWZQtcWIOek60Zj6Sxk6HebXA1Qyyt3sD8o5qwbTgZnKitB1iEBuNunyGoAgMNeUz2PRd6rVki6hvbas9hQ6w==} engines: {node: '>=14.0.0'} cpu: [x64] os: [darwin] @@ -14388,8 +14472,8 @@ packages: dev: true optional: true - /sass-embedded-linux-arm64@1.77.5: - resolution: {integrity: sha512-LoN804X7QsyvT/h8UGcgBMfV1SdT4JRRNV+slBICxoXPKBLXbZm9KyLRCBQcMLLdlXSZdOfZilxUN1Bd2az6OA==} + /sass-embedded-linux-arm64@1.77.8: + resolution: {integrity: sha512-6iIOIZtBFa2YfMsHqOb3qake3C9d/zlKxjooKKnTSo+6g6z+CLTzMXe1bOfayb7yxeenElmFoK1k54kWD/40+g==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [linux] @@ -14398,8 +14482,8 @@ packages: dev: true optional: true - /sass-embedded-linux-arm@1.77.5: - resolution: {integrity: sha512-O7gbOWJloxITBZNkpwChFltxofsnDUf+3pz7+q2ETQKvZQ3kUfFENAF37slo0bsHJ7IEpwJK3ZJlnhZvIgfhgw==} + /sass-embedded-linux-arm@1.77.8: + resolution: {integrity: sha512-2edZMB6jf0whx3T0zlgH+p131kOEmWp+I4wnKj7ZMUeokiY4Up05d10hSvb0Q63lOrSjFAWu6P5/pcYUUx8arQ==} engines: {node: '>=14.0.0'} cpu: [arm] os: [linux] @@ -14408,8 +14492,8 @@ packages: dev: true optional: true - /sass-embedded-linux-ia32@1.77.5: - resolution: {integrity: sha512-KHNJymlEmjyJbhGfB34zowohjgMvv/qKVsDX5hPlar+qMh+cxJwfgPln1Zl9bfe9qLObmEV2zFA1rpVBWy4xGQ==} + /sass-embedded-linux-ia32@1.77.8: + resolution: {integrity: sha512-63GsFFHWN5yRLTWiSef32TM/XmjhCBx1DFhoqxmj+Yc6L9Z1h0lDHjjwdG6Sp5XTz5EmsaFKjpDgnQTP9hJX3Q==} engines: {node: '>=14.0.0'} cpu: [ia32] os: [linux] @@ -14418,8 +14502,8 @@ packages: dev: true optional: true - /sass-embedded-linux-musl-arm64@1.77.5: - resolution: {integrity: sha512-ZWl8K8rCL4/phm3IPWDADwjnYAiohoaKg7BKjGo+36zv8P0ocoA0A3j4xx7/kjUJWagOmmoTyYxoOu+lo1NaKw==} + /sass-embedded-linux-musl-arm64@1.77.8: + resolution: {integrity: sha512-j8cgQxNWecYK+aH8ESFsyam/Q6G+9gg8eJegiRVpA9x8yk3ykfHC7UdQWwUcF22ZcuY4zegrjJx8k+thsgsOVA==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [linux] @@ -14427,8 +14511,8 @@ packages: dev: true optional: true - /sass-embedded-linux-musl-arm@1.77.5: - resolution: {integrity: sha512-TLhJzd1TJ0oX1oULobkWLMDLeErD27WbhdZqxtFvIqzyO+1TZPMwojhRX4YNWmHdmmYhIuXTR9foWxwL3Xjgsg==} + /sass-embedded-linux-musl-arm@1.77.8: + resolution: {integrity: sha512-nFkhSl3uu9btubm+JBW7uRglNVJ8W8dGfzVqh3fyQJKS1oyBC3vT3VOtfbT9YivXk28wXscSHpqXZwY7bUuopA==} engines: {node: '>=14.0.0'} cpu: [arm] os: [linux] @@ -14436,8 +14520,8 @@ packages: dev: true optional: true - /sass-embedded-linux-musl-ia32@1.77.5: - resolution: {integrity: sha512-83zNSgsIIc+tYQFKepFIlvAvAHnbWSpZ824MjqXJLeCbfzcMO8SZ/q6OA0Zd2SIrf79lCWI4OfPHqp1PI6M7HQ==} + /sass-embedded-linux-musl-ia32@1.77.8: + resolution: {integrity: sha512-oWveMe+8TFlP8WBWPna/+Ec5TV0CE+PxEutyi0ltSruBds2zxRq9dPVOqrpPcDN9QUx50vNZC0Afgch0aQEd0g==} engines: {node: '>=14.0.0'} cpu: [ia32] os: [linux] @@ -14445,8 +14529,8 @@ packages: dev: true optional: true - /sass-embedded-linux-musl-x64@1.77.5: - resolution: {integrity: sha512-/SW9ggXZJilbRbKvRHAxEuQM6Yr9piEpvK7/aDevFL2XFvBW9x+dTzpH5jPVEmM0qWdJisS1r5mEv8AXUUdQZg==} + /sass-embedded-linux-musl-x64@1.77.8: + resolution: {integrity: sha512-2NtRpMXHeFo9kaYxuZ+Ewwo39CE7BTS2JDfXkTjZTZqd8H+8KC53eBh516YQnn2oiqxSiKxm7a6pxbxGZGwXOQ==} engines: {node: '>=14.0.0'} cpu: [x64] os: [linux] @@ -14454,8 +14538,8 @@ packages: dev: true optional: true - /sass-embedded-linux-x64@1.77.5: - resolution: {integrity: sha512-3EmYeY+K8nMwIy1El9C+mPuONMQyXSCD6Yyztn3G7moPdZTqXrTL7kTJIl+SRq1tCcnOMMGXnBRE7Kpou1wd+w==} + /sass-embedded-linux-x64@1.77.8: + resolution: {integrity: sha512-ND5qZLWUCpOn7LJfOf0gLSZUWhNIysY+7NZK1Ctq+pM6tpJky3JM5I1jSMplNxv5H3o8p80n0gSm+fcjsEFfjQ==} engines: {node: '>=14.0.0'} cpu: [x64] os: [linux] @@ -14464,8 +14548,8 @@ packages: dev: true optional: true - /sass-embedded-win32-arm64@1.77.5: - resolution: {integrity: sha512-dwVFOqkyfCRQgQB8CByH+MG93fp7IsfFaPDDCQVzVFAT00+HXk/dWFPMnv65XDDndGwsUE1KlZnjg8iOBDlRdw==} + /sass-embedded-win32-arm64@1.77.8: + resolution: {integrity: sha512-7L8zT6xzEvTYj86MvUWnbkWYCNQP+74HvruLILmiPPE+TCgOjgdi750709BtppVJGGZSs40ZuN6mi/YQyGtwXg==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [win32] @@ -14474,8 +14558,8 @@ packages: dev: true optional: true - /sass-embedded-win32-ia32@1.77.5: - resolution: {integrity: sha512-1ij/K5d2sHPJkytWiPJLoUOVHJOB6cSWXq7jmedeuGooWnBmqnWycmGkhBAEK/t6t1XgzMPsiJMGiHKh7fnBuA==} + /sass-embedded-win32-ia32@1.77.8: + resolution: {integrity: sha512-7Buh+4bP0WyYn6XPbthkIa3M2vtcR8QIsFVg3JElVlr+8Ng19jqe0t0SwggDgbMX6AdQZC+Wj4F1BprZSok42A==} engines: {node: '>=14.0.0'} cpu: [ia32] os: [win32] @@ -14484,8 +14568,8 @@ packages: dev: true optional: true - /sass-embedded-win32-x64@1.77.5: - resolution: {integrity: sha512-Pn6j0jDGeEAhuuVY0CaZaBa7yNkqimEsbUDYYuQ9xh+XdGvZ86SZf6HXHUVIyQUjHORLwQ5f0XoKYYzKfC0y9w==} + /sass-embedded-win32-x64@1.77.8: + resolution: {integrity: sha512-rZmLIx4/LLQm+4GW39sRJW0MIlDqmyV0fkRzTmhFP5i/wVC7cuj8TUubPHw18rv2rkHFfBZKZJTCkPjCS5Z+SA==} engines: {node: '>=14.0.0'} cpu: [x64] os: [win32] @@ -14494,8 +14578,8 @@ packages: dev: true optional: true - /sass-embedded@1.77.5: - resolution: {integrity: sha512-JQI8aprHDRSNK5exXsbusswTENQPJxW1QWUcLdwuyESoJClT1zo8e+4cmaV5OAU4abcRC6Av4/RmLocPdjcR3A==} + /sass-embedded@1.77.8: + resolution: {integrity: sha512-WGXA6jcaoBo5Uhw0HX/s6z/sl3zyYQ7ZOnLOJzqwpctFcFmU4L07zn51e2VSkXXFpQZFAdMZNqOGz/7h/fvcRA==} engines: {node: '>=16.0.0'} dependencies: '@bufbuild/protobuf': 1.10.0 @@ -14505,23 +14589,23 @@ packages: supports-color: 8.1.1 varint: 6.0.0 optionalDependencies: - sass-embedded-android-arm: 1.77.5 - sass-embedded-android-arm64: 1.77.5 - sass-embedded-android-ia32: 1.77.5 - sass-embedded-android-x64: 1.77.5 - sass-embedded-darwin-arm64: 1.77.5 - sass-embedded-darwin-x64: 1.77.5 - sass-embedded-linux-arm: 1.77.5 - sass-embedded-linux-arm64: 1.77.5 - sass-embedded-linux-ia32: 1.77.5 - sass-embedded-linux-musl-arm: 1.77.5 - sass-embedded-linux-musl-arm64: 1.77.5 - sass-embedded-linux-musl-ia32: 1.77.5 - sass-embedded-linux-musl-x64: 1.77.5 - sass-embedded-linux-x64: 1.77.5 - sass-embedded-win32-arm64: 1.77.5 - sass-embedded-win32-ia32: 1.77.5 - sass-embedded-win32-x64: 1.77.5 + sass-embedded-android-arm: 1.77.8 + sass-embedded-android-arm64: 1.77.8 + sass-embedded-android-ia32: 1.77.8 + sass-embedded-android-x64: 1.77.8 + sass-embedded-darwin-arm64: 1.77.8 + sass-embedded-darwin-x64: 1.77.8 + sass-embedded-linux-arm: 1.77.8 + sass-embedded-linux-arm64: 1.77.8 + sass-embedded-linux-ia32: 1.77.8 + sass-embedded-linux-musl-arm: 1.77.8 + sass-embedded-linux-musl-arm64: 1.77.8 + sass-embedded-linux-musl-ia32: 1.77.8 + sass-embedded-linux-musl-x64: 1.77.8 + sass-embedded-linux-x64: 1.77.8 + sass-embedded-win32-arm64: 1.77.8 + sass-embedded-win32-ia32: 1.77.8 + sass-embedded-win32-x64: 1.77.8 dev: true /sass@1.77.4: @@ -14589,7 +14673,7 @@ packages: resolution: {integrity: sha512-LJWA9kSvMolR51oDE6PN3kALBNaUdkxzAGcexw8gjMA8xr5zUqK0JiR3CgARSqanYF3Z1YHvsErb1KDgh+v7Rg==} engines: {node: '>=12'} dependencies: - semver: 7.6.2 + semver: 7.6.3 dev: true /semver@5.7.2: @@ -14601,8 +14685,8 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - /semver@7.6.2: - resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} + /semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} engines: {node: '>=10'} hasBin: true @@ -14678,7 +14762,7 @@ packages: detect-libc: 2.0.3 node-addon-api: 6.1.0 prebuild-install: 7.1.2 - semver: 7.6.2 + semver: 7.6.3 simple-get: 4.0.1 tar-fs: 3.0.6 tunnel-agent: 0.6.0 @@ -14691,7 +14775,7 @@ packages: dependencies: color: 4.2.3 detect-libc: 2.0.3 - semver: 7.6.2 + semver: 7.6.3 optionalDependencies: '@img/sharp-darwin-arm64': 0.33.4 '@img/sharp-darwin-x64': 0.33.4 @@ -14787,7 +14871,7 @@ packages: resolution: {integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==} engines: {node: '>=10'} dependencies: - semver: 7.6.2 + semver: 7.6.3 dev: true /simple-wcswidth@1.0.1: @@ -14847,7 +14931,7 @@ packages: dependencies: '@juggle/resize-observer': 3.4.0 '@types/is-hotkey': 0.1.10 - '@types/lodash': 4.17.6 + '@types/lodash': 4.17.7 direction: 1.0.4 is-hotkey: 0.1.8 is-plain-object: 5.0.0 @@ -14937,7 +15021,7 @@ packages: git-hooks-list: 3.1.0 globby: 13.2.2 is-plain-obj: 4.1.0 - semver: 7.6.2 + semver: 7.6.3 sort-object-keys: 1.1.3 dev: true @@ -15188,17 +15272,17 @@ packages: /strnum@1.0.5: resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} - /strtok3@7.1.0: - resolution: {integrity: sha512-19dQEwG6Jd+VabjPRyBhymIF069vZiqWSZa2jJBoKJTsqGKnTxowGoQaLnz+yLARfDI041IUQekyPUMWElOgsQ==} - engines: {node: '>=14.16'} + /strtok3@7.1.1: + resolution: {integrity: sha512-mKX8HA/cdBqMKUr0MMZAFssCkIGoZeSCMXgnt79yKxNFguMLVFgRe6wB+fsL0NmoHDbeyZXczy7vEPSoo3rkzg==} + engines: {node: '>=16'} dependencies: '@tokenizer/token': 0.3.0 - peek-readable: 5.1.1 + peek-readable: 5.1.3 /stubs@3.0.0: resolution: {integrity: sha512-PdHt7hHUJKxvTCgbKX9C1V/ftOcjJQgz8BZwNfV5c4B6dcGqlpelTbJ999jBGZ2jYiPAwcX5dP6oBwVlBlUbxw==} - /styled-jsx@5.1.6(@babel/core@7.24.7)(react@19.0.0-rc-fb9a90fa48-20240614): + /styled-jsx@5.1.6(@babel/core@7.24.9)(react@19.0.0-rc-fb9a90fa48-20240614): resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==} engines: {node: '>= 12.0.0'} peerDependencies: @@ -15211,7 +15295,7 @@ packages: babel-plugin-macros: optional: true dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 client-only: 0.0.1 react: 19.0.0-rc-fb9a90fa48-20240614 @@ -15527,7 +15611,7 @@ packages: dependencies: typescript: 5.5.3 - /ts-jest@29.2.2(@babel/core@7.24.7)(esbuild@0.19.12)(jest@29.7.0)(typescript@5.5.3): + /ts-jest@29.2.2(@babel/core@7.24.9)(esbuild@0.19.12)(jest@29.7.0)(typescript@5.5.3): resolution: {integrity: sha512-sSW7OooaKT34AAngP6k1VS669a0HdLxkQZnlC7T76sckGCokXFnvJ3yRlQZGRTAoV5K19HfSgCiSwWOSIfcYlg==} engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} hasBin: true @@ -15551,7 +15635,7 @@ packages: esbuild: optional: true dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 bs-logger: 0.2.6 ejs: 3.1.10 esbuild: 0.19.12 @@ -15561,7 +15645,7 @@ packages: json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 - semver: 7.6.2 + semver: 7.6.3 typescript: 5.5.3 yargs-parser: 21.1.1 dev: true @@ -15769,8 +15853,8 @@ packages: engines: {node: '>=14.17'} hasBin: true - /ufo@1.5.3: - resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} + /ufo@1.5.4: + resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} dev: true /unbox-primitive@1.0.2: @@ -15892,7 +15976,7 @@ packages: '@uploadthing/shared': 6.7.8 consola: 3.2.3 effect: 3.4.5 - next: 15.0.0-canary.53(@babel/core@7.24.7)(@playwright/test@1.43.0)(babel-plugin-react-compiler@0.0.0-experimental-592953e-20240517)(react-dom@19.0.0-rc-fb9a90fa48-20240614)(react@19.0.0-rc-fb9a90fa48-20240614) + next: 15.0.0-canary.53(@babel/core@7.24.9)(@playwright/test@1.43.0)(babel-plugin-react-compiler@0.0.0-experimental-592953e-20240517)(react-dom@19.0.0-rc-fb9a90fa48-20240614)(react@19.0.0-rc-fb9a90fa48-20240614) std-env: 3.7.0 /uri-js@4.4.1: @@ -15975,19 +16059,19 @@ packages: engines: {node: '>= 0.8'} dev: false - /vue@3.4.31(typescript@5.5.3): - resolution: {integrity: sha512-njqRrOy7W3YLAlVqSKpBebtZpDVg21FPoaq1I7f/+qqBThK9ChAIjkRWgeP6Eat+8C+iia4P3OYqpATP21BCoQ==} + /vue@3.4.32(typescript@5.5.3): + resolution: {integrity: sha512-9mCGIAi/CAq7GtaLLLp2J92pEic+HArstG+pq6F+H7+/jB9a0Z7576n4Bh4k79/50L1cKMIhZC3MC0iGpl+1IA==} peerDependencies: typescript: 5.5.3 peerDependenciesMeta: typescript: optional: true dependencies: - '@vue/compiler-dom': 3.4.31 - '@vue/compiler-sfc': 3.4.31 - '@vue/runtime-dom': 3.4.31 - '@vue/server-renderer': 3.4.31(vue@3.4.31) - '@vue/shared': 3.4.31 + '@vue/compiler-dom': 3.4.32 + '@vue/compiler-sfc': 3.4.32 + '@vue/runtime-dom': 3.4.32 + '@vue/server-renderer': 3.4.32(vue@3.4.32) + '@vue/shared': 3.4.32 typescript: 5.5.3 dev: true diff --git a/templates/website/src/payload/collections/Posts/index.ts b/templates/website/src/payload/collections/Posts/index.ts index 721ac96e80..d96945661b 100644 --- a/templates/website/src/payload/collections/Posts/index.ts +++ b/templates/website/src/payload/collections/Posts/index.ts @@ -1,13 +1,12 @@ import type { CollectionConfig } from 'payload' import { + BlocksFeature, FixedToolbarFeature, HeadingFeature, HorizontalRuleFeature, InlineToolbarFeature, - lexicalEditor, -} from '@payloadcms/richtext-lexical' -import { BlocksFeature } from '@payloadcms/richtext-lexical' + lexicalEditor } from '@payloadcms/richtext-lexical' import { authenticated } from '../../access/authenticated' import { authenticatedOrPublished } from '../../access/authenticatedOrPublished' diff --git a/test/auth/payload-types.ts b/test/auth/payload-types.ts index 8d88b4a421..b74b1a26d2 100644 --- a/test/auth/payload-types.ts +++ b/test/auth/payload-types.ts @@ -207,6 +207,6 @@ export interface Auth { declare module 'payload' { - // @ts-ignore + // @ts-ignore export interface GeneratedTypes extends Config {} -} \ No newline at end of file +} diff --git a/test/helpers/NextRESTClient.ts b/test/helpers/NextRESTClient.ts index bd218a957d..536c4bc355 100644 --- a/test/helpers/NextRESTClient.ts +++ b/test/helpers/NextRESTClient.ts @@ -98,21 +98,21 @@ export class NextRESTClient { const url = `${this.serverURL}${this.config.routes.api}/${slugs}` return { - url, slug: slugs.split('/'), params: params ? qs.parse(params) : undefined, + url, } } async DELETE(path: ValidPath, options: RequestInit & RequestOptions = {}): Promise { - const { url, slug, params } = this.generateRequestParts(path) + const { slug, params, url } = this.generateRequestParts(path) const { query, ...rest } = options || {} const queryParams = generateQueryString(query, params) const request = new Request(`${url}${queryParams}`, { ...rest, - method: 'DELETE', headers: this.buildHeaders(options), + method: 'DELETE', }) return this._DELETE(request, { params: { slug } }) } @@ -121,14 +121,14 @@ export class NextRESTClient { path: ValidPath, options: Omit & RequestOptions = {}, ): Promise { - const { url, slug, params } = this.generateRequestParts(path) + const { slug, params, url } = this.generateRequestParts(path) const { query, ...rest } = options || {} const queryParams = generateQueryString(query, params) const request = new Request(`${url}${queryParams}`, { ...rest, - method: 'GET', headers: this.buildHeaders(options), + method: 'GET', }) return this._GET(request, { params: { slug } }) } @@ -140,8 +140,8 @@ export class NextRESTClient { `${this.serverURL}${this.config.routes.api}${this.config.routes.graphQL}${queryParams}`, { ...rest, - method: 'POST', headers: this.buildHeaders(options), + method: 'POST', }, ) return this._GRAPHQL_POST(request) @@ -154,8 +154,8 @@ export class NextRESTClient { const request = new Request(`${url}${queryParams}`, { ...rest, - method: 'PATCH', headers: this.buildHeaders(options), + method: 'PATCH', }) return this._PATCH(request, { params: { slug } }) } @@ -164,12 +164,12 @@ export class NextRESTClient { path: ValidPath, options: FileArg & RequestInit & RequestOptions = {}, ): Promise { - const { url, slug, params } = this.generateRequestParts(path) + const { slug, params, url } = this.generateRequestParts(path) const queryParams = generateQueryString({}, params) const request = new Request(`${url}${queryParams}`, { ...options, - method: 'POST', headers: this.buildHeaders(options), + method: 'POST', }) return this._POST(request, { params: { slug } }) }