diff --git a/packages/app-client/src/locales/ar.json b/packages/app-client/src/locales/ar.json index 8f50fa6e..80fdd575 100644 --- a/packages/app-client/src/locales/ar.json +++ b/packages/app-client/src/locales/ar.json @@ -42,10 +42,10 @@ "invalid-credentials": "البريد الإلكتروني أو كلمة المرور غير صحيحة.", "unknown": "حدث خطأ غير معروف. يرجى المحاولة مرة أخرى لاحقًا." }, - "footer": [ - "ليس لديك حساب؟", - "اتصل بمالك النسخة." - ] + "footer": { + "no-account": "ليس لديك حساب؟", + "register": "التسجيل" + } }, "create": { "errors": { diff --git a/packages/app-client/src/locales/de.json b/packages/app-client/src/locales/de.json index 07261829..b8e97f83 100644 --- a/packages/app-client/src/locales/de.json +++ b/packages/app-client/src/locales/de.json @@ -42,10 +42,10 @@ "invalid-credentials": "Ungültige E-Mail oder ungültiges Passwort.", "unknown": "Ein unbekannter Fehler ist aufgetreten. Bitte versuchen Sie es später noch einmal." }, - "footer": [ - "Sie haben keinen Account?", - "Kontaktieren Sie den Besitzer der Instanz." - ] + "footer": { + "no-account": "Sie haben keinen Account?", + "register": "Registrieren" + } }, "create": { "errors": { diff --git a/packages/app-client/src/locales/en.json b/packages/app-client/src/locales/en.json index de370e20..51d0e970 100644 --- a/packages/app-client/src/locales/en.json +++ b/packages/app-client/src/locales/en.json @@ -45,12 +45,31 @@ "submit": "Login", "errors": { "invalid-credentials": "Invalid email or password.", + "invalid-request": "Invalid credentials format. Please check your email and password.", "unknown": "An unknown error occurred. Please try again later." }, - "footer": [ - "Don't have an account?", - "Contact the owner of the instance." - ] + "footer": { + "no-account": "Don't have an account?", + "register": "Register" + } + }, + "register": { + "title": "Register to Enclosed", + "description": "This is a private instance of Enclosed. Create an account to be able to create notes.", + "registration-disabled": "Registration is disabled on this instance. Please contact the administrator for more information.", + "email": "Email", + "password": "Password", + "submit": "Register", + "errors": { + "password-too-short": "The password is too short. It must be at least 8 characters long.", + "email-taken": "The email address is already in use.", + "invalid-request": "Invalid credentials format. Please check your email and password.", + "unknown": "An unknown error occurred. Please try again later." + }, + "footer": { + "have-account": "Already have an account?", + "login": "Login" + } }, "create": { "errors": { diff --git a/packages/app-client/src/locales/es.json b/packages/app-client/src/locales/es.json index 3c00bc62..0d20ab66 100644 --- a/packages/app-client/src/locales/es.json +++ b/packages/app-client/src/locales/es.json @@ -40,10 +40,10 @@ "invalid-credentials": "Correo electrónico o contraseña incorrectos.", "unknown": "Ocurrió un error desconocido. Por favor, inténtelo de nuevo más tarde." }, - "footer": [ - "¿No tienes una cuenta?", - "Contacta al propietario de la instancia." - ] + "footer": { + "no-account": "¿No tienes una cuenta?", + "register": "Registrarse" + } }, "create": { "errors": { diff --git a/packages/app-client/src/locales/fr.json b/packages/app-client/src/locales/fr.json index 94cf4547..0aba5a23 100644 --- a/packages/app-client/src/locales/fr.json +++ b/packages/app-client/src/locales/fr.json @@ -47,10 +47,28 @@ "invalid-credentials": "Email ou mot de passe invalide.", "unknown": "Une erreur inconnue est survenue. Veuillez réessayer plus tard." }, - "footer": [ - "Vous n'avez pas de compte ?", - "Contactez le propriétaire de l'instance." - ] + "footer": { + "no-account": "Vous n'avez pas de compte?", + "register": "S'inscrire" + } + }, + "register": { + "title": "Inscription à Enclosed", + "description": "Ceci est une instance privée de Enclosed. Créez un compte pour pouvoir créer des notes.", + "registration-disabled": "La création de compte est désactivée sur cette instance. Veuillez contacter l'administrateur pour plus d'informations.", + "email": "Email", + "password": "Mot de passe", + "submit": "S'inscrire", + "errors": { + "password-too-short": "Le mot de passe est trop court. Il doit comporter au moins 8 caractères.", + "email-taken": "L'adresse email est déjà utilisée.", + "invalid-request": "Format de l'adresse email ou du mot de passe invalide. Veuillez vérifier vos identifiants.", + "unknown": "Une erreur inconnue est survenue. Veuillez réessayer plus tard." + }, + "footer": { + "have-account": "Vous avez déjà un compte?", + "login": "Se connecter" + } }, "create": { "errors": { diff --git a/packages/app-client/src/locales/hu.json b/packages/app-client/src/locales/hu.json index 45a8a59b..d50d1715 100644 --- a/packages/app-client/src/locales/hu.json +++ b/packages/app-client/src/locales/hu.json @@ -42,10 +42,10 @@ "invalid-credentials": "Érvénytelen e-mail vagy jelszó.", "unknown": "Ismeretlen hiba történt. Kérjük, próbálkozz később újra." }, - "footer": [ - "Nincs fiókod?", - "Vedd fel a kapcsolatot az Enclosed privát példányának tulajdonosával." - ] + "footer": { + "no-account": "Nincs fiókod?", + "register": "Regisztráció" + } }, "create": { "errors": { diff --git a/packages/app-client/src/locales/it.json b/packages/app-client/src/locales/it.json index 79c2f425..c1b91e19 100644 --- a/packages/app-client/src/locales/it.json +++ b/packages/app-client/src/locales/it.json @@ -47,10 +47,10 @@ "invalid-credentials": "Email o password non validi.", "unknown": "Errore sconosciuto. Riprova più tardi." }, - "footer": [ - "Non hai un account?", - "Contatta il proprietario dell'istanza." - ] + "footer": { + "no-account": "Non hai un account?", + "register": "Registrati" + } }, "create": { "errors": { diff --git a/packages/app-client/src/locales/nl.json b/packages/app-client/src/locales/nl.json index 07a5d8ce..7ba7a490 100644 --- a/packages/app-client/src/locales/nl.json +++ b/packages/app-client/src/locales/nl.json @@ -42,10 +42,10 @@ "invalid-credentials": "Ongeldig e-mailadres of wachtwoord.", "unknown": "Er is een onbekende fout opgetreden. Probeer het later nog eens." }, - "footer": [ - "Heb je geen account?", - "Neem contact op met de eigenaar van de instantie." - ] + "footer": { + "no-account": "Heb je geen account?", + "register": "Registreren" + } }, "create": { "errors": { diff --git a/packages/app-client/src/locales/pl.json b/packages/app-client/src/locales/pl.json index 5250e69c..ef26ae6e 100644 --- a/packages/app-client/src/locales/pl.json +++ b/packages/app-client/src/locales/pl.json @@ -47,10 +47,10 @@ "invalid-credentials": "Nieprawidłowy e-mail lub hasło.", "unknown": "Wystąpił nieznany błąd. Spróbuj ponownie później." }, - "footer": [ - "Nie masz konta?", - "Skontaktuj się z właścicielem instancji." - ] + "footer": { + "no-account": "Nie masz konta?", + "register": "Zarejestruj się" + } }, "create": { "errors": { diff --git a/packages/app-client/src/locales/pt-BR.json b/packages/app-client/src/locales/pt-BR.json index c7f589da..21a89c13 100644 --- a/packages/app-client/src/locales/pt-BR.json +++ b/packages/app-client/src/locales/pt-BR.json @@ -42,10 +42,10 @@ "invalid-credentials": "E-mail ou senha inválidos.", "unknown": "Ocorreu um erro. Tente novamente mais tarde." }, - "footer": [ - "Não tem uma conta?", - "Entre em contato com o dono da instância." - ] + "footer": { + "no-account": "Não tem uma conta?", + "register": "Registrar" + } }, "create": { "errors": { diff --git a/packages/app-client/src/locales/pt.json b/packages/app-client/src/locales/pt.json index dcf9ffdc..12d7827b 100644 --- a/packages/app-client/src/locales/pt.json +++ b/packages/app-client/src/locales/pt.json @@ -42,7 +42,10 @@ "invalid-credentials": "Email ou palavra-passe inválidos.", "unknown": "Ocorreu um erro. Tenta outra vez mais tarde." }, - "footer": ["Não tens conta?", "Contacta o criador da instância."] + "footer": { + "no-account": "Não tens conta?", + "register": "Registar" + } }, "create": { "errors": { diff --git a/packages/app-client/src/locales/ru.json b/packages/app-client/src/locales/ru.json index b70b9680..f511ffb9 100644 --- a/packages/app-client/src/locales/ru.json +++ b/packages/app-client/src/locales/ru.json @@ -40,10 +40,10 @@ "invalid-credentials": "Неверный адрес электронной почты или пароль.", "unknown": "Неизвестная ошибка. Пожалуйста, повторите попытку позже." }, - "footer": [ - "Нет учётной записи?", - "Связаться с владельцем" - ] + "footer": { + "no-account": "Нет учётной записи?", + "register": "Зарегистрироваться" + } }, "create": { "errors": { diff --git a/packages/app-client/src/locales/tr.json b/packages/app-client/src/locales/tr.json index fd83ca4a..b9e83533 100644 --- a/packages/app-client/src/locales/tr.json +++ b/packages/app-client/src/locales/tr.json @@ -47,7 +47,10 @@ "invalid-credentials": "Geçersiz e-posta veya şifre.", "unknown": "Bilinmeyen bir hata oluştu. Lütfen daha sonra tekrar deneyin." }, - "footer": ["Hesabınız yok mu?", "Bu sistemin sahibine ulaşın."] + "footer": { + "no-account": "Hesabınız yok mu?", + "register": "Kayıt ol" + } }, "create": { "errors": { diff --git a/packages/app-client/src/locales/vi.json b/packages/app-client/src/locales/vi.json index b5b714b0..1eb6db37 100644 --- a/packages/app-client/src/locales/vi.json +++ b/packages/app-client/src/locales/vi.json @@ -42,10 +42,10 @@ "invalid-credentials": "Email hoặc mật khẩu không hợp lệ.", "unknown": "Đã xảy ra lỗi không xác định. Vui lòng thử lại sau." }, - "footer": [ - "Bạn chưa có tài khoản?", - "Liên hệ với chủ sở hữu của phiên bản." - ] + "footer": { + "no-account": "Bạn chưa có tài khoản?", + "register": "Đăng ký" + } }, "create": { "errors": { diff --git a/packages/app-client/src/locales/zh-CN.json b/packages/app-client/src/locales/zh-CN.json index 07d58116..cc43c8cb 100644 --- a/packages/app-client/src/locales/zh-CN.json +++ b/packages/app-client/src/locales/zh-CN.json @@ -42,7 +42,10 @@ "invalid-credentials": "无效的电子邮箱或密码。", "unknown": "发生未知错误,稍后再试。" }, - "footer": ["没有账户?", "联系实例的拥有者。"] + "footer": { + "no-account": "没有账户?", + "register": "注册" + } }, "create": { "errors": { diff --git a/packages/app-client/src/locales/zh-TW.json b/packages/app-client/src/locales/zh-TW.json index 125bcd7d..008f12e0 100644 --- a/packages/app-client/src/locales/zh-TW.json +++ b/packages/app-client/src/locales/zh-TW.json @@ -47,10 +47,10 @@ "invalid-credentials": "無效的電子郵件或密碼。", "unknown": "發生未知錯誤。請稍後再試。" }, - "footer": [ - "沒有帳戶嗎?", - "聯繫網站擁有者。" - ] + "footer": { + "no-account": "沒有帳戶嗎?", + "register": "註冊" + } }, "create": { "errors": { diff --git a/packages/app-client/src/modules/auth/auth.services.ts b/packages/app-client/src/modules/auth/auth.services.ts index 712f5968..b1688661 100644 --- a/packages/app-client/src/modules/auth/auth.services.ts +++ b/packages/app-client/src/modules/auth/auth.services.ts @@ -1,6 +1,6 @@ import { apiClient } from '../shared/http/http-client'; -export { login }; +export { login, register }; async function login({ email, password }: { email: string; password: string }) { const { accessToken } = await apiClient<{ accessToken: string }>({ @@ -14,3 +14,16 @@ async function login({ email, password }: { email: string; password: string }) { return { accessToken }; } + +async function register({ email, password }: { email: string; password: string }) { + const { accessToken } = await apiClient<{ accessToken: string }>({ + path: 'api/auth/register', + method: 'POST', + body: { + email, + password, + }, + }); + + return { accessToken }; +} diff --git a/packages/app-client/src/modules/auth/components/generic-auth-page.component.tsx b/packages/app-client/src/modules/auth/components/generic-auth-page.component.tsx new file mode 100644 index 00000000..2714afbc --- /dev/null +++ b/packages/app-client/src/modules/auth/components/generic-auth-page.component.tsx @@ -0,0 +1,113 @@ +import { getConfig } from '@/modules/config/config.provider'; +import { useI18n } from '@/modules/i18n/i18n.provider'; +import { Alert, AlertDescription } from '@/modules/ui/components/alert'; +import { Button } from '@/modules/ui/components/button'; +import { TextField, TextFieldLabel, TextFieldRoot } from '@/modules/ui/components/textfield'; +import { useNavigate } from '@solidjs/router'; +import { type Component, createSignal, type JSX, onMount, Show } from 'solid-js'; +import { authStore } from '../auth.store'; + +export const GenericAuthPage: Component<{ + onSubmit: (args: { email: string; password: string }) => Promise<{ error?: { message: string; details?: string } }>; + title: string; + description: string; + submitText: string; + footer: JSX.Element; + validatePassword?: boolean; +}> = (props) => { + const [getEmail, setEmail] = createSignal(''); + const [getPassword, setPassword] = createSignal(''); + const [getError, setError] = createSignal<{ message: string; details?: string } | null>(null); + const { t } = useI18n(); + + const config = getConfig(); + const navigate = useNavigate(); + + onMount(() => { + if (!config.isAuthenticationRequired || authStore.getIsAuthenticated()) { + navigate('/'); + } + }); + + const onSubmit = async () => { + if (props.validatePassword && getPassword().length < 8) { + setError({ message: t('register.errors.password-too-short') }); + return; + } + + const { error } = await props.onSubmit({ email: getEmail(), password: getPassword() }); + + if (error) { + setError(error); + } + }; + + return ( +
+

+ {props.title} +

+
+ {props.description} +
+ +
{ + e.preventDefault(); + onSubmit(); + }} + > + + + {t('login.email')} + + { + setEmail(e.currentTarget.value); + setError(null); + }} + value={getEmail()} + required + /> + + + + + {t('login.password')} + + { + setPassword(e.currentTarget.value); + setError(null); + }} + value={getPassword()} + required + /> + + + + +

+ {/* {castArray(t('login.footer')).map(text => (

{text}
))} */} + {props.footer} +

+ + + {error => ( + + + {error().message} + + + )} + + +
+
+ ); +}; diff --git a/packages/app-client/src/modules/auth/pages/login.page.tsx b/packages/app-client/src/modules/auth/pages/login.page.tsx index 88d16da9..e2dce24a 100644 --- a/packages/app-client/src/modules/auth/pages/login.page.tsx +++ b/packages/app-client/src/modules/auth/pages/login.page.tsx @@ -1,174 +1,56 @@ -import { getConfig } from '@/modules/config/config.provider'; +import type { Component } from 'solid-js'; import { useI18n } from '@/modules/i18n/i18n.provider'; -import { isHttpErrorWithStatusCode } from '@/modules/shared/http/http-errors'; -import { Alert, AlertDescription } from '@/modules/ui/components/alert'; +import { isHttpErrorWithCode, isHttpErrorWithStatusCode } from '@/modules/shared/http/http-errors'; import { Button } from '@/modules/ui/components/button'; -import { TextField, TextFieldLabel, TextFieldRoot } from '@/modules/ui/components/textfield'; import { safely } from '@corentinth/chisels'; -import { useNavigate } from '@solidjs/router'; -import { castArray, sample } from 'lodash-es'; -import { type Component, createSignal, onMount, Show } from 'solid-js'; +import { A } from '@solidjs/router'; import { login } from '../auth.services'; import { authStore } from '../auth.store'; - -const quotations = [ - { - text: 'It\'s so secret, even I forgot what I wrote.', - author: 'Anonymous', - }, - { - text: 'If this note self-destructs, you probably typed something important.', - author: 'The Server, probably', - }, - { - text: 'Why write a love letter when you can send an encrypted one?', - author: 'Cupid', - }, - { - text: 'Your secrets are safe. Seriously, I’m not even able to peek.', - author: 'The Database', - }, - { - text: 'Even Sherlock can’t crack this code.', - author: 'Dr. Watson, probably', - }, - { - text: 'Writing something you’ll regret? At least it’ll disappear.', - author: 'The Note Timer', - }, -]; +import { GenericAuthPage } from '../components/generic-auth-page.component'; export const LoginPage: Component = () => { - const randomQuotation = sample(quotations)!; - const [getError, setError] = createSignal<{ message: string; details?: string } | null>(null); - const [getEmail, setEmail] = createSignal(''); - const [getPassword, setPassword] = createSignal(''); const { t } = useI18n(); - const config = getConfig(); - const navigate = useNavigate(); - - onMount(() => { - if (!config.isAuthenticationRequired || authStore.getIsAuthenticated()) { - navigate('/'); - } - }); - - const onSubmit = async () => { + const onSubmit = async ({ email, password }: { email: string; password: string }) => { const [loginResponse, error] = await safely(login({ - email: getEmail(), - password: getPassword(), + email, + password, })); if (isHttpErrorWithStatusCode({ error, statusCode: 401 })) { - setError({ message: t('login.errors.invalid-credentials') }); - return; + return { error: { message: t('login.errors.invalid-credentials') } }; + } + + if (isHttpErrorWithCode({ error, code: 'server.invalid_request.body' })) { + return { error: { message: t('login.errors.invalid-request') } }; } if (error) { - setError({ message: t('login.errors.unknown') }); - return; + return { error: { message: t('login.errors.unknown') } }; } const { accessToken } = loginResponse; authStore.setAccessToken({ accessToken }); window.location.href = authStore.getRedirectUrl() ?? '/'; + + return {}; }; return ( -
- - - -
-
-

- {t('login.title')} -

-
- {t('login.description')} -
- -
{ - e.preventDefault(); - onSubmit(); - }} - > - - - {t('login.email')} - - { - setEmail(e.currentTarget.value); - setError(null); - }} - value={getEmail()} - /> - - - - - {t('login.password')} - - { - setPassword(e.currentTarget.value); - setError(null); - }} - value={getPassword()} - /> - - - - -

- {castArray(t('login.footer')).map(text => (

{text}
))} -

- - - {error => ( - - - {error().message} - - - )} - - -
-
-
-
+ + )} + /> ); }; diff --git a/packages/app-client/src/modules/auth/pages/register.page.tsx b/packages/app-client/src/modules/auth/pages/register.page.tsx new file mode 100644 index 00000000..27cc2ec7 --- /dev/null +++ b/packages/app-client/src/modules/auth/pages/register.page.tsx @@ -0,0 +1,81 @@ +import type { Component } from 'solid-js'; +import { getConfig } from '@/modules/config/config.provider'; +import { useI18n } from '@/modules/i18n/i18n.provider'; +import { isHttpErrorWithCode, isHttpErrorWithStatusCode } from '@/modules/shared/http/http-errors'; +import { Button } from '@/modules/ui/components/button'; +import { safely } from '@corentinth/chisels'; +import { A } from '@solidjs/router'; +import { register } from '../auth.services'; +import { authStore } from '../auth.store'; +import { GenericAuthPage } from '../components/generic-auth-page.component'; + +export const RegisterPage: Component = () => { + const { t } = useI18n(); + const config = getConfig(); + + const onSubmit = async ({ email, password }: { email: string; password: string }) => { + const [loginResponse, error] = await safely(register({ + email, + password, + })); + + if (isHttpErrorWithStatusCode({ error, statusCode: 401 })) { + return { error: { message: t('login.errors.invalid-credentials') } }; + } + + if (isHttpErrorWithCode({ error, code: 'users.create.already_exists' })) { + return { error: { message: t('register.errors.email-taken') } }; + } + + if (isHttpErrorWithCode({ error, code: 'server.invalid_request.body' })) { + return { error: { message: t('register.errors.invalid-request') } }; + } + + if (error) { + return { error: { message: t('register.errors.unknown') } }; + } + + const { accessToken } = loginResponse; + + authStore.setAccessToken({ accessToken }); + window.location.href = authStore.getRedirectUrl() ?? '/'; + + return {}; + }; + + return ( + <> + {config.isUserRegistrationAllowed + ? ( + + {t('register.footer.have-account')} + + + )} + onSubmit={onSubmit} + validatePassword + /> + ) + : ( +
+

+ {t('register.title')} +

+
+ {t('register.registration-disabled')} +
+ +
+ )} + + ); +}; diff --git a/packages/app-client/src/modules/config/config.constants.ts b/packages/app-client/src/modules/config/config.constants.ts index ef72d18f..950e67d3 100644 --- a/packages/app-client/src/modules/config/config.constants.ts +++ b/packages/app-client/src/modules/config/config.constants.ts @@ -5,6 +5,7 @@ export const buildTimeConfig: Config = { documentationBaseUrl: import.meta.env.VITE_DOCUMENTATION_BASE_URL ?? 'https://docs.enclosed.cc', enclosedVersion: import.meta.env.VITE_ENCLOSED_VERSION ?? '0.0.0', isAuthenticationRequired: import.meta.env.VITE_IS_AUTHENTICATION_REQUIRED === 'true', + isUserRegistrationAllowed: import.meta.env.VITE_IS_USER_REGISTRATION_ALLOWED === 'true', defaultDeleteNoteAfterReading: import.meta.env.VITE_DEFAULT_DELETE_NOTE_AFTER_READING === 'true', defaultNoteTtlSeconds: Number(import.meta.env.VITE_DEFAULT_NOTE_TTL_SECONDS ?? 3600), defaultNoteNoExpiration: import.meta.env.VITE_DEFAULT_NOTE_NO_EXPIRATION === 'true', diff --git a/packages/app-client/src/modules/config/config.types.ts b/packages/app-client/src/modules/config/config.types.ts index e65a33a2..49b25d3e 100644 --- a/packages/app-client/src/modules/config/config.types.ts +++ b/packages/app-client/src/modules/config/config.types.ts @@ -6,5 +6,6 @@ export type Config = { defaultDeleteNoteAfterReading: boolean; defaultNoteTtlSeconds: number; isSettingNoExpirationAllowed: boolean; + isUserRegistrationAllowed: boolean; defaultNoteNoExpiration: boolean; }; diff --git a/packages/app-client/src/modules/ui/layouts/auth.layout.tsx b/packages/app-client/src/modules/ui/layouts/auth.layout.tsx new file mode 100644 index 00000000..70be334f --- /dev/null +++ b/packages/app-client/src/modules/ui/layouts/auth.layout.tsx @@ -0,0 +1,74 @@ +import type { ParentComponent } from 'solid-js'; +import { useI18n } from '@/modules/i18n/i18n.provider'; + +import { Button } from '@/modules/ui/components/button'; +import { sample } from 'lodash-es'; + +const quotations = [ + { + text: 'It\'s so secret, even I forgot what I wrote.', + author: 'Anonymous', + }, + { + text: 'If this note self-destructs, you probably typed something important.', + author: 'The Server, probably', + }, + { + text: 'Why write a love letter when you can send an encrypted one?', + author: 'Cupid', + }, + { + text: 'Your secrets are safe. Seriously, I’m not even able to peek.', + author: 'The Database', + }, + { + text: 'Even Sherlock can’t crack this code.', + author: 'Dr. Watson, probably', + }, + { + text: 'Writing something you’ll regret? At least it’ll disappear.', + author: 'The Note Timer', + }, +]; + +export const AuthLayout: ParentComponent = (props) => { + const randomQuotation = sample(quotations)!; + + const { t } = useI18n(); + + return ( +
+ + + +
+
+ {props.children} +
+
+
+ ); +}; diff --git a/packages/app-client/src/routes.tsx b/packages/app-client/src/routes.tsx index bca14995..95f4ec39 100644 --- a/packages/app-client/src/routes.tsx +++ b/packages/app-client/src/routes.tsx @@ -1,10 +1,12 @@ import { A, type RouteDefinition } from '@solidjs/router'; import { LoginPage } from './modules/auth/pages/login.page'; +import { RegisterPage } from './modules/auth/pages/register.page'; import { NOTE_ID_REGEX } from './modules/notes/notes.constants'; import { CreateNotePage } from './modules/notes/pages/create-note.page'; import { ViewNotePage } from './modules/notes/pages/view-note.page'; import { Button } from './modules/ui/components/button'; import { AppLayout } from './modules/ui/layouts/app.layout'; +import { AuthLayout } from './modules/ui/layouts/auth.layout'; export const routes: RouteDefinition[] = [ { @@ -41,7 +43,18 @@ export const routes: RouteDefinition[] = [ ], }, { - path: '/login', - component: LoginPage, + path: '/', + component: AuthLayout, + children: [ + { + path: '/login', + component: LoginPage, + }, + { + path: '/register', + component: RegisterPage, + }, + ], + }, ]; diff --git a/packages/app-server/package.json b/packages/app-server/package.json index 36cc23a8..87574804 100644 --- a/packages/app-server/package.json +++ b/packages/app-server/package.json @@ -34,12 +34,12 @@ "bcryptjs": "^2.4.3", "date-fns": "^4.0.0", "figue": "^2.1.0", - "hono": "^4.5.8", + "hono": "^4.6.15", "lodash-es": "^4.17.21", "node-cron": "^3.0.3", "pino": "^9.3.2", "ulid-workers": "^2.1.0", - "unstorage": "^1.10.2", + "unstorage": "^1.14.4", "zod": "^3.23.8" }, "devDependencies": { diff --git a/packages/app-server/src/modules/app/auth/auth.models.test.ts b/packages/app-server/src/modules/app/auth/auth.models.test.ts index f29d2914..f0208650 100644 --- a/packages/app-server/src/modules/app/auth/auth.models.test.ts +++ b/packages/app-server/src/modules/app/auth/auth.models.test.ts @@ -1,5 +1,6 @@ +import type { Config } from '../config/config.types'; import { describe, expect, test } from 'vitest'; -import { extractAccessToken } from './auth.models'; +import { extractAccessToken, getIsRegistrationAllowed } from './auth.models'; describe('auth models', () => { describe('extractAccessToken', () => { @@ -35,4 +36,45 @@ describe('auth models', () => { }); }); }); + + describe('getIsRegistrationAllowed', () => { + test('user registration is allowed if the app requires authentication and user registration is allowed in the config', () => { + expect(getIsRegistrationAllowed({ + config: { + public: { + isUserRegistrationAllowed: true, + isAuthenticationRequired: true, + }, + } as Config, + })).to.eql(true); + + expect(getIsRegistrationAllowed({ + config: { + public: { + isUserRegistrationAllowed: false, + isAuthenticationRequired: true, + }, + } as Config, + })).to.eql(false); + + // Make no sense, but it's a valid configuration + expect(getIsRegistrationAllowed({ + config: { + public: { + isUserRegistrationAllowed: true, + isAuthenticationRequired: false, + }, + } as Config, + })).to.eql(false); + + expect(getIsRegistrationAllowed({ + config: { + public: { + isUserRegistrationAllowed: false, + isAuthenticationRequired: false, + }, + } as Config, + })).to.eql(false); + }); + }); }); diff --git a/packages/app-server/src/modules/app/auth/auth.models.ts b/packages/app-server/src/modules/app/auth/auth.models.ts index 17d0f3ae..f776b551 100644 --- a/packages/app-server/src/modules/app/auth/auth.models.ts +++ b/packages/app-server/src/modules/app/auth/auth.models.ts @@ -1,4 +1,6 @@ -export { extractAccessToken }; +import type { Config } from '../config/config.types'; + +export { extractAccessToken, getIsRegistrationAllowed }; function extractAccessToken({ autorisationHeader }: { autorisationHeader: string | undefined }) { if (!autorisationHeader) { @@ -13,3 +15,7 @@ function extractAccessToken({ autorisationHeader }: { autorisationHeader: string return { accessToken }; } + +function getIsRegistrationAllowed({ config }: { config: Config }) { + return config.public.isUserRegistrationAllowed && config.public.isAuthenticationRequired; +} diff --git a/packages/app-server/src/modules/app/auth/auth.routes.ts b/packages/app-server/src/modules/app/auth/auth.routes.ts index ee347cf6..dd6590af 100644 --- a/packages/app-server/src/modules/app/auth/auth.routes.ts +++ b/packages/app-server/src/modules/app/auth/auth.routes.ts @@ -2,13 +2,17 @@ import type { ServerInstance } from '../server.types'; import { z } from 'zod'; import { validateJsonBody } from '../../shared/validation/validation'; import { createUserRepository } from '../users/users.repository'; +import { createUsersStorage } from '../users/users.storage'; +import { registerUser } from '../users/users.usecases'; import { createUnauthorizedError } from './auth.errors'; +import { getIsRegistrationAllowed } from './auth.models'; import { arePasswordsMatching, createJwtToken } from './auth.services'; export { registerAuthRoutes }; function registerAuthRoutes({ app }: { app: ServerInstance }) { setupLoginRoute({ app }); + setupRegisterUserRoute({ app }); } function setupLoginRoute({ app }: { app: ServerInstance }) { @@ -21,10 +25,13 @@ function setupLoginRoute({ app }: { app: ServerInstance }) { async (context) => { const config = context.get('config'); const { email, password } = context.req.valid('json'); + const storage = context.get('storage'); - const { getUserByEmail } = createUserRepository({ config }); + const { usersStorage } = createUsersStorage({ storage }); - const { user } = getUserByEmail({ email }); + const { getUserByEmail } = createUserRepository({ config, usersStorage }); + + const { user } = await getUserByEmail({ email }); if (!user) { // This is a security measure to prevent timing attacks and don't leak the existence of the user @@ -50,3 +57,42 @@ function setupLoginRoute({ app }: { app: ServerInstance }) { }, ); } + +function setupRegisterUserRoute({ app }: { app: ServerInstance }) { + app.post( + '/api/auth/register', + (context, next) => { + const config = context.get('config'); + const isUserRegistrationAllowed = getIsRegistrationAllowed({ config }); + + if (!isUserRegistrationAllowed) { + throw createUnauthorizedError(); + } + + return next(); + }, + validateJsonBody(z.object({ + email: z.string().email(), + password: z.string().min(8), + })), + async (context) => { + const config = context.get('config'); + const { email, password } = context.req.valid('json'); + const storage = context.get('storage'); + const { usersStorage } = createUsersStorage({ storage }); + + const userRepository = createUserRepository({ config, usersStorage }); + + await registerUser({ email, password, userRepository }); + + const { token } = await createJwtToken({ + jwtSecret: config.authentication.jwtSecret, + durationSec: config.authentication.jwtDurationSeconds, + }); + + return context.json({ + accessToken: token, + }); + }, + ); +} diff --git a/packages/app-server/src/modules/app/auth/auth.services.ts b/packages/app-server/src/modules/app/auth/auth.services.ts index 375d573d..dae0118d 100644 --- a/packages/app-server/src/modules/app/auth/auth.services.ts +++ b/packages/app-server/src/modules/app/auth/auth.services.ts @@ -1,12 +1,16 @@ import bcrypt from 'bcryptjs'; import { sign, verify } from 'hono/jwt'; -export { arePasswordsMatching, createJwtToken, isJwtValid }; +export { arePasswordsMatching, createJwtToken, hashPassword, isJwtValid }; async function arePasswordsMatching({ password, passwordHash }: { password: string; passwordHash: string }) { return await bcrypt.compare(password, passwordHash); } +async function hashPassword({ password }: { password: string }) { + return await bcrypt.hash(password, 10); +} + async function createJwtToken({ jwtSecret, durationSec }: { jwtSecret: string; durationSec?: number }) { const token = await sign( { diff --git a/packages/app-server/src/modules/app/auth/e2e/register.e2e.test.ts b/packages/app-server/src/modules/app/auth/e2e/register.e2e.test.ts new file mode 100644 index 00000000..5dbcd718 --- /dev/null +++ b/packages/app-server/src/modules/app/auth/e2e/register.e2e.test.ts @@ -0,0 +1,154 @@ +import { describe, expect, test } from 'vitest'; +import { createMemoryStorage } from '../../../storage/factories/memory.storage'; +import { overrideConfig } from '../../config/config.test-utils'; +import { createServer } from '../../server'; + +describe('e2e', () => { + describe('auth register', () => { + describe('when the user registration is allowed', () => { + test('when a user already exists with the same email, a 409 is returned', async () => { + const { storage } = createMemoryStorage(); + + const { app } = createServer({ + storageFactory: () => ({ storage }), + config: overrideConfig({ + public: { + isAuthenticationRequired: true, + isUserRegistrationAllowed: true, + }, + authentication: { + authUsers: [{ + email: 'foo@example.com', + passwordHash: '$2a$10$rdGlTDCu0pAFx43nOw3bterqyIMIjj3WHekKe6Uo6aBby8sDum7Q.', // bcrypt hash of 'super-secure-pwd' + }], + }, + }), + }); + + const response = await app.request( + '/api/auth/register', + { + method: 'POST', + body: JSON.stringify({ + email: 'foo@example.com', + password: 'super-secure-pwd', + }), + headers: new Headers({ 'Content-Type': 'application/json' }), + }, + ); + + expect(response.status).to.eql(409); + expect(await response.json()).to.eql({ + error: { + code: 'users.create.already_exists', + message: 'User already exists', + }, + }); + }); + + test('when the user does not exist, the user is created and a token is returned', async () => { + const { storage } = createMemoryStorage(); + + const { app } = createServer({ + storageFactory: () => ({ storage }), + config: overrideConfig({ + public: { + isAuthenticationRequired: true, + isUserRegistrationAllowed: true, + }, + + }), + }); + + const response = await app.request( + '/api/auth/register', + { + method: 'POST', + body: JSON.stringify({ + email: 'foo@example.com', + password: 'super-secure-pwd', + }), + headers: new Headers({ 'Content-Type': 'application/json' }), + }, + ); + + expect(response.status).to.eql(200); + const { accessToken } = await response.json(); + + expect(accessToken).toBeDefined(); + expect(accessToken).to.be.a('string'); + + const user = await storage.getItem('users:foo@example.com'); + expect(user.email).to.eql('foo@example.com'); + }); + + test('when the user registration is disabled, a 401 is returned', async () => { + const { storage } = createMemoryStorage(); + + const { app } = createServer({ + storageFactory: () => ({ storage }), + config: overrideConfig({ + public: { + isAuthenticationRequired: true, + isUserRegistrationAllowed: false, + }, + }), + }); + + const response = await app.request( + '/api/auth/register', + { + method: 'POST', + body: JSON.stringify({ + email: 'foo@example.com', + password: 'super-secure-pwd', + }), + headers: new Headers({ 'Content-Type': 'application/json' }), + }, + ); + + expect(response.status).to.eql(401); + expect(await response.json()).to.eql({ + error: { + code: 'auth.unauthorized', + message: 'Unauthorized', + }, + }); + }); + + test('when the authentication is not required, a 401 is returned', async () => { + const { storage } = createMemoryStorage(); + + const { app } = createServer({ + storageFactory: () => ({ storage }), + config: overrideConfig({ + public: { + isAuthenticationRequired: false, + isUserRegistrationAllowed: true, + }, + }), + }); + + const response = await app.request( + '/api/auth/register', + { + method: 'POST', + body: JSON.stringify({ + email: 'foo@example.com', + password: 'super-secure-pwd', + }), + headers: new Headers({ 'Content-Type': 'application/json' }), + }, + ); + + expect(response.status).to.eql(401); + expect(await response.json()).to.eql({ + error: { + code: 'auth.unauthorized', + message: 'Unauthorized', + }, + }); + }); + }); + }); +}); diff --git a/packages/app-server/src/modules/app/config/config.ts b/packages/app-server/src/modules/app/config/config.ts index 28706947..348e1460 100644 --- a/packages/app-server/src/modules/app/config/config.ts +++ b/packages/app-server/src/modules/app/config/config.ts @@ -142,17 +142,7 @@ export const configDefinition = { default: '/', env: 'PUBLIC_BASE_API_URL', }, - isAuthenticationRequired: { - doc: 'Whether to require authentication to access the public api', - schema: z - .string() - .trim() - .toLowerCase() - .transform(x => x === 'true') - .pipe(z.boolean()), - default: 'false', - env: 'PUBLIC_IS_AUTHENTICATION_REQUIRED', - }, + defaultDeleteNoteAfterReading: { doc: 'The default value for the `Delete note after reading` checkbox in the note creation form', schema: z @@ -200,6 +190,28 @@ export const configDefinition = { default: 'false', env: 'PUBLIC_DEFAULT_NOTE_NO_EXPIRATION', }, + isAuthenticationRequired: { + doc: 'Whether to require authentication to access the public api', + schema: z + .string() + .trim() + .toLowerCase() + .transform(x => x === 'true') + .pipe(z.boolean()), + default: 'false', + env: 'PUBLIC_IS_AUTHENTICATION_REQUIRED', + }, + isUserRegistrationAllowed: { + doc: 'Whether to allow users to register. Effective only if authentication is required.', + schema: z + .string() + .trim() + .toLowerCase() + .transform(x => x === 'true') + .pipe(z.boolean()), + default: 'true', + env: 'PUBLIC_AUTHENTICATION_IS_USER_REGISTRATION_ALLOWED', + }, }, authentication: { jwtSecret: { diff --git a/packages/app-server/src/modules/app/users/users.errors.ts b/packages/app-server/src/modules/app/users/users.errors.ts new file mode 100644 index 00000000..c4e11027 --- /dev/null +++ b/packages/app-server/src/modules/app/users/users.errors.ts @@ -0,0 +1,7 @@ +import { createErrorFactory } from '../../shared/errors/errors'; + +export const createUserAlreadyExistsError = createErrorFactory({ + code: 'users.create.already_exists', + message: 'User already exists', + statusCode: 409, +}); diff --git a/packages/app-server/src/modules/app/users/users.repository.test.ts b/packages/app-server/src/modules/app/users/users.repository.test.ts new file mode 100644 index 00000000..920abd9f --- /dev/null +++ b/packages/app-server/src/modules/app/users/users.repository.test.ts @@ -0,0 +1,47 @@ +import type { Config } from '../config/config.types'; +import { describe, expect, test } from 'vitest'; +import { createMemoryStorage } from '../../storage/factories/memory.storage'; +import { createUserRepository } from './users.repository'; +import { createUsersStorage } from './users.storage'; + +describe('users repository', () => { + describe('getUserByEmail', () => { + test('for retro-compatibility and ease of use, a user can be configured either from the config or in the storage', async () => { + const { storage } = createMemoryStorage(); + + const { usersStorage } = createUsersStorage({ storage }); + + const configUsers = [ + { email: 'aaaa@example.com', passwordHash: 'hash1' }, + ]; + + await usersStorage.setItem('bbbb@example.com', { + email: 'bbbb@example.com', + passwordHash: 'hash2', + }); + + const usersRepository = createUserRepository({ + config: { authentication: { authUsers: configUsers } } as Config, + usersStorage, + }); + + expect( + await usersRepository.getUserByEmail({ email: 'aaaa@example.com' }), + ).to.eql({ + user: { email: 'aaaa@example.com', passwordHash: 'hash1' }, + }); + + expect( + await usersRepository.getUserByEmail({ email: 'bbbb@example.com' }), + ).to.eql({ + user: { email: 'bbbb@example.com', passwordHash: 'hash2' }, + }); + + expect( + await usersRepository.getUserByEmail({ email: 'cccc@example.com' }), + ).to.eql({ + user: undefined, + }); + }); + }); +}); diff --git a/packages/app-server/src/modules/app/users/users.repository.ts b/packages/app-server/src/modules/app/users/users.repository.ts index 79c9f8da..598fcf8e 100644 --- a/packages/app-server/src/modules/app/users/users.repository.ts +++ b/packages/app-server/src/modules/app/users/users.repository.ts @@ -1,21 +1,61 @@ import type { Config } from '../config/config.types'; +import type { UsersStorage } from './users.storage'; +import type { StoredUser } from './users.types'; import { injectArguments } from '@corentinth/chisels'; export { createUserRepository }; -function createUserRepository({ config }: { config: Config }) { +export type UserRepository = ReturnType; + +function createUserRepository({ config, usersStorage }: { config: Config; usersStorage: UsersStorage }) { return injectArguments( { getUserByEmail, + saveUser, }, { - authUsers: config.authentication.authUsers, + configUsers: config.authentication.authUsers, + usersStorage, }, ); } -function getUserByEmail({ email, authUsers }: { email: string; authUsers: { email: string; passwordHash: string }[] }): { user: { email: string; passwordHash: string } | undefined } { - const user = authUsers.find(user => user.email === email); +async function getUserByEmail({ + email, + configUsers, + usersStorage, +}: { + email: string; + configUsers: { email: string; passwordHash: string }[]; + usersStorage: UsersStorage; +}): Promise<{ user: StoredUser | undefined }> { + const userFromConfig = configUsers.find(user => user.email === email); + + if (userFromConfig) { + return { user: userFromConfig }; + } + + const userFromStorage = await usersStorage.getItem(email); + + return { + user: userFromStorage ?? undefined, + }; +} - return { user }; +async function saveUser({ + email, + passwordHash, + usersStorage, + now = new Date(), +}: { + email: string; + passwordHash: string; + usersStorage: UsersStorage; + now?: Date; +}): Promise { + await usersStorage.setItem(email, { + email, + passwordHash, + createdAt: now, + }); } diff --git a/packages/app-server/src/modules/app/users/users.storage.ts b/packages/app-server/src/modules/app/users/users.storage.ts new file mode 100644 index 00000000..70032406 --- /dev/null +++ b/packages/app-server/src/modules/app/users/users.storage.ts @@ -0,0 +1,11 @@ +import type { Storage } from '../../storage/storage.types'; +import type { StoredUser } from './users.types'; +import { prefixStorage } from 'unstorage'; + +export type UsersStorage = Storage; + +export function createUsersStorage({ storage }: { storage: Storage }) { + const usersStorage = prefixStorage(storage as Storage, 'users'); + + return { usersStorage }; +} diff --git a/packages/app-server/src/modules/app/users/users.types.ts b/packages/app-server/src/modules/app/users/users.types.ts new file mode 100644 index 00000000..53fd6a21 --- /dev/null +++ b/packages/app-server/src/modules/app/users/users.types.ts @@ -0,0 +1 @@ +export type StoredUser = { email: string; passwordHash: string }; diff --git a/packages/app-server/src/modules/app/users/users.usecases.ts b/packages/app-server/src/modules/app/users/users.usecases.ts new file mode 100644 index 00000000..249b6c2f --- /dev/null +++ b/packages/app-server/src/modules/app/users/users.usecases.ts @@ -0,0 +1,15 @@ +import type { UserRepository } from './users.repository'; +import { hashPassword } from '../auth/auth.services'; +import { createUserAlreadyExistsError } from './users.errors'; + +export async function registerUser({ email, password, userRepository, now = new Date() }: { email: string; password: string; userRepository: UserRepository; now?: Date }): Promise { + const { user } = await userRepository.getUserByEmail({ email }); + + if (user) { + throw createUserAlreadyExistsError(); + } + + const passwordHash = await hashPassword({ password }); + + await userRepository.saveUser({ email, passwordHash, now }); +} diff --git a/packages/app-server/src/modules/shared/errors/errors.ts b/packages/app-server/src/modules/shared/errors/errors.ts index 67e48995..cc4a5507 100644 --- a/packages/app-server/src/modules/shared/errors/errors.ts +++ b/packages/app-server/src/modules/shared/errors/errors.ts @@ -1,4 +1,4 @@ -import type { StatusCode } from 'hono/utils/http-status'; +import type { ContentfulStatusCode } from 'hono/utils/http-status'; import { get, isError, toString } from 'lodash-es'; export { createError, createErrorFactory, isCustomError }; @@ -7,14 +7,14 @@ type ErrorOptions = { message: string; code: string; cause?: unknown; - statusCode: StatusCode; + statusCode: ContentfulStatusCode; isInternal?: boolean; }; class CustomError extends Error { code: string; cause?: Error | null; - statusCode: StatusCode; + statusCode: ContentfulStatusCode; isCustomError = true; isInternal?: boolean; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 40468618..2a13c207 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -31,7 +31,7 @@ importers: devDependencies: bumpp: specifier: ^9.5.2 - version: 9.7.1(magicast@0.3.5) + version: 9.9.2(magicast@0.3.5) packages/app-client: dependencies: @@ -52,13 +52,13 @@ importers: version: 4.2.1(solid-js@1.9.3) '@solidjs/router': specifier: ^0.14.3 - version: 0.14.8(solid-js@1.9.3) + version: 0.14.10(solid-js@1.9.3) '@unocss/reset': specifier: ^0.64.0 - version: 0.64.0 + version: 0.64.1 class-variance-authority: specifier: ^0.7.0 - version: 0.7.0 + version: 0.7.1 clsx: specifier: ^2.1.1 version: 2.1.1 @@ -76,23 +76,23 @@ importers: version: 0.2.8(solid-js@1.9.3) tailwind-merge: specifier: ^2.5.2 - version: 2.5.4 + version: 2.6.0 unocss-preset-animations: specifier: ^1.1.0 - version: 1.1.0(@unocss/preset-wind@0.64.0)(unocss@0.64.0(postcss@8.4.48)(rollup@4.25.0)(vite@5.4.11(@types/node@22.7.4)(less@4.2.0)(terser@5.32.0))(vue@3.5.12(typescript@5.6.2))) + version: 1.1.0(@unocss/preset-wind@0.65.3)(unocss@0.64.1(postcss@8.4.49)(rollup@4.29.1)(vite@5.4.11(@types/node@22.7.4)(less@4.2.1)(terser@5.32.0))(vue@3.5.12(typescript@5.6.2))) uqr: specifier: ^0.1.2 version: 0.1.2 devDependencies: '@antfu/eslint-config': specifier: 'catalog:' - version: 3.6.2(@typescript-eslint/utils@8.5.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2))(@vue/compiler-sfc@3.5.12)(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2)(vitest@2.1.1(@types/node@22.7.4)(jsdom@25.0.1)(less@4.2.0)(terser@5.32.0)) + version: 3.6.2(@typescript-eslint/utils@8.5.0(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2))(@vue/compiler-sfc@3.5.12)(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2)(vitest@2.1.1(@types/node@22.7.4)(jsdom@25.0.1)(less@4.2.1)(terser@5.32.0)) '@iconify-json/tabler': specifier: ^1.1.120 - version: 1.2.6 + version: 1.2.13 '@playwright/test': specifier: ^1.46.1 - version: 1.48.1 + version: 1.49.1 '@types/lodash-es': specifier: ^4.17.12 version: 4.17.12 @@ -101,7 +101,7 @@ importers: version: 22.7.4 eslint: specifier: 'catalog:' - version: 9.11.0(jiti@1.21.6) + version: 9.11.0(jiti@2.4.2) jsdom: specifier: ^25.0.0 version: 25.0.1 @@ -113,16 +113,16 @@ importers: version: 5.6.2 unocss: specifier: ^0.64.0 - version: 0.64.0(postcss@8.4.48)(rollup@4.25.0)(vite@5.4.11(@types/node@22.7.4)(less@4.2.0)(terser@5.32.0))(vue@3.5.12(typescript@5.6.2)) + version: 0.64.1(postcss@8.4.49)(rollup@4.29.1)(vite@5.4.11(@types/node@22.7.4)(less@4.2.1)(terser@5.32.0))(vue@3.5.12(typescript@5.6.2)) vite: specifier: ^5.0.11 - version: 5.4.11(@types/node@22.7.4)(less@4.2.0)(terser@5.32.0) + version: 5.4.11(@types/node@22.7.4)(less@4.2.1)(terser@5.32.0) vite-plugin-solid: specifier: ^2.8.2 - version: 2.10.2(solid-js@1.9.3)(vite@5.4.11(@types/node@22.7.4)(less@4.2.0)(terser@5.32.0)) + version: 2.11.0(solid-js@1.9.3)(vite@5.4.11(@types/node@22.7.4)(less@4.2.1)(terser@5.32.0)) vitest: specifier: 'catalog:' - version: 2.1.1(@types/node@22.7.4)(jsdom@25.0.1)(less@4.2.0)(terser@5.32.0) + version: 2.1.1(@types/node@22.7.4)(jsdom@25.0.1)(less@4.2.1)(terser@5.32.0) packages/app-server: dependencies: @@ -134,7 +134,7 @@ importers: version: link:../lib '@hono/node-server': specifier: ^1.12.1 - version: 1.13.6(hono@4.6.6) + version: 1.13.7(hono@4.6.15) bcryptjs: specifier: ^2.4.3 version: 2.4.3 @@ -143,10 +143,10 @@ importers: version: 4.1.0 figue: specifier: ^2.1.0 - version: 2.1.0(zod@3.23.8) + version: 2.1.0(zod@3.24.1) hono: - specifier: ^4.5.8 - version: 4.6.6 + specifier: ^4.6.15 + version: 4.6.15 lodash-es: specifier: ^4.17.21 version: 4.17.21 @@ -155,23 +155,23 @@ importers: version: 3.0.3 pino: specifier: ^9.3.2 - version: 9.5.0 + version: 9.6.0 ulid-workers: specifier: ^2.1.0 version: 2.1.0 unstorage: - specifier: ^1.10.2 - version: 1.12.0 + specifier: ^1.14.4 + version: 1.14.4 zod: specifier: ^3.23.8 - version: 3.23.8 + version: 3.24.1 devDependencies: '@antfu/eslint-config': specifier: 'catalog:' - version: 3.6.2(@typescript-eslint/utils@8.5.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2))(@vue/compiler-sfc@3.5.12)(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2)(vitest@2.1.1(@types/node@22.9.0)(jsdom@25.0.1)(less@4.2.0)(terser@5.32.0)) + version: 3.6.2(@typescript-eslint/utils@8.5.0(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2))(@vue/compiler-sfc@3.5.12)(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2)(vitest@2.1.1(@types/node@22.10.2)(jsdom@25.0.1)(less@4.2.1)(terser@5.32.0)) '@cloudflare/workers-types': specifier: ^4.20240821.1 - version: 4.20241018.0 + version: 4.20241224.0 '@total-typescript/ts-reset': specifier: ^0.6.0 version: 0.6.1 @@ -186,16 +186,16 @@ importers: version: 3.0.11 '@vitest/coverage-v8': specifier: ^2.0.5 - version: 2.1.4(vitest@2.1.1(@types/node@22.9.0)(jsdom@25.0.1)(less@4.2.0)(terser@5.32.0)) + version: 2.1.8(vitest@2.1.1(@types/node@22.10.2)(jsdom@25.0.1)(less@4.2.1)(terser@5.32.0)) dotenv: specifier: ^16.4.5 - version: 16.4.5 + version: 16.4.7 esbuild: specifier: ^0.24.0 - version: 0.24.0 + version: 0.24.2 eslint: specifier: 'catalog:' - version: 9.11.0(jiti@1.21.6) + version: 9.11.0(jiti@2.4.2) pino-pretty: specifier: ^11.2.2 version: 11.3.0 @@ -207,13 +207,13 @@ importers: version: 5.6.2 vitest: specifier: 'catalog:' - version: 2.1.1(@types/node@22.9.0)(jsdom@25.0.1)(less@4.2.0)(terser@5.32.0) + version: 2.1.1(@types/node@22.10.2)(jsdom@25.0.1)(less@4.2.1)(terser@5.32.0) wrangler: specifier: ^3.72.1 - version: 3.86.0(@cloudflare/workers-types@4.20241018.0) + version: 3.99.0(@cloudflare/workers-types@4.20241224.0) zx: specifier: ^8.1.4 - version: 8.1.9 + version: 8.3.0 packages/cli: dependencies: @@ -228,35 +228,35 @@ importers: version: 0.1.6 conf: specifier: ^13.0.1 - version: 13.0.1 + version: 13.1.0 lodash-es: specifier: ^4.17.21 version: 4.17.21 ora: specifier: ^8.1.0 - version: 8.1.0 + version: 8.1.1 picocolors: specifier: ^1.0.1 version: 1.1.1 zod: specifier: ^3.23.8 - version: 3.23.8 + version: 3.24.1 devDependencies: '@antfu/eslint-config': specifier: 'catalog:' - version: 3.6.2(@typescript-eslint/utils@8.5.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2))(@vue/compiler-sfc@3.5.12)(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2)(vitest@2.1.1(@types/node@22.9.0)(jsdom@25.0.1)(less@4.2.0)(terser@5.32.0)) + version: 3.6.2(@typescript-eslint/utils@8.5.0(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2))(@vue/compiler-sfc@3.5.12)(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2)(vitest@2.1.1(@types/node@22.10.2)(jsdom@25.0.1)(less@4.2.1)(terser@5.32.0)) '@types/lodash-es': specifier: ^4.17.12 version: 4.17.12 '@vitest/coverage-v8': specifier: ^2.0.5 - version: 2.1.4(vitest@2.1.1(@types/node@22.9.0)(jsdom@25.0.1)(less@4.2.0)(terser@5.32.0)) + version: 2.1.8(vitest@2.1.1(@types/node@22.10.2)(jsdom@25.0.1)(less@4.2.1)(terser@5.32.0)) dotenv: specifier: ^16.4.5 - version: 16.4.5 + version: 16.4.7 eslint: specifier: 'catalog:' - version: 9.11.0(jiti@1.21.6) + version: 9.11.0(jiti@2.4.2) tsx: specifier: 'catalog:' version: 4.19.2 @@ -268,7 +268,7 @@ importers: version: 2.0.0(typescript@5.6.2) vitest: specifier: 'catalog:' - version: 2.1.1(@types/node@22.9.0)(jsdom@25.0.1)(less@4.2.0)(terser@5.32.0) + version: 2.1.1(@types/node@22.10.2)(jsdom@25.0.1)(less@4.2.1)(terser@5.32.0) packages/crypto: dependencies: @@ -278,7 +278,7 @@ importers: devDependencies: '@antfu/eslint-config': specifier: 'catalog:' - version: 3.6.2(@typescript-eslint/utils@8.5.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2))(@vue/compiler-sfc@3.5.12)(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2)(vitest@2.1.1(@types/node@22.7.4)(jsdom@25.0.1)(less@4.2.0)(terser@5.32.0)) + version: 3.6.2(@typescript-eslint/utils@8.5.0(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2))(@vue/compiler-sfc@3.5.12)(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2)(vitest@2.1.1(@types/node@22.7.4)(jsdom@25.0.1)(less@4.2.1)(terser@5.32.0)) '@types/lodash-es': specifier: ^4.17.12 version: 4.17.12 @@ -287,10 +287,10 @@ importers: version: 22.7.4 '@vitest/coverage-v8': specifier: ^2.0.5 - version: 2.1.4(vitest@2.1.1(@types/node@22.7.4)(jsdom@25.0.1)(less@4.2.0)(terser@5.32.0)) + version: 2.1.8(vitest@2.1.1(@types/node@22.7.4)(jsdom@25.0.1)(less@4.2.1)(terser@5.32.0)) eslint: specifier: 'catalog:' - version: 9.11.0(jiti@1.21.6) + version: 9.11.0(jiti@2.4.2) tsx: specifier: 'catalog:' version: 4.19.2 @@ -302,7 +302,7 @@ importers: version: 2.0.0(typescript@5.6.2) vitest: specifier: 'catalog:' - version: 2.1.1(@types/node@22.7.4)(jsdom@25.0.1)(less@4.2.0)(terser@5.32.0) + version: 2.1.1(@types/node@22.7.4)(jsdom@25.0.1)(less@4.2.1)(terser@5.32.0) packages/deploy-cloudflare: {} @@ -314,7 +314,7 @@ importers: devDependencies: '@antfu/eslint-config': specifier: 'catalog:' - version: 3.6.2(@typescript-eslint/utils@8.5.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2))(@vue/compiler-sfc@3.5.12)(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2)(vitest@2.1.1(@types/node@22.9.0)(jsdom@25.0.1)(less@4.2.0)(terser@5.32.0)) + version: 3.6.2(@typescript-eslint/utils@8.5.0(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2))(@vue/compiler-sfc@3.5.12)(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2)(vitest@2.1.1(@types/node@22.10.2)(jsdom@25.0.1)(less@4.2.1)(terser@5.32.0)) '@types/bcryptjs': specifier: ^2.4.6 version: 2.4.6 @@ -323,13 +323,13 @@ importers: version: 4.17.12 eslint: specifier: 'catalog:' - version: 9.11.0(jiti@1.21.6) + version: 9.11.0(jiti@2.4.2) figue: specifier: ^2.1.0 - version: 2.1.0(zod@3.23.8) + version: 2.1.0(zod@3.24.1) less: specifier: ^4.2.0 - version: 4.2.0 + version: 4.2.1 lodash-es: specifier: ^4.17.21 version: 4.17.21 @@ -338,7 +338,7 @@ importers: version: 5.6.2 vitepress: specifier: ^1.3.4 - version: 1.4.1(@algolia/client-search@5.4.1)(@types/node@22.9.0)(less@4.2.0)(postcss@8.4.48)(search-insights@2.17.2)(terser@5.32.0)(typescript@5.6.2) + version: 1.5.0(@algolia/client-search@5.4.1)(@types/node@22.10.2)(less@4.2.1)(postcss@8.4.49)(search-insights@2.17.2)(terser@5.32.0)(typescript@5.6.2) packages/lib: dependencies: @@ -353,14 +353,14 @@ importers: version: 4.17.21 msgpackr: specifier: ^1.11.0 - version: 1.11.0 + version: 1.11.2 ofetch: specifier: ^1.3.4 version: 1.4.1 devDependencies: '@antfu/eslint-config': specifier: 'catalog:' - version: 3.6.2(@typescript-eslint/utils@8.5.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2))(@vue/compiler-sfc@3.5.12)(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2)(vitest@2.1.1(@types/node@22.7.4)(jsdom@25.0.1)(less@4.2.0)(terser@5.32.0)) + version: 3.6.2(@typescript-eslint/utils@8.5.0(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2))(@vue/compiler-sfc@3.5.12)(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2)(vitest@2.1.1(@types/node@22.7.4)(jsdom@25.0.1)(less@4.2.1)(terser@5.32.0)) '@types/lodash-es': specifier: ^4.17.12 version: 4.17.12 @@ -369,13 +369,13 @@ importers: version: 22.7.4 '@vitest/coverage-v8': specifier: ^2.0.5 - version: 2.1.4(vitest@2.1.1(@types/node@22.7.4)(jsdom@25.0.1)(less@4.2.0)(terser@5.32.0)) + version: 2.1.8(vitest@2.1.1(@types/node@22.7.4)(jsdom@25.0.1)(less@4.2.1)(terser@5.32.0)) dotenv: specifier: ^16.4.5 - version: 16.4.5 + version: 16.4.7 eslint: specifier: 'catalog:' - version: 9.11.0(jiti@1.21.6) + version: 9.11.0(jiti@2.4.2) tsx: specifier: 'catalog:' version: 4.19.2 @@ -387,7 +387,7 @@ importers: version: 2.0.0(typescript@5.6.2) vitest: specifier: 'catalog:' - version: 2.1.1(@types/node@22.7.4)(jsdom@25.0.1)(less@4.2.0)(terser@5.32.0) + version: 2.1.1(@types/node@22.7.4)(jsdom@25.0.1)(less@4.2.1)(terser@5.32.0) packages: @@ -536,22 +536,42 @@ packages: resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} + '@babel/code-frame@7.26.2': + resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} + engines: {node: '>=6.9.0'} + '@babel/compat-data@7.25.4': resolution: {integrity: sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==} engines: {node: '>=6.9.0'} + '@babel/compat-data@7.26.3': + resolution: {integrity: sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==} + engines: {node: '>=6.9.0'} + '@babel/core@7.25.2': resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==} engines: {node: '>=6.9.0'} + '@babel/core@7.26.0': + resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==} + engines: {node: '>=6.9.0'} + '@babel/generator@7.25.4': resolution: {integrity: sha512-NFtZmZsyzDPJnk9Zg3BbTfKKc9UlHYzD0E//p2Z3B9nCwwtJW9T0gVbCz8+fBngnn4zf1Dr3IK8PHQQHq0lDQw==} engines: {node: '>=6.9.0'} + '@babel/generator@7.26.3': + resolution: {integrity: sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==} + engines: {node: '>=6.9.0'} + '@babel/helper-compilation-targets@7.25.2': resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==} engines: {node: '>=6.9.0'} + '@babel/helper-compilation-targets@7.25.9': + resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==} + engines: {node: '>=6.9.0'} + '@babel/helper-module-imports@7.18.6': resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} engines: {node: '>=6.9.0'} @@ -560,12 +580,22 @@ packages: resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} engines: {node: '>=6.9.0'} + '@babel/helper-module-imports@7.25.9': + resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} + engines: {node: '>=6.9.0'} + '@babel/helper-module-transforms@7.25.2': resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 + '@babel/helper-module-transforms@7.26.0': + resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/helper-plugin-utils@7.24.8': resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==} engines: {node: '>=6.9.0'} @@ -594,10 +624,18 @@ packages: resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} engines: {node: '>=6.9.0'} + '@babel/helper-validator-option@7.25.9': + resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} + engines: {node: '>=6.9.0'} + '@babel/helpers@7.25.0': resolution: {integrity: sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==} engines: {node: '>=6.9.0'} + '@babel/helpers@7.26.0': + resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==} + engines: {node: '>=6.9.0'} + '@babel/highlight@7.24.7': resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} @@ -612,24 +650,37 @@ packages: engines: {node: '>=6.0.0'} hasBin: true + '@babel/parser@7.26.3': + resolution: {integrity: sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==} + engines: {node: '>=6.0.0'} + hasBin: true + '@babel/plugin-syntax-jsx@7.24.7': resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/standalone@7.25.6': - resolution: {integrity: sha512-Kf2ZcZVqsKbtYhlA7sP0z5A3q5hmCVYMKMWRWNK/5OVwHIve3JY1djVRmIVAx8FMueLIfZGKQDIILK2w8zO4mg==} + '@babel/standalone@7.26.4': + resolution: {integrity: sha512-SF+g7S2mhTT1b7CHyfNjDkPU1corxg4LPYsyP0x5KuCl+EbtBQHRLqr9N3q7e7+x7NQ5LYxQf8mJ2PmzebLr0A==} engines: {node: '>=6.9.0'} '@babel/template@7.25.0': resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} engines: {node: '>=6.9.0'} + '@babel/template@7.25.9': + resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==} + engines: {node: '>=6.9.0'} + '@babel/traverse@7.25.4': resolution: {integrity: sha512-VJ4XsrD+nOvlXyLzmLzUs/0qjFS4sK30te5yEFlvbbUNEgKaVb2BHZUpAL+ttLPQAHNrsI3zZisbfha5Cvr8vg==} engines: {node: '>=6.9.0'} + '@babel/traverse@7.26.4': + resolution: {integrity: sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==} + engines: {node: '>=6.9.0'} + '@babel/types@7.25.4': resolution: {integrity: sha512-zQ1ijeeCXVEh+aNL0RlmkPkG8HUiDcU2pzQQFjtbntgAczRASFzj4H+6+bV+dy1ntKR14I/DypeuRG1uma98iQ==} engines: {node: '>=6.9.0'} @@ -638,6 +689,10 @@ packages: resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==} engines: {node: '>=6.9.0'} + '@babel/types@7.26.3': + resolution: {integrity: sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==} + engines: {node: '>=6.9.0'} + '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} @@ -683,42 +738,38 @@ packages: resolution: {integrity: sha512-YLPHc8yASwjNkmcDMQMY35yiWjoKAKnhUbPRszBRS0YgH+IXtsMp61j+yTcnCE3oO2DgP0U3iejLC8FTtKDC8Q==} engines: {node: '>=16.13'} - '@cloudflare/workerd-darwin-64@1.20241106.1': - resolution: {integrity: sha512-zxvaToi1m0qzAScrxFt7UvFVqU8DxrCO2CinM1yQkv5no7pA1HolpIrwZ0xOhR3ny64Is2s/J6BrRjpO5dM9Zw==} + '@cloudflare/workerd-darwin-64@1.20241218.0': + resolution: {integrity: sha512-8rveQoxtUvlmORKqTWgjv2ycM8uqWox0u9evn3zd2iWKdou5sncFwH517ZRLI3rq9P31ZLmCQBZ0gloFsTeY6w==} engines: {node: '>=16'} cpu: [x64] os: [darwin] - '@cloudflare/workerd-darwin-arm64@1.20241106.1': - resolution: {integrity: sha512-j3dg/42D/bPgfNP3cRUBxF+4waCKO/5YKwXNj+lnVOwHxDu+ne5pFw9TIkKYcWTcwn0ZUkbNZNM5rhJqRn4xbg==} + '@cloudflare/workerd-darwin-arm64@1.20241218.0': + resolution: {integrity: sha512-be59Ad9nmM9lCkhHqmTs/uZ3JVZt8NJ9Z0PY+B0xnc5z6WwmV2lj0RVLtq7xJhQsQJA189zt5rXqDP6J+2mu7Q==} engines: {node: '>=16'} cpu: [arm64] os: [darwin] - '@cloudflare/workerd-linux-64@1.20241106.1': - resolution: {integrity: sha512-Ih+Ye8E1DMBXcKrJktGfGztFqHKaX1CeByqshmTbODnWKHt6O65ax3oTecUwyC0+abuyraOpAtdhHNpFMhUkmw==} + '@cloudflare/workerd-linux-64@1.20241218.0': + resolution: {integrity: sha512-MzpSBcfZXRxrYWxQ4pVDYDrUbkQuM62ssl4ZtHH8J35OAeGsWFAYji6MkS2SpVwVcvacPwJXIF4JSzp4xKImKw==} engines: {node: '>=16'} cpu: [x64] os: [linux] - '@cloudflare/workerd-linux-arm64@1.20241106.1': - resolution: {integrity: sha512-mdQFPk4+14Yywn7n1xIzI+6olWM8Ybz10R7H3h+rk0XulMumCWUCy1CzIDauOx6GyIcSgKIibYMssVHZR30ObA==} + '@cloudflare/workerd-linux-arm64@1.20241218.0': + resolution: {integrity: sha512-RIuJjPxpNqvwIs52vQsXeRMttvhIjgg9NLjjFa3jK8Ijnj8c3ZDru9Wqi48lJP07yDFIRr4uDMMqh/y29YQi2A==} engines: {node: '>=16'} cpu: [arm64] os: [linux] - '@cloudflare/workerd-windows-64@1.20241106.1': - resolution: {integrity: sha512-4rtcss31E/Rb/PeFocZfr+B9i1MdrkhsTBWizh8siNR4KMmkslU2xs2wPaH1z8+ErxkOsHrKRa5EPLh5rIiFeg==} + '@cloudflare/workerd-windows-64@1.20241218.0': + resolution: {integrity: sha512-tO1VjlvK3F6Yb2d1jgEy/QBYl//9Pyv3K0j+lq8Eu7qdfm0IgKwSRgDWLept84/qmNsQfausZ4JdNGxTf9xsxQ==} engines: {node: '>=16'} cpu: [x64] os: [win32] - '@cloudflare/workers-shared@0.7.1': - resolution: {integrity: sha512-46cP5FCrl3TrvHeoHLb5SRuiDMKH5kc9Yvo36SAfzt8dqJI/qJRoY1GP3ioHn/gP7v2QIoUOTAzIl7Ml7MnfrA==} - engines: {node: '>=16.7.0'} - - '@cloudflare/workers-types@4.20241018.0': - resolution: {integrity: sha512-gGWumpaaqnjN/G6SI7CZQ13G4SpIUV+EM8QqvuN2D3cGDF6mKIm+ov7H4x7V/c+AdY90v0FCc8B5nmEEt90MvQ==} + '@cloudflare/workers-types@4.20241224.0': + resolution: {integrity: sha512-1ZmFc8qqM7S/HUGmLplc4P8n8DoMqiJmc47r9Lr7VbuaotoqCXVljz09w1V1mc4K3pbFPgvqSy4XYStZ08HrlQ==} '@corentinth/chisels@1.1.0': resolution: {integrity: sha512-l4qG6uXLKFWilt1Mnt5btCoCaIGVLiPOk95V6W3BPPJ9LE558tlet2EnU3z1gfSO7kqRTgkqLdcwwlzI9mMRNQ==} @@ -787,8 +838,8 @@ packages: cpu: [ppc64] os: [aix] - '@esbuild/aix-ppc64@0.24.0': - resolution: {integrity: sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==} + '@esbuild/aix-ppc64@0.24.2': + resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] @@ -817,8 +868,8 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.24.0': - resolution: {integrity: sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==} + '@esbuild/android-arm64@0.24.2': + resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==} engines: {node: '>=18'} cpu: [arm64] os: [android] @@ -847,8 +898,8 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-arm@0.24.0': - resolution: {integrity: sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==} + '@esbuild/android-arm@0.24.2': + resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==} engines: {node: '>=18'} cpu: [arm] os: [android] @@ -877,8 +928,8 @@ packages: cpu: [x64] os: [android] - '@esbuild/android-x64@0.24.0': - resolution: {integrity: sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==} + '@esbuild/android-x64@0.24.2': + resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==} engines: {node: '>=18'} cpu: [x64] os: [android] @@ -907,8 +958,8 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.24.0': - resolution: {integrity: sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==} + '@esbuild/darwin-arm64@0.24.2': + resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] @@ -937,8 +988,8 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.24.0': - resolution: {integrity: sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==} + '@esbuild/darwin-x64@0.24.2': + resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==} engines: {node: '>=18'} cpu: [x64] os: [darwin] @@ -967,8 +1018,8 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.24.0': - resolution: {integrity: sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==} + '@esbuild/freebsd-arm64@0.24.2': + resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] @@ -997,8 +1048,8 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.24.0': - resolution: {integrity: sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==} + '@esbuild/freebsd-x64@0.24.2': + resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] @@ -1027,8 +1078,8 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.24.0': - resolution: {integrity: sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==} + '@esbuild/linux-arm64@0.24.2': + resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==} engines: {node: '>=18'} cpu: [arm64] os: [linux] @@ -1057,8 +1108,8 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.24.0': - resolution: {integrity: sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==} + '@esbuild/linux-arm@0.24.2': + resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==} engines: {node: '>=18'} cpu: [arm] os: [linux] @@ -1087,8 +1138,8 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.24.0': - resolution: {integrity: sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==} + '@esbuild/linux-ia32@0.24.2': + resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==} engines: {node: '>=18'} cpu: [ia32] os: [linux] @@ -1117,8 +1168,8 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.24.0': - resolution: {integrity: sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==} + '@esbuild/linux-loong64@0.24.2': + resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==} engines: {node: '>=18'} cpu: [loong64] os: [linux] @@ -1147,8 +1198,8 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.24.0': - resolution: {integrity: sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==} + '@esbuild/linux-mips64el@0.24.2': + resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] @@ -1177,8 +1228,8 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.24.0': - resolution: {integrity: sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==} + '@esbuild/linux-ppc64@0.24.2': + resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] @@ -1207,8 +1258,8 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.24.0': - resolution: {integrity: sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==} + '@esbuild/linux-riscv64@0.24.2': + resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] @@ -1237,8 +1288,8 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.24.0': - resolution: {integrity: sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==} + '@esbuild/linux-s390x@0.24.2': + resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==} engines: {node: '>=18'} cpu: [s390x] os: [linux] @@ -1267,12 +1318,18 @@ packages: cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.24.0': - resolution: {integrity: sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==} + '@esbuild/linux-x64@0.24.2': + resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==} engines: {node: '>=18'} cpu: [x64] os: [linux] + '@esbuild/netbsd-arm64@0.24.2': + resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + '@esbuild/netbsd-x64@0.17.19': resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} engines: {node: '>=12'} @@ -1297,8 +1354,8 @@ packages: cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.24.0': - resolution: {integrity: sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==} + '@esbuild/netbsd-x64@0.24.2': + resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] @@ -1309,8 +1366,8 @@ packages: cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-arm64@0.24.0': - resolution: {integrity: sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==} + '@esbuild/openbsd-arm64@0.24.2': + resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] @@ -1339,8 +1396,8 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.24.0': - resolution: {integrity: sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==} + '@esbuild/openbsd-x64@0.24.2': + resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] @@ -1369,8 +1426,8 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.24.0': - resolution: {integrity: sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==} + '@esbuild/sunos-x64@0.24.2': + resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==} engines: {node: '>=18'} cpu: [x64] os: [sunos] @@ -1399,8 +1456,8 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.24.0': - resolution: {integrity: sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==} + '@esbuild/win32-arm64@0.24.2': + resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==} engines: {node: '>=18'} cpu: [arm64] os: [win32] @@ -1429,8 +1486,8 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.24.0': - resolution: {integrity: sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==} + '@esbuild/win32-ia32@0.24.2': + resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==} engines: {node: '>=18'} cpu: [ia32] os: [win32] @@ -1459,8 +1516,8 @@ packages: cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.24.0': - resolution: {integrity: sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==} + '@esbuild/win32-x64@0.24.2': + resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==} engines: {node: '>=18'} cpu: [x64] os: [win32] @@ -1524,8 +1581,8 @@ packages: '@floating-ui/utils@0.2.8': resolution: {integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==} - '@hono/node-server@1.13.6': - resolution: {integrity: sha512-Y2ivw4UmLIBKfzvkFgcsrhc0GLn272diGjlnKOF9T1OiY6ud4RaVO8FKEnifNkuU7meOeCU371/8fmhgeYf7Lw==} + '@hono/node-server@1.13.7': + resolution: {integrity: sha512-kTfUMsoloVKtRA2fLiGSd9qBddmru9KadNyhJCwgKBxTiNkaAJEwkVN9KV/rS4HtmmNRtUh6P+YpmjRMl0d9vQ==} engines: {node: '>=18.14.1'} peerDependencies: hono: ^4 @@ -1538,14 +1595,17 @@ packages: resolution: {integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==} engines: {node: '>=18.18'} - '@iconify-json/tabler@1.2.6': - resolution: {integrity: sha512-+LjRsbx4tqaLNorQldahZRCepYVAC8Fj6hpkHuZFWB0xj81YasACT0f9JGtavG4+LePdvkXRTuz5RQOU6YcnXA==} + '@iconify-json/simple-icons@1.2.17': + resolution: {integrity: sha512-1vXbM6a6HV2rwXxu8ptD2OYhqrqX0ZZRepOg7nIjkvKlKq90Iici4X++A8h36bEVlV2wGjqx8uVYB0pwnPZVSw==} + + '@iconify-json/tabler@1.2.13': + resolution: {integrity: sha512-vXnl0db3Q/v1e+lMEGmdrzJeFVyR//20gbUU2HFOrJP08nbz1EGRa8urNS4zL3oEV6Wjgo11AHJLSs628I6swQ==} '@iconify/types@2.0.0': resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} - '@iconify/utils@2.1.33': - resolution: {integrity: sha512-jP9h6v/g0BIZx0p7XGJJVtkVnydtbgTgt9mVNcGDYwaa7UhdHdI9dvoq+gKj9sijMSJKxUPEG2JyjsgXjxL7Kw==} + '@iconify/utils@2.2.1': + resolution: {integrity: sha512-0/7J7hk4PqXmxo5PDBDxmnecw5PxklZJfNjIVG9FM0mEfVrvfudS22rYWsqVk6gR3UJ/mSYS90X4R3znXnqfNA==} '@inquirer/checkbox@3.0.1': resolution: {integrity: sha512-0hm2nrToWUdD6/UHnel/UKGdk1//ke5zGUpHIvk5ZWmaKezlGxZkOJXNSWsdxO/rEqTkbB3lNC2J6nBElV2aAQ==} @@ -1567,8 +1627,8 @@ packages: resolution: {integrity: sha512-ToG8d6RIbnVpbdPdiN7BCxZGiHOTomOX94C2FaT5KOHupV40tKEDozp12res6cMIfRKrXLJyexAZhWVHgbALSQ==} engines: {node: '>=18'} - '@inquirer/figures@1.0.6': - resolution: {integrity: sha512-yfZzps3Cso2UbM7WlxKwZQh2Hs6plrbjs1QnzQDZhK2DgyCo6D8AaHps9olkNcUFlcYERMqU3uJSp1gmy3s/qQ==} + '@inquirer/figures@1.0.9': + resolution: {integrity: sha512-BXvGj0ehzrngHTPTDqUoDT3NXL8U0RxUk2zJm2A66RhCEIWdtU1v6GuUqNAgArW4PQ9CinqIWyHdQgdwOj06zQ==} engines: {node: '>=18'} '@inquirer/input@3.0.1': @@ -1621,6 +1681,10 @@ packages: resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} engines: {node: '>=6.0.0'} + '@jridgewell/gen-mapping@0.3.8': + resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} + engines: {node: '>=6.0.0'} + '@jridgewell/resolve-uri@3.1.2': resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} @@ -1641,10 +1705,6 @@ packages: '@jridgewell/trace-mapping@0.3.9': resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} - '@jsdevtools/ez-spawn@3.0.4': - resolution: {integrity: sha512-f5DRIOZf7wxogefH03RjMPMdBF7ADTWUMoOs9kaJo06EfwF+aFhMZMDZxHg/Xe12hptN9xoZjGso2fdjapBRIA==} - engines: {node: '>=10'} - '@kobalte/core@0.13.7': resolution: {integrity: sha512-COhjWk1KnCkl3qMJDvdrOsvpTlJ9gMLdemkAn5SWfbPn/lxJYabejnNOk+b/ILGg7apzQycgbuo48qb8ppqsAg==} peerDependencies: @@ -1697,88 +1757,6 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@parcel/watcher-android-arm64@2.4.1': - resolution: {integrity: sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [android] - - '@parcel/watcher-darwin-arm64@2.4.1': - resolution: {integrity: sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [darwin] - - '@parcel/watcher-darwin-x64@2.4.1': - resolution: {integrity: sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [darwin] - - '@parcel/watcher-freebsd-x64@2.4.1': - resolution: {integrity: sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [freebsd] - - '@parcel/watcher-linux-arm-glibc@2.4.1': - resolution: {integrity: sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==} - engines: {node: '>= 10.0.0'} - cpu: [arm] - os: [linux] - - '@parcel/watcher-linux-arm64-glibc@2.4.1': - resolution: {integrity: sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [linux] - - '@parcel/watcher-linux-arm64-musl@2.4.1': - resolution: {integrity: sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [linux] - - '@parcel/watcher-linux-x64-glibc@2.4.1': - resolution: {integrity: sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [linux] - - '@parcel/watcher-linux-x64-musl@2.4.1': - resolution: {integrity: sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [linux] - - '@parcel/watcher-wasm@2.4.1': - resolution: {integrity: sha512-/ZR0RxqxU/xxDGzbzosMjh4W6NdYFMqq2nvo2b8SLi7rsl/4jkL8S5stIikorNkdR50oVDvqb/3JT05WM+CRRA==} - engines: {node: '>= 10.0.0'} - bundledDependencies: - - napi-wasm - - '@parcel/watcher-win32-arm64@2.4.1': - resolution: {integrity: sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [win32] - - '@parcel/watcher-win32-ia32@2.4.1': - resolution: {integrity: sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==} - engines: {node: '>= 10.0.0'} - cpu: [ia32] - os: [win32] - - '@parcel/watcher-win32-x64@2.4.1': - resolution: {integrity: sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [win32] - - '@parcel/watcher@2.4.1': - resolution: {integrity: sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==} - engines: {node: '>= 10.0.0'} - '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -1787,16 +1765,16 @@ packages: resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - '@playwright/test@1.48.1': - resolution: {integrity: sha512-s9RtWoxkOLmRJdw3oFvhFbs9OJS0BzrLUc8Hf6l2UdCNd1rqeEyD4BhCJkvzeEoD1FsK4mirsWwGerhVmYKtZg==} + '@playwright/test@1.49.1': + resolution: {integrity: sha512-Ky+BVzPz8pL6PQxHqNRW1k3mIyv933LML7HktS8uik0bUXNCdPhoS/kLihiO1tMf/egaJb4IutXd7UywvXEW+g==} engines: {node: '>=18'} hasBin: true - '@polka/url@1.0.0-next.25': - resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} + '@polka/url@1.0.0-next.28': + resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==} - '@rollup/plugin-alias@5.1.0': - resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==} + '@rollup/plugin-alias@5.1.1': + resolution: {integrity: sha512-PR9zDb+rOzkRb2VD+EuKB7UC41vU5DIwZ5qqCpk0KJudcWAyi8rvYOhS7+L5aZCspw1stTViLgN5v6FF1p5cgQ==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 @@ -1822,8 +1800,8 @@ packages: rollup: optional: true - '@rollup/plugin-node-resolve@15.2.3': - resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} + '@rollup/plugin-node-resolve@15.3.1': + resolution: {integrity: sha512-tgg6b91pAybXHJQMAAwW9VuWBO6Thi+q7BCNARLwSqlmsHz0XYURtGvh/AuwSADXSI4h/2uHbs7s4FzlZDGSGA==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^2.78.0||^3.0.0||^4.0.0 @@ -1840,17 +1818,8 @@ packages: rollup: optional: true - '@rollup/pluginutils@5.1.0': - resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - - '@rollup/pluginutils@5.1.3': - resolution: {integrity: sha512-Pnsb6f32CD2W3uCaLZIzDmeFyQ2b8UWMFI7xtwUezpcGBDVDW6y9XgAWIlARiGAo6eNF5FK5aQTr0LFyNyqq5A==} + '@rollup/pluginutils@5.1.4': + resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 @@ -1858,113 +1827,118 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.25.0': - resolution: {integrity: sha512-CC/ZqFZwlAIbU1wUPisHyV/XRc5RydFrNLtgl3dGYskdwPZdt4HERtKm50a/+DtTlKeCq9IXFEWR+P6blwjqBA==} + '@rollup/rollup-android-arm-eabi@4.29.1': + resolution: {integrity: sha512-ssKhA8RNltTZLpG6/QNkCSge+7mBQGUqJRisZ2MDQcEGaK93QESEgWK2iOpIDZ7k9zPVkG5AS3ksvD5ZWxmItw==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.25.0': - resolution: {integrity: sha512-/Y76tmLGUJqVBXXCfVS8Q8FJqYGhgH4wl4qTA24E9v/IJM0XvJCGQVSW1QZ4J+VURO9h8YCa28sTFacZXwK7Rg==} + '@rollup/rollup-android-arm64@4.29.1': + resolution: {integrity: sha512-CaRfrV0cd+NIIcVVN/jx+hVLN+VRqnuzLRmfmlzpOzB87ajixsN/+9L5xNmkaUUvEbI5BmIKS+XTwXsHEb65Ew==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.25.0': - resolution: {integrity: sha512-YVT6L3UrKTlC0FpCZd0MGA7NVdp7YNaEqkENbWQ7AOVOqd/7VzyHpgIpc1mIaxRAo1ZsJRH45fq8j4N63I/vvg==} + '@rollup/rollup-darwin-arm64@4.29.1': + resolution: {integrity: sha512-2ORr7T31Y0Mnk6qNuwtyNmy14MunTAMx06VAPI6/Ju52W10zk1i7i5U3vlDRWjhOI5quBcrvhkCHyF76bI7kEw==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.25.0': - resolution: {integrity: sha512-ZRL+gexs3+ZmmWmGKEU43Bdn67kWnMeWXLFhcVv5Un8FQcx38yulHBA7XR2+KQdYIOtD0yZDWBCudmfj6lQJoA==} + '@rollup/rollup-darwin-x64@4.29.1': + resolution: {integrity: sha512-j/Ej1oanzPjmN0tirRd5K2/nncAhS9W6ICzgxV+9Y5ZsP0hiGhHJXZ2JQ53iSSjj8m6cRY6oB1GMzNn2EUt6Ng==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.25.0': - resolution: {integrity: sha512-xpEIXhiP27EAylEpreCozozsxWQ2TJbOLSivGfXhU4G1TBVEYtUPi2pOZBnvGXHyOdLAUUhPnJzH3ah5cqF01g==} + '@rollup/rollup-freebsd-arm64@4.29.1': + resolution: {integrity: sha512-91C//G6Dm/cv724tpt7nTyP+JdN12iqeXGFM1SqnljCmi5yTXriH7B1r8AD9dAZByHpKAumqP1Qy2vVNIdLZqw==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.25.0': - resolution: {integrity: sha512-sC5FsmZGlJv5dOcURrsnIK7ngc3Kirnx3as2XU9uER+zjfyqIjdcMVgzy4cOawhsssqzoAX19qmxgJ8a14Qrqw==} + '@rollup/rollup-freebsd-x64@4.29.1': + resolution: {integrity: sha512-hEioiEQ9Dec2nIRoeHUP6hr1PSkXzQaCUyqBDQ9I9ik4gCXQZjJMIVzoNLBRGet+hIUb3CISMh9KXuCcWVW/8w==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.25.0': - resolution: {integrity: sha512-uD/dbLSs1BEPzg564TpRAQ/YvTnCds2XxyOndAO8nJhaQcqQGFgv/DAVko/ZHap3boCvxnzYMa3mTkV/B/3SWA==} + '@rollup/rollup-linux-arm-gnueabihf@4.29.1': + resolution: {integrity: sha512-Py5vFd5HWYN9zxBv3WMrLAXY3yYJ6Q/aVERoeUFwiDGiMOWsMs7FokXihSOaT/PMWUty/Pj60XDQndK3eAfE6A==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.25.0': - resolution: {integrity: sha512-ZVt/XkrDlQWegDWrwyC3l0OfAF7yeJUF4fq5RMS07YM72BlSfn2fQQ6lPyBNjt+YbczMguPiJoCfaQC2dnflpQ==} + '@rollup/rollup-linux-arm-musleabihf@4.29.1': + resolution: {integrity: sha512-RiWpGgbayf7LUcuSNIbahr0ys2YnEERD4gYdISA06wa0i8RALrnzflh9Wxii7zQJEB2/Eh74dX4y/sHKLWp5uQ==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.25.0': - resolution: {integrity: sha512-qboZ+T0gHAW2kkSDPHxu7quaFaaBlynODXpBVnPxUgvWYaE84xgCKAPEYE+fSMd3Zv5PyFZR+L0tCdYCMAtG0A==} + '@rollup/rollup-linux-arm64-gnu@4.29.1': + resolution: {integrity: sha512-Z80O+taYxTQITWMjm/YqNoe9d10OX6kDh8X5/rFCMuPqsKsSyDilvfg+vd3iXIqtfmp+cnfL1UrYirkaF8SBZA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.25.0': - resolution: {integrity: sha512-ndWTSEmAaKr88dBuogGH2NZaxe7u2rDoArsejNslugHZ+r44NfWiwjzizVS1nUOHo+n1Z6qV3X60rqE/HlISgw==} + '@rollup/rollup-linux-arm64-musl@4.29.1': + resolution: {integrity: sha512-fOHRtF9gahwJk3QVp01a/GqS4hBEZCV1oKglVVq13kcK3NeVlS4BwIFzOHDbmKzt3i0OuHG4zfRP0YoG5OF/rA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.25.0': - resolution: {integrity: sha512-BVSQvVa2v5hKwJSy6X7W1fjDex6yZnNKy3Kx1JGimccHft6HV0THTwNtC2zawtNXKUu+S5CjXslilYdKBAadzA==} + '@rollup/rollup-linux-loongarch64-gnu@4.29.1': + resolution: {integrity: sha512-5a7q3tnlbcg0OodyxcAdrrCxFi0DgXJSoOuidFUzHZ2GixZXQs6Tc3CHmlvqKAmOs5eRde+JJxeIf9DonkmYkw==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-powerpc64le-gnu@4.29.1': + resolution: {integrity: sha512-9b4Mg5Yfz6mRnlSPIdROcfw1BU22FQxmfjlp/CShWwO3LilKQuMISMTtAu/bxmmrE6A902W2cZJuzx8+gJ8e9w==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.25.0': - resolution: {integrity: sha512-G4hTREQrIdeV0PE2JruzI+vXdRnaK1pg64hemHq2v5fhv8C7WjVaeXc9P5i4Q5UC06d/L+zA0mszYIKl+wY8oA==} + '@rollup/rollup-linux-riscv64-gnu@4.29.1': + resolution: {integrity: sha512-G5pn0NChlbRM8OJWpJFMX4/i8OEU538uiSv0P6roZcbpe/WfhEO+AT8SHVKfp8qhDQzaz7Q+1/ixMy7hBRidnQ==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.25.0': - resolution: {integrity: sha512-9T/w0kQ+upxdkFL9zPVB6zy9vWW1deA3g8IauJxojN4bnz5FwSsUAD034KpXIVX5j5p/rn6XqumBMxfRkcHapQ==} + '@rollup/rollup-linux-s390x-gnu@4.29.1': + resolution: {integrity: sha512-WM9lIkNdkhVwiArmLxFXpWndFGuOka4oJOZh8EP3Vb8q5lzdSCBuhjavJsw68Q9AKDGeOOIHYzYm4ZFvmWez5g==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.25.0': - resolution: {integrity: sha512-ThcnU0EcMDn+J4B9LD++OgBYxZusuA7iemIIiz5yzEcFg04VZFzdFjuwPdlURmYPZw+fgVrFzj4CA64jSTG4Ig==} + '@rollup/rollup-linux-x64-gnu@4.29.1': + resolution: {integrity: sha512-87xYCwb0cPGZFoGiErT1eDcssByaLX4fc0z2nRM6eMtV9njAfEE6OW3UniAoDhX4Iq5xQVpE6qO9aJbCFumKYQ==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.25.0': - resolution: {integrity: sha512-zx71aY2oQxGxAT1JShfhNG79PnjYhMC6voAjzpu/xmMjDnKNf6Nl/xv7YaB/9SIa9jDYf8RBPWEnjcdlhlv1rQ==} + '@rollup/rollup-linux-x64-musl@4.29.1': + resolution: {integrity: sha512-xufkSNppNOdVRCEC4WKvlR1FBDyqCSCpQeMMgv9ZyXqqtKBfkw1yfGMTUTs9Qsl6WQbJnsGboWCp7pJGkeMhKA==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.25.0': - resolution: {integrity: sha512-JT8tcjNocMs4CylWY/CxVLnv8e1lE7ff1fi6kbGocWwxDq9pj30IJ28Peb+Y8yiPNSF28oad42ApJB8oUkwGww==} + '@rollup/rollup-win32-arm64-msvc@4.29.1': + resolution: {integrity: sha512-F2OiJ42m77lSkizZQLuC+jiZ2cgueWQL5YC9tjo3AgaEw+KJmVxHGSyQfDUoYR9cci0lAywv2Clmckzulcq6ig==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.25.0': - resolution: {integrity: sha512-dRLjLsO3dNOfSN6tjyVlG+Msm4IiZnGkuZ7G5NmpzwF9oOc582FZG05+UdfTbz5Jd4buK/wMb6UeHFhG18+OEg==} + '@rollup/rollup-win32-ia32-msvc@4.29.1': + resolution: {integrity: sha512-rYRe5S0FcjlOBZQHgbTKNrqxCBUmgDJem/VQTCcTnA2KCabYSWQDrytOzX7avb79cAAweNmMUb/Zw18RNd4mng==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.25.0': - resolution: {integrity: sha512-/RqrIFtLB926frMhZD0a5oDa4eFIbyNEwLLloMTEjmqfwZWXywwVVOVmwTsuyhC9HKkVEZcOOi+KV4U9wmOdlg==} + '@rollup/rollup-win32-x64-msvc@4.29.1': + resolution: {integrity: sha512-+10CMg9vt1MoHj6x1pxyjPSMjHTIlqs8/tBztXvPAx24SKs9jwVnKqHJumlH/IzhaPUaj3T6T6wfZr8okdXaIg==} cpu: [x64] os: [win32] - '@shikijs/core@1.22.0': - resolution: {integrity: sha512-S8sMe4q71TJAW+qG93s5VaiihujRK6rqDFqBnxqvga/3LvqHEnxqBIOPkt//IdXVtHkQWKu4nOQNk0uBGicU7Q==} + '@shikijs/core@1.24.4': + resolution: {integrity: sha512-jjLsld+xEEGYlxAXDyGwWsKJ1sw5Pc1pnp4ai2ORpjx2UX08YYTC0NNqQYO1PaghYaR+PvgMOGuvzw2he9sk0Q==} - '@shikijs/engine-javascript@1.22.0': - resolution: {integrity: sha512-AeEtF4Gcck2dwBqCFUKYfsCq0s+eEbCEbkUuFou53NZ0sTGnJnJ/05KHQFZxpii5HMXbocV9URYVowOP2wH5kw==} + '@shikijs/engine-javascript@1.24.4': + resolution: {integrity: sha512-TClaQOLvo9WEMJv6GoUsykQ6QdynuKszuORFWCke8qvi6PeLm7FcD9+7y45UenysxEWYpDL5KJaVXTngTE+2BA==} - '@shikijs/engine-oniguruma@1.22.0': - resolution: {integrity: sha512-5iBVjhu/DYs1HB0BKsRRFipRrD7rqjxlWTj4F2Pf+nQSPqc3kcyqFFeZXnBMzDf0HdqaFVvhDRAGiYNvyLP+Mw==} + '@shikijs/engine-oniguruma@1.24.4': + resolution: {integrity: sha512-Do2ry6flp2HWdvpj2XOwwa0ljZBRy15HKZITzPcNIBOGSeprnA8gOooA/bLsSPuy8aJBa+Q/r34dMmC3KNL/zw==} - '@shikijs/transformers@1.22.0': - resolution: {integrity: sha512-k7iMOYuGQA62KwAuJOQBgH2IQb5vP8uiB3lMvAMGUgAMMurePOx3Z7oNqJdcpxqZP6I9cc7nc4DNqSKduCxmdg==} + '@shikijs/transformers@1.24.4': + resolution: {integrity: sha512-0jq5p9WLB7ToM/O7RWfxuIwirTJbIQsUR06jxdG3h3CEuO5m7ik8GnDsxwHhyIEfgJSZczSnVUZWFrNKy5It6g==} - '@shikijs/types@1.22.0': - resolution: {integrity: sha512-Fw/Nr7FGFhlQqHfxzZY8Cwtwk5E9nKDUgeLjZgt3UuhcM3yJR9xj3ZGNravZZok8XmEZMiYkSMTPlPkULB8nww==} + '@shikijs/types@1.24.4': + resolution: {integrity: sha512-0r0XU7Eaow0PuDxuWC1bVqmWCgm3XqizIaT7SM42K03vc69LGooT0U8ccSR44xP/hGlNx4FKhtYpV+BU6aaKAA==} - '@shikijs/vscode-textmate@9.3.0': - resolution: {integrity: sha512-jn7/7ky30idSkd/O5yDBfAnVt+JJpepofP/POZ1iMOxK59cOfqIgg/Dj0eFsjOTMw+4ycJN0uhZH/Eb0bs/EUA==} + '@shikijs/vscode-textmate@9.3.1': + resolution: {integrity: sha512-79QfK1393x9Ho60QFyLti+QfdJzRQCVLFb97kOIV7Eo9vQU/roINgk7m24uv0a7AUvN//RDH36FLjjK48v0s9g==} '@solid-primitives/event-listener@2.3.3': resolution: {integrity: sha512-DAJbl+F0wrFW2xmcV8dKMBhk9QLVLuBSW+TR4JmIfTaObxd13PuL7nqaXnaYKDWOYa6otB00qcCUIGbuIhSUgQ==} @@ -2038,8 +2012,8 @@ packages: peerDependencies: solid-js: ^1.6.12 - '@solidjs/router@0.14.8': - resolution: {integrity: sha512-S+rD5Twp0820cM03wEIYtb7/4KN7Cfr3BP+qPIqb7IXO/SZ72tWqHEMQsmcjDbr4yVfpA+5Sq0Y+xcq09y1gQA==} + '@solidjs/router@0.14.10': + resolution: {integrity: sha512-5B8LVgvvXijfXyXWPVLUm7RQ05BhjIpAyRkYVDZtrR3OaSvftXobWc6qSEwk4ICLoGi/IE9CUp2LUdCBIs9AXg==} peerDependencies: solid-js: ^1.8.6 @@ -2077,9 +2051,6 @@ packages: '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} - '@types/estree@1.0.5': - resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - '@types/estree@1.0.6': resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} @@ -2122,6 +2093,9 @@ packages: '@types/node-forge@1.3.11': resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} + '@types/node@22.10.2': + resolution: {integrity: sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==} + '@types/node@22.7.4': resolution: {integrity: sha512-y+NPi1rFzDs1NdQHHToqeiX2TIS79SWEAw9GYhkkx8bD0ChpfqC+n2j5OXOCpzfojBEBt6DnEnnG9MY0zk1XLg==} @@ -2203,86 +2177,102 @@ packages: resolution: {integrity: sha512-yTPqMnbAZJNy2Xq2XU8AdtOW9tJIr+UQb64aXB9f3B1498Zx9JorVgFJcZpEc9UBuCCrdzKID2RGAMkYcDtZOw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@ungap/structured-clone@1.2.0': - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + '@ungap/structured-clone@1.2.1': + resolution: {integrity: sha512-fEzPV3hSkSMltkw152tJKNARhOupqbH96MZWyRjNaYZOMIzbrTeQDG+MTc6Mr2pgzFQzFxAfmhGDNP5QK++2ZA==} - '@unocss/astro@0.64.0': - resolution: {integrity: sha512-4Ijf3cQblSjdC3XV4SvzkEj17z6gNsuMGy7M+TvNN4cZhGLWQCIChtHR525ESGxJ4kdZ6FoIUoxmLdWHMOpX4Q==} + '@unocss/astro@0.64.1': + resolution: {integrity: sha512-UBB2nDc3aqBmdcgJHOsnAQaQnbdch4f3CKfV+LTv77D4tPizagUCODwPVTK3CA3leQzVbbUV06uHfo5hsv2PUw==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 peerDependenciesMeta: vite: optional: true - '@unocss/cli@0.64.0': - resolution: {integrity: sha512-xfY/qm7vr/4Qaf+CcQHuBJSg5ApZBvvGVD1zwyGFgfhfOFYR1hI3DS2zl75zav6btEwwXsjY7AUv6uYGF4M7dA==} + '@unocss/cli@0.64.1': + resolution: {integrity: sha512-P08Routw1TiCZyvfcveZIQrJi4/agBtWJAMP4NwVgYre7Lgl0jYF4qn9NEpUS4z+Qc5t2U33+4q0xgZpVh4oPw==} engines: {node: '>=14'} hasBin: true - '@unocss/config@0.64.0': - resolution: {integrity: sha512-L97x4vEk7jNG5ptZY5Xp0xgEk//tbMpQVm2BzfyL7w+Hg8X3AV4YjFL6hysHvpYiTdUCVaZg+S0s3b7wuj8Mqw==} + '@unocss/config@0.64.1': + resolution: {integrity: sha512-uhUfVnRhVsqZrRuFGGFfvvSO9gVUSHgfXOF/u8MnQ/lG1MVyXpx5QykVhjSgSehMfQIFsZ2SID1y7Fd5f8kgLw==} engines: {node: '>=14'} - '@unocss/core@0.64.0': - resolution: {integrity: sha512-Qb8wWPYNlTagCdJGzULew+e3NMM8Bd7fr38lDLgrMj+njop+wzkSe1ZZOyMMH9yHSq/Rznn5eCjnyzyHwxGslQ==} + '@unocss/core@0.64.1': + resolution: {integrity: sha512-D1ULd70a24/k6kGyHCIijbrrIn9UjFUEBg2R4xKX2/ViQb1k2MIgOs4VS20MkJX6kbZXqqm/zAFHzDhsQGIhBA==} + + '@unocss/core@0.65.3': + resolution: {integrity: sha512-xYkJ63lIadL6KqvGcaE2fFeLvo6rC1F+e+R9EFn0Aj0ArMRhiltZk8vvLFHP7iYjjdTdqDkAr/7IdrTosTo8Pg==} + + '@unocss/extractor-arbitrary-variants@0.64.1': + resolution: {integrity: sha512-tKtaeZYzSCaH1ASE7Uj45rPX4ApQHYE8eZFfaL3N4ZY0LYrTJPBnaLSRfLRwGD6KLHjoL3+sorywJiS/VVBcFQ==} - '@unocss/extractor-arbitrary-variants@0.64.0': - resolution: {integrity: sha512-oVB8l8zM+x0MQJTkraRcsrfJnWEwyPVgMgtzmNUm//HqV+xTrjZCNtOqHFNIZdj/+w0gkErGQLxzRwyPjlHq4g==} + '@unocss/extractor-arbitrary-variants@0.65.3': + resolution: {integrity: sha512-ZVGCjOZuU8daGxY7MUJQrI7aVKzZi1llRk53QgEUTU1q60X/fi8M2+A9mwEgG9MBVHBdsuvxqZ9Dp79IktSyLw==} - '@unocss/inspector@0.64.0': - resolution: {integrity: sha512-aFEfxEuPOpbPNH3j1CLLnN7ZyZkc64XoxZbz7RbG20Wy5oJxonOnlu+Wikz9SfGvIyF16MVAMCkHu12WFRRC+g==} + '@unocss/inspector@0.64.1': + resolution: {integrity: sha512-IDlSxvczxzQso/9aIneQaQ+jVhi8/Wb6uck1pRZm3q71uF3+mhzqEvQojbe1VaKqwUlCmBy2U+M/e8L5dJavlA==} - '@unocss/postcss@0.64.0': - resolution: {integrity: sha512-OMDhAUDEzbb7i+fcYEYNxwdWJLSYklMrFGSC60ADK96UPX/B9S0z1pBz7N34DRPPIzg6shO6NQfDHOaxLelAeg==} + '@unocss/postcss@0.64.1': + resolution: {integrity: sha512-tlc5ZFO6xoLhYukSRtKSBaP1SDmAatmHCbbRiH6ElncEQNpjl70raXMKjQWfIuAo8IniUe69ILZC+M60AGPYmA==} engines: {node: '>=14'} peerDependencies: postcss: ^8.4.21 - '@unocss/preset-attributify@0.64.0': - resolution: {integrity: sha512-3T1mktq5rAQxHXtdLkjjj1UOjPwy9iGbVUChvxyaGV5oOsj1mvfe1oetxz8HqAVQak8MtvsJzFzvuuQQln/6OA==} + '@unocss/preset-attributify@0.64.1': + resolution: {integrity: sha512-uxq4iiMZN+/Dy/TAQI/b+mWbHqI7ww/vVJC8tvjdXm9C4SditLb1Wd+Y183nhXI3Pa78wEibK5t8RaDc/fgKPg==} - '@unocss/preset-icons@0.64.0': - resolution: {integrity: sha512-jhozA4r583agZZpKttdootaWfvQ29lY/kHxNU1Ah2xeRQcVXXEh7M3cG0bo9HSIX9/BgXSk5rWQlqSPIqFl4Lw==} + '@unocss/preset-icons@0.64.1': + resolution: {integrity: sha512-aQ4hN2NFdJo08pzUYc1FpwTkNUByE7FB51KmRwXclsVKeXFGvFO3YUYeg5IDlTxqCfvFVWZ3q8NhnmpKGkbutw==} - '@unocss/preset-mini@0.64.0': - resolution: {integrity: sha512-bc7zanalVQUrETJ06eyS7y/lhceRlY8kBG/lRCV/dYmKl4Ho/s57LrpZH0G63OcO6IfWIjwoZHVC8/RHAqnYvQ==} + '@unocss/preset-mini@0.64.1': + resolution: {integrity: sha512-tl+ciN0elB9eETEVZQrNaMy4NpbLdWDVW7KlmpRZi4Eomf/Ntz+Wctp5V0aBvszo8arEaDiOwsgMxITvx9Ll6Q==} - '@unocss/preset-tagify@0.64.0': - resolution: {integrity: sha512-WlRQXYgtVzJpVlZ+itXhrQyvMj6XW1InNIfvAHMorr5BGvMGETLRnuWwYYhGg2YDF/g+/EucU5PQmk9UkurBzg==} + '@unocss/preset-mini@0.65.3': + resolution: {integrity: sha512-HG7mRfq0S2VKkw40duumoyIYaMBQGW1Uxb+Kw8HLGvoamnDmOZKb+TOXxys17Z5Z0vloi2CN1qqyJhYC0G6MSg==} - '@unocss/preset-typography@0.64.0': - resolution: {integrity: sha512-hMKxhHTRUjvwB0gcdWOh6zWWolH9pvIvgB4p2GaFT1vKyFD0wkTZ/7S/Q3OMKJyevSKHyIgKd+PhNGKTx5FuQQ==} + '@unocss/preset-tagify@0.64.1': + resolution: {integrity: sha512-xBGF7usHIDOMmLEgawpgbOAoNZ8qFZ/mpbRG9tdEjOHJ+rXJuJlZHhwIgwjQiFRCzSRtlsN57/iM37bZNRCEAg==} - '@unocss/preset-uno@0.64.0': - resolution: {integrity: sha512-gUmuL8anty551r/Q2XU5wc0aNZ+te4yydnamXHSUv3EkX6PCphOaiWsQ5f95fj26G8EYH9fLBvxqXurFBPM7og==} + '@unocss/preset-typography@0.64.1': + resolution: {integrity: sha512-5L/m0YrtF5P6W4U1DhMfqdKVFbso09TplVHK9udJMvYMaj4HzNNIo6GtpbSm2eCXBzxIYuzAjQ9kLldOXjZS1w==} - '@unocss/preset-web-fonts@0.64.0': - resolution: {integrity: sha512-qraIhS0tCFHvdPQnzGTfi/dggwyboWPU8UQn8oLMsmPKogNPsYQfjrtTZs8X6F1KNaPV18c6saaWYvVZ8tXPoA==} + '@unocss/preset-uno@0.64.1': + resolution: {integrity: sha512-9427KmOHsck9mNfOXiCBy43Q9aAI1w15tCBJf2bDMHioJltc6JjW+Mg5DDZWnYelhzpXCYK7zTZtMJ40KxDx+g==} - '@unocss/preset-wind@0.64.0': - resolution: {integrity: sha512-cJbZI4etFrIIQoC1VhRqyEZU5fUaYqOH3uIt5lM3osxBdAvHds7SPjLRbdR612US7JbuPeFhMMRnA1EYoo39sQ==} + '@unocss/preset-web-fonts@0.64.1': + resolution: {integrity: sha512-qhc1976bVDMYG+aG5VKvTsKK7K8hMrNnhkCmfKmvdFH7xSj8MB80YxdmiAAcKh3cVk97bh0ej7ym6Lss7I2Idg==} - '@unocss/reset@0.64.0': - resolution: {integrity: sha512-75SiDtRX/mtg/7GWeoLfDfdWF4z59zF1XesL46FNd2hDZL36a+SZHIKB/J+PPzLyX9irqm3mAETS2PNfynuJpA==} + '@unocss/preset-wind@0.64.1': + resolution: {integrity: sha512-IpAfsi2tI4elb2uZzc3BSZgbi0axgwgJLPFW0BtZQe4u1J+zrUIOvjCu/2jmiB7LR05IShCyMKIz9Vi4EJm+gQ==} + + '@unocss/preset-wind@0.65.3': + resolution: {integrity: sha512-esptoeJEN1QZEXwMIU3OXumSi3TEbIXZg1SuuUYqOWXzldxANsfXSMdHtsiXUSMNwNsfmQl4XfBlGNYYK/7eyg==} + + '@unocss/reset@0.64.1': + resolution: {integrity: sha512-xx36rWcrIpyvI1l/v+szQLrxWAgsmk6GH85QQ5iE1qccQbL9IlhWHB1KEd3cRbJ1TFeZ2Mzca/qsjg0LU9ZVnA==} + + '@unocss/rule-utils@0.64.1': + resolution: {integrity: sha512-h+Du0lezKHmdsEsGQGAtGrwrTrU+Av4eij46UzpzuNWFq0mAouBu8m/lgBI1AcY9B0Jg3EJalkOgA06tAKS8jg==} + engines: {node: '>=14'} - '@unocss/rule-utils@0.64.0': - resolution: {integrity: sha512-R5b/uspq6XsmpEqhxSzOOePHsS+pdxya+0pkQw7m6thsUxNDL7kVDpBiz2iNX5lnwagvhyhUWYu85a8XmZ8ymw==} + '@unocss/rule-utils@0.65.3': + resolution: {integrity: sha512-jndyth0X11FbvIDForYq90b+N5xsR31FRsmvp7AC7dcW71clemUEDHCwqzSJn8cVFwahgvlwWbEoYHPEgQrtIQ==} engines: {node: '>=14'} - '@unocss/transformer-attributify-jsx@0.64.0': - resolution: {integrity: sha512-/kG7NFmqMCftK5DJUgMUbe9SWRJt20Z55o36aaCkBcEsrTSYBmWYDyIJPZa3TxsjO8H1qDekRVu7CgDxwlxMEQ==} + '@unocss/transformer-attributify-jsx@0.64.1': + resolution: {integrity: sha512-Zg7rfNheWxJh2G5C0gCctGc6c8NbmI6wqbYjUxUDXEeT+lrZqKeDpTmgcLis7gLqGELFvIqE5R0EpARvjrj9bw==} - '@unocss/transformer-compile-class@0.64.0': - resolution: {integrity: sha512-p1LZG2AUsD0FrkCSo1JOsWVQ+sEMcgnVCm6XtCgxBraV3nPFeZUyxmj9yEkt0HhfYkMTvdT155c3rDhbwP8AFw==} + '@unocss/transformer-compile-class@0.64.1': + resolution: {integrity: sha512-oASb3lJq++Ll6LD3frT0WiEZUJupjrLF+rtkgz3lKPgD8bRpbh+m5FykGAIHj5VcIcYOACD4GkTrSFrQbL0GEw==} - '@unocss/transformer-directives@0.64.0': - resolution: {integrity: sha512-+e2bDEQMEsfq4KZ2R+GQNrEv0bL3E1KbXGPQXUiMGitmZzzagDfIBk9VTP3gNhU+hgTaWtjXlReeap1eSmwKGQ==} + '@unocss/transformer-directives@0.64.1': + resolution: {integrity: sha512-6yWZh7YxYTaNSdATkGpP+aQ3aTRLNo4URDmLQKB3uaQbF0Ae5dLlxXWHZ26VIpKkQ3+hME4TRxEptTR0/ag7nw==} - '@unocss/transformer-variant-group@0.64.0': - resolution: {integrity: sha512-c4CN+W8ShBhGIma3KHHcBe7CRljRwZ0f5UamRrUIMs28a2jfa1TlPlr/4Ke5b6icr0mwTGajJEUaPanOK0Fp1A==} + '@unocss/transformer-variant-group@0.64.1': + resolution: {integrity: sha512-wQkD1x69YSiIXvSvNNTN6hTZXHVzbVY+xmfoXL3bi/1cDMzRmE9C2Gk/Rzm/BSQxsLusLfDDL0NuhxWoFmvWPA==} - '@unocss/vite@0.64.0': - resolution: {integrity: sha512-QrfXlI8YcIaqQc4WRVrLbCho8eEi5pjs1/C8AwnUHGximEDN6MZNUk0htjo4QZ+50IA2b4RrYdz1N3875bJoFg==} + '@unocss/vite@0.64.1': + resolution: {integrity: sha512-DIvl7Mofc5Q6kKElMRALbH33xBYb5w3Yf7TQ860lmi3DOwjEcg+OWE1HD+iDf7IxZeqPsdF17NvJJaSdmr0m5Q==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 @@ -2293,11 +2283,11 @@ packages: vite: ^5.0.0 vue: ^3.2.25 - '@vitest/coverage-v8@2.1.4': - resolution: {integrity: sha512-FPKQuJfR6VTfcNMcGpqInmtJuVXFSCd9HQltYncfR01AzXhLucMEtQ5SinPdZxsT5x/5BK7I5qFJ5/ApGCmyTQ==} + '@vitest/coverage-v8@2.1.8': + resolution: {integrity: sha512-2Y7BPlKH18mAZYAW1tYByudlCYrQyl5RGvnnDYJKW5tCiO5qg3KSAy3XAxcxKz900a0ZXxWtKrMuZLe3lKBpJw==} peerDependencies: - '@vitest/browser': 2.1.4 - vitest: 2.1.4 + '@vitest/browser': 2.1.8 + vitest: 2.1.8 peerDependenciesMeta: '@vitest/browser': optional: true @@ -2359,14 +2349,14 @@ packages: '@vue/compiler-ssr@3.5.12': resolution: {integrity: sha512-eLwc7v6bfGBSM7wZOGPmRavSWzNFF6+PdRhE+VFJhNCgHiF8AM7ccoqcv5kBXA2eWUfigD7byekvf/JsOfKvPA==} - '@vue/devtools-api@7.4.6': - resolution: {integrity: sha512-XipBV5k0/IfTr0sNBDTg7OBUCp51cYMMXyPxLXJZ4K/wmUeMqt8cVdr2ZZGOFq+si/jTyCYnNxeKoyev5DOUUA==} + '@vue/devtools-api@7.6.8': + resolution: {integrity: sha512-ma6dY/sZR36zALVsV1W7eC57c6IJPXsy8SNgZn1PLVWU4z4dPn5TIBmnF4stmdJ4sQcixqKaQ8pwjbMPzEZwiA==} - '@vue/devtools-kit@7.4.6': - resolution: {integrity: sha512-NbYBwPWgEic1AOd9bWExz9weBzFdjiIfov0yRn4DrRfR+EQJCI9dn4I0XS7IxYGdkmUJi8mFW42LLk18WsGqew==} + '@vue/devtools-kit@7.6.8': + resolution: {integrity: sha512-JhJ8M3sPU+v0P2iZBF2DkdmR9L0dnT5RXJabJqX6o8KtFs3tebdvfoXV2Dm3BFuqeECuMJIfF1aCzSt+WQ4wrw==} - '@vue/devtools-shared@7.4.6': - resolution: {integrity: sha512-rPeSBzElnHYMB05Cc056BQiJpgocQjY8XVulgni+O9a9Gr9tNXgPteSzFFD+fT/iWMxNuUgGKs9CuW5DZewfIg==} + '@vue/devtools-shared@7.6.8': + resolution: {integrity: sha512-9MBPO5Z3X1nYGFqTJyohl6Gmf/J7UNN1oicHdyzBVZP4jnhZ4c20MgtaHDIzWmHDHCMYVS5bwKxT3jxh7gOOKA==} '@vue/reactivity@3.5.12': resolution: {integrity: sha512-UzaN3Da7xnJXdz4Okb/BGbAaomRHc3RdoWqTzlvd9+WBR5m3J39J1fGcHes7U3za0ruYn/iYy/a1euhMEHvTAg==} @@ -2585,6 +2575,11 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true + browserslist@4.24.3: + resolution: {integrity: sha512-1CPmv8iobE2fyRMV97dAcMVegvvWKxmq94hkLiAkUGwKVTyDLw33K+ZxiFrREKmmps4rIw6grcCFCnTMSZ/YiA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} @@ -2595,21 +2590,21 @@ packages: resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} engines: {node: '>=6'} - bumpp@9.7.1: - resolution: {integrity: sha512-Z6fhD5B8POcSkP+LIHeFQ0+vF0p/C3U+aYp3Yui748VCmsHrhJ/ZshP2970FqE93ymHrJVXTTF8/HDKrRNEYvw==} + bumpp@9.9.2: + resolution: {integrity: sha512-ggRxRV1rWHEyWXnf55UqYzGvttS/Vpkl1zxcNdE5xoYMTHlSgRA0Td4nKn3ckCcMuC+MTgaGQrbKBeyr0V9+Hg==} engines: {node: '>=10'} hasBin: true - bundle-require@5.0.0: - resolution: {integrity: sha512-GuziW3fSSmopcx4KRymQEJVbZUfqlCqcq7dvs6TYwKRZiegK/2buMxQTPs6MGlNv50wms1699qYO54R8XfRX4w==} + bundle-require@5.1.0: + resolution: {integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} peerDependencies: esbuild: '>=0.18' - c12@1.11.2: - resolution: {integrity: sha512-oBs8a4uvSDO9dm8b7OCFW7+dgtVrwmwnrVXYzLm43ta7ep2jCn/0MhoUFygIWtxhyy6+/MG7/agvpY0U1Iemew==} + c12@2.0.1: + resolution: {integrity: sha512-Z4JgsKXHG37C6PYUtIxCfLJZvo6FyhHJoClwwb9ftUkLpPSkuYqn6Tr+vnaN8hymm0kIbcg6Ey3kv/Q71k5w/A==} peerDependencies: - magicast: ^0.3.4 + magicast: ^0.3.5 peerDependenciesMeta: magicast: optional: true @@ -2618,9 +2613,6 @@ packages: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} - call-me-maybe@1.0.2: - resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} - callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -2631,6 +2623,9 @@ packages: caniuse-lite@1.0.30001653: resolution: {integrity: sha512-XGWQVB8wFQ2+9NZwZ10GxTYC5hk0Fa+q8cSkr0tgvMhYhMHP/QC+WTgrePMDBWiWc/pV+1ik82Al20XOK25Gcw==} + caniuse-lite@1.0.30001690: + resolution: {integrity: sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==} + capnp-ts@0.7.0: resolution: {integrity: sha512-XKxXAC3HVPv7r674zP0VC3RTXz+/JKhfyw94ljvF80yynK6VkTnqE3jMuN8b3dUVmmc43TjyxjW4KTsmB3c86g==} @@ -2660,6 +2655,10 @@ packages: resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + chalk@5.4.1: + resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + character-entities-html4@2.1.0: resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} @@ -2680,6 +2679,10 @@ packages: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} + chownr@2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} @@ -2691,8 +2694,8 @@ packages: citty@0.1.6: resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} - class-variance-authority@0.7.0: - resolution: {integrity: sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A==} + class-variance-authority@0.7.1: + resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==} clean-regexp@1.0.0: resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} @@ -2710,18 +2713,10 @@ packages: resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} engines: {node: '>= 12'} - clipboardy@4.0.0: - resolution: {integrity: sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==} - engines: {node: '>=18'} - cliui@8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} - clsx@2.0.0: - resolution: {integrity: sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==} - engines: {node: '>=6'} - clsx@2.1.1: resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} @@ -2767,10 +2762,10 @@ packages: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} - conf@13.0.1: - resolution: {integrity: sha512-l9Uwc9eOnz39oADzGO2cSBDi7siv8lwO+31ocQ2nOJijnDiW3pxqm9VV10DPYUO28wW83DjABoUqY1nfHRR2hQ==} + conf@13.1.0: + resolution: {integrity: sha512-Bi6v586cy1CoTFViVO4lGTtx780lfF96fUmS1lSX6wpZf6330NvHUu6fReVuDP1de8Mg0nkZb01c8tAQdz1o3w==} engines: {node: '>=18'} confbox@0.1.7: @@ -2783,6 +2778,10 @@ packages: resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} engines: {node: ^14.18.0 || >=16.10.0} + consola@3.3.3: + resolution: {integrity: sha512-Qil5KwghMzlqd51UXM0b6fyaGHtOC22scxrwrz4A2882LyUMwQjnvaedN1HAeXzphspQ6CpHkzMAWxBTUruDLg==} + engines: {node: ^14.18.0 || >=16.10.0} + convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} @@ -2810,13 +2809,12 @@ packages: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} - crossws@0.2.4: - resolution: {integrity: sha512-DAxroI2uSOgUKLz00NX6A8U/8EE3SZHmIND+10jkVSaypvyt57J5JEOxAQOL6lQxyzi/wZbTIwssU1uy69h5Vg==} - peerDependencies: - uWebSockets.js: '*' - peerDependenciesMeta: - uWebSockets.js: - optional: true + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + crossws@0.3.1: + resolution: {integrity: sha512-HsZgeVYaG+b5zA+9PbIPGq4+J/CJynJuearykPsXx4V/eMhyQ5EDVg3Ak2FBZtVXCiOLu/U7IiwDHTr9MA+IKw==} css-declaration-sorter@7.2.0: resolution: {integrity: sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==} @@ -2835,8 +2833,8 @@ packages: resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} - css-tree@3.0.1: - resolution: {integrity: sha512-8Fxxv+tGhORlshCdCwnNJytvlvq46sOLSYEx2ZIGurahWvMucSRnyjPA3AmrMq4VPRYbHVpWj5VkiVasrM2H4Q==} + css-tree@3.1.0: + resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} css-what@6.1.0: @@ -2848,8 +2846,8 @@ packages: engines: {node: '>=4'} hasBin: true - cssnano-preset-default@7.0.5: - resolution: {integrity: sha512-Jbzja0xaKwc5JzxPQoc+fotKpYtWEu4wQLMQe29CM0FjjdRjA4omvbGHl2DTGgARKxSTpPssBsok+ixv8uTBqw==} + cssnano-preset-default@7.0.6: + resolution: {integrity: sha512-ZzrgYupYxEvdGGuqL+JKOY70s7+saoNlHSCK/OGn1vB2pQK8KSET8jvenzItcY+kA7NoWvfbb/YhlzuzNKjOhQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 @@ -2860,8 +2858,8 @@ packages: peerDependencies: postcss: ^8.4.31 - cssnano@7.0.5: - resolution: {integrity: sha512-Aq0vqBLtpTT5Yxj+hLlLfNPFuRQCDIjx5JQAhhaedQKLNDvDGeVziF24PS+S1f0Z5KCxWvw0QVI3VNHNBITxVQ==} + cssnano@7.0.6: + resolution: {integrity: sha512-54woqx8SCbp8HwvNZYn68ZFAepuouZW4lTwiMVnBErM3VkO7/Sd4oTOt3Zz3bPx3kxQ36aISppyXj2Md4lg8bw==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 @@ -2911,6 +2909,15 @@ packages: supports-color: optional: true + debug@4.4.0: + resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + decimal.js@10.4.3: resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} @@ -2942,11 +2949,6 @@ packages: destr@2.0.3: resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} - detect-libc@1.0.3: - resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} - engines: {node: '>=0.10'} - hasBin: true - detect-libc@2.0.3: resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} engines: {node: '>=8'} @@ -2972,15 +2974,15 @@ packages: resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} engines: {node: '>= 4'} - domutils@3.1.0: - resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} + domutils@3.2.1: + resolution: {integrity: sha512-xWXmuRnN9OMP6ptPd2+H0cCbcYBULa5YDTbMm/2lvkWvNA3O4wcW+GvzooqBuNM8yy6pl3VIAeJTUUWUbfI5Fw==} dot-prop@9.0.0: resolution: {integrity: sha512-1gxPBJpI/pcjQhKgIU91II6Wkay+dLcN3M6rf2uwP8hRur3HtQXjVrdAK3sjC0piaEuxzMwjXChcETiJl47lAQ==} engines: {node: '>=18'} - dotenv@16.4.5: - resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + dotenv@16.4.7: + resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} engines: {node: '>=12'} duplexer@0.1.2: @@ -2992,6 +2994,12 @@ packages: electron-to-chromium@1.5.13: resolution: {integrity: sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==} + electron-to-chromium@1.5.76: + resolution: {integrity: sha512-CjVQyG7n7Sr+eBXE86HIulnL5N8xZY1sgmOPGuq/F0Rr0FJq63lg0kEtOIDfZBk44FnDLf6FUJ+dsJcuiUDdDQ==} + + emoji-regex-xs@1.0.0: + resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==} + emoji-regex@10.4.0: resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} @@ -3046,8 +3054,8 @@ packages: engines: {node: '>=18'} hasBin: true - esbuild@0.24.0: - resolution: {integrity: sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==} + esbuild@0.24.2: + resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==} engines: {node: '>=18'} hasBin: true @@ -3394,9 +3402,6 @@ packages: get-func-name@2.0.2: resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} - get-port-please@3.1.2: - resolution: {integrity: sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ==} - get-source@2.0.12: resolution: {integrity: sha512-X5+4+iD+HoSeEED+uwrQ07BOQr0kEDFMVqqpBuI+RaZBpBpHCuXxo70bjar6f0b0u/DQJsJ7ssurpP0V60Az+w==} @@ -3443,6 +3448,10 @@ packages: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} + globals@15.14.0: + resolution: {integrity: sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==} + engines: {node: '>=18'} + globals@15.9.0: resolution: {integrity: sha512-SmSKyLLKFbSr6rptvP8izbyxJL4ILwqO9Jg23UA0sDlGlu58V59D1//I3vlc0KJphVdUR7vMjHIplYnzBxorQA==} engines: {node: '>=18'} @@ -3461,8 +3470,8 @@ packages: resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} engines: {node: '>=10'} - h3@1.12.0: - resolution: {integrity: sha512-Zi/CcNeWBXDrFNlV0hUBJQR9F7a96RjMeAZweW/ZWkR9fuXrMcvKnSA63f/zZ9l0GgQOZDVHGvXivNN9PWOwhA==} + h3@1.13.0: + resolution: {integrity: sha512-vFEAu/yf8UMUcB4s43OaDaigcqpQd14yanmOsn+NcRX3/guSKncyE2rOYhq8RIchgJrPSs/QiIddnTTR1ddiAg==} has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} @@ -3476,8 +3485,8 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} - hast-util-to-html@9.0.3: - resolution: {integrity: sha512-M17uBDzMJ9RPCqLMO92gNNUDuBSq10a25SDBI08iCCxmorf4Yy6sYHK57n9WAbRAAaU+DuR4W6GN9K4DFZesYg==} + hast-util-to-html@9.0.4: + resolution: {integrity: sha512-wxQzXtdbhiwGAUKrnQJXlOPmHnEehzphwkK7aluUPQ+lEc1xefC8pblMgpp2w5ldBTEfveRIrADcrhGIWrlTDA==} hast-util-whitespace@3.0.0: resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} @@ -3485,8 +3494,8 @@ packages: help-me@5.0.0: resolution: {integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==} - hono@4.6.6: - resolution: {integrity: sha512-euUj5qwvtkG+p38GFs0LYacwaoS2hYRAGn9ysAggiwT2QBcPnT1XYUCW3hatW4C1KzAXTYuQ08BlVDJtAGuhlg==} + hono@4.6.15: + resolution: {integrity: sha512-OiQwvAOAaI2JrABBH69z5rsctHDzFzIKJge0nYXgtzGJ0KftwLWcBXm1upJC23/omNRtnqM0gjRMbtXshPdqhQ==} engines: {node: '>=16.9.0'} hookable@5.5.3: @@ -3512,10 +3521,6 @@ packages: resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} engines: {node: '>= 14'} - http-shutdown@1.2.2: - resolution: {integrity: sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==} - engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} - https-proxy-agent@7.0.5: resolution: {integrity: sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==} engines: {node: '>= 14'} @@ -3587,10 +3592,9 @@ packages: resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} engines: {node: '>= 0.4'} - is-docker@3.0.0: - resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - hasBin: true + is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} @@ -3604,11 +3608,6 @@ packages: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} - is-inside-container@1.0.0: - resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} - engines: {node: '>=14.16'} - hasBin: true - is-interactive@2.0.0: resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} engines: {node: '>=12'} @@ -3649,14 +3648,6 @@ packages: resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} engines: {node: '>=12.13'} - is-wsl@3.1.0: - resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} - engines: {node: '>=16'} - - is64bit@2.0.0: - resolution: {integrity: sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw==} - engines: {node: '>=18'} - isarray@1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} @@ -3685,14 +3676,18 @@ packages: jackspeak@3.4.3: resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} - jiti@1.21.6: - resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} + jiti@1.21.7: + resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} hasBin: true jiti@2.0.0-beta.3: resolution: {integrity: sha512-pmfRbVRs/7khFrSAYnSiJ8C0D5GvzkE4Ey2pAvUcJsw1ly/p+7ut27jbJrjY79BpAJQJ4gXYFtK6d1Aub+9baQ==} hasBin: true + jiti@2.4.2: + resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} + hasBin: true + joycon@3.1.1: resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} engines: {node: '>=10'} @@ -3731,6 +3726,11 @@ packages: engines: {node: '>=6'} hasBin: true + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} @@ -3771,11 +3771,14 @@ packages: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} + knitwork@1.2.0: + resolution: {integrity: sha512-xYSH7AvuQ6nXkq42x0v5S8/Iry+cfulBz/DJQzhIyESdLD7425jXsPy4vn5cCXU+HhRN2kVw51Vd1K6/By4BQg==} + kolorist@1.8.0: resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} - less@4.2.0: - resolution: {integrity: sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==} + less@4.2.1: + resolution: {integrity: sha512-CasaJidTIhWmjcqv0Uj5vccMI7pJgfD9lMkKtlnTHAdJdYK/7l8pM9tumLyJ0zhbD4KJLo/YvTj+xznQd5NBhg==} engines: {node: '>=6'} hasBin: true @@ -3786,17 +3789,13 @@ packages: lie@3.3.0: resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==} - lilconfig@3.1.2: - resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} + lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} engines: {node: '>=14'} lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - listhen@1.7.2: - resolution: {integrity: sha512-7/HamOm5YD9Wb7CFgAZkKgVPA96WwhcTQoqtm2VTZGVbVVn3IWKRBTgrU7cchA3Q8k9iCsG8Osoi9GX4JsGM9g==} - hasBin: true - load-tsconfig@0.2.5: resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -3805,6 +3804,10 @@ packages: resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} engines: {node: '>=14'} + local-pkg@0.5.1: + resolution: {integrity: sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==} + engines: {node: '>=14'} + locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} @@ -3853,6 +3856,9 @@ packages: magic-string@0.30.12: resolution: {integrity: sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==} + magic-string@0.30.17: + resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} + magicast@0.3.5: resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==} @@ -3912,8 +3918,8 @@ packages: mdn-data@2.0.30: resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} - mdn-data@2.12.1: - resolution: {integrity: sha512-rsfnCbOHjqrhWxwt5/wtSLzpoKTzW7OXdT5lLOIH1OTYhWu9rRJveGq0sKvDZODABH7RX+uoR+DYcpFnq4Tf6Q==} + mdn-data@2.12.2: + resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==} merge-anything@5.1.7: resolution: {integrity: sha512-eRtbOb1N5iyH0tkQDAoQ4Ipsp/5qSR79Dzrz8hEPxRX10RWWR/iQXdoKmBSRCThY1Fh5EhISDtpSc93fpxUniQ==} @@ -3968,6 +3974,9 @@ packages: micromark-util-character@2.1.0: resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} + micromark-util-character@2.1.1: + resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} + micromark-util-chunked@2.0.0: resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} @@ -3986,6 +3995,9 @@ packages: micromark-util-encode@2.0.0: resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} + micromark-util-encode@2.0.1: + resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} + micromark-util-html-tag-name@2.0.0: resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} @@ -3998,15 +4010,24 @@ packages: micromark-util-sanitize-uri@2.0.0: resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} + micromark-util-sanitize-uri@2.0.1: + resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} + micromark-util-subtokenize@2.0.1: resolution: {integrity: sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==} micromark-util-symbol@2.0.0: resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} + micromark-util-symbol@2.0.1: + resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} + micromark-util-types@2.0.0: resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} + micromark-util-types@2.0.1: + resolution: {integrity: sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==} + micromark@4.0.0: resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} @@ -4044,8 +4065,8 @@ packages: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} - miniflare@3.20241106.0: - resolution: {integrity: sha512-PjOoJKjUUofCueQskfhXlGvvHxZj36UAJAp1DnquMK88MFF50zCULblh0KXMSNM+bXeQYA94Gj06a7kfmBGxPw==} + miniflare@3.20241218.0: + resolution: {integrity: sha512-spYFDArH0wd+wJSTrzBrWrXJrbyJhRMJa35mat947y1jYhVV8I5V8vnD3LwjfpLr0SaEilojz1OIW7ekmnRe+w==} engines: {node: '>=16.13'} hasBin: true @@ -4090,12 +4111,12 @@ packages: engines: {node: '>=10'} hasBin: true - mkdist@1.5.4: - resolution: {integrity: sha512-GEmKYJG5K1YGFIq3t0K3iihZ8FTgXphLf/4UjbmpXIAtBFn4lEjXk3pXNTSfy7EtcEXhp2Nn1vzw5pIus6RY3g==} + mkdist@1.6.0: + resolution: {integrity: sha512-nD7J/mx33Lwm4Q4qoPgRBVA9JQNKgyE7fLo5vdPWVDdjz96pXglGERp/fRnGPCTB37Kykfxs5bDdXa9BWOT9nw==} hasBin: true peerDependencies: - sass: ^1.77.8 - typescript: '>=5.5.3' + sass: ^1.78.0 + typescript: '>=5.5.4' vue-tsc: ^1.8.27 || ^2.0.21 peerDependenciesMeta: sass: @@ -4108,12 +4129,8 @@ packages: mlly@1.7.1: resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==} - mlly@1.7.2: - resolution: {integrity: sha512-tN3dvVHYVz4DhSXinXIk7u9syPYaJvio118uomkovAtWBT+RdbP6Lfh/5Lvo519YMmwBafwlh20IPTXIStscpA==} - - mri@1.2.0: - resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} - engines: {node: '>=4'} + mlly@1.7.3: + resolution: {integrity: sha512-xUsx5n/mN0uQf4V548PKQ+YShA4/IW0KI1dZhrNrPCLG+xizETbHTkOa1f8/xut9JRPp8kQuMnz0oqwkTiLo/A==} mrmime@2.0.0: resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} @@ -4126,8 +4143,8 @@ packages: resolution: {integrity: sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==} hasBin: true - msgpackr@1.11.0: - resolution: {integrity: sha512-I8qXuuALqJe5laEBYoFykChhSXLikZmUhccjGsPuSJ/7uPip2TJ7lwdIQwWSAi0jGZDXv4WOP8Qg65QZRuXxXw==} + msgpackr@1.11.2: + resolution: {integrity: sha512-F9UngXRlPyWCDEASDpTf6c9uNhGPTqnTeLVt7bN+bU1eajoR/8V9ys2BRaV5C/e5ihE6sJ9uPIKaYt6bFuO32g==} mustache@4.2.0: resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} @@ -4142,6 +4159,11 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + nanoid@3.3.8: + resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + natural-compare-lite@1.4.0: resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} @@ -4153,9 +4175,6 @@ packages: engines: {node: '>= 4.4.x'} hasBin: true - node-addon-api@7.1.1: - resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} - node-cron@3.0.3: resolution: {integrity: sha512-dOal67//nohNgYWb+nWmg5dkFdIwDm8EpeGYMekPMrngV3637lqnX0lbUcCtgibHTz6SEz7DAIjKvKDFYCnO1A==} engines: {node: '>=6.0.0'} @@ -4178,6 +4197,9 @@ packages: node-releases@2.0.18: resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} + node-releases@2.0.19: + resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} + normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} @@ -4204,15 +4226,9 @@ packages: engines: {node: ^14.16.0 || >=16.10.0} hasBin: true - ofetch@1.3.4: - resolution: {integrity: sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==} - ofetch@1.4.1: resolution: {integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==} - ohash@1.1.3: - resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==} - ohash@1.1.4: resolution: {integrity: sha512-FlDryZAahJmEF3VR3w1KogSEdWX3WhA5GPakFx4J81kEAiHyLMpdLLElS8n8dfNadMgAne/MywcvmogzscVt4g==} @@ -4231,15 +4247,15 @@ packages: resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} engines: {node: '>=18'} - oniguruma-to-js@0.4.3: - resolution: {integrity: sha512-X0jWUcAlxORhOqqBREgPMgnshB7ZGYszBNspP+tS9hPD3l13CdaXcHbgImoHUHlrvGx/7AvFEkTRhAGYh+jzjQ==} + oniguruma-to-es@0.8.1: + resolution: {integrity: sha512-dekySTEvCxCj0IgKcA2uUCO/e4ArsqpucDPcX26w9ajx+DvMWLc5eZeJaRQkd7oC/+rwif5gnT900tA34uN9Zw==} optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} - ora@8.1.0: - resolution: {integrity: sha512-GQEkNkH/GHOhPFXcqZs3IDahXEQcQxsSjEkK4KvEEST4t7eNzoMjxTzef+EZ+JluDEV+Raoi3WQ2CflnRdSVnQ==} + ora@8.1.1: + resolution: {integrity: sha512-YWielGi1XzG1UTvOaCFaNgEnuhZVMSHYkW/FQ7UX8O26PtlpdM84c0f7wLPlkvx2RfiQmnzd61d/MGxmpQeJPw==} engines: {node: '>=18'} os-tmpdir@1.0.2: @@ -4362,23 +4378,23 @@ packages: pino-std-serializers@7.0.0: resolution: {integrity: sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==} - pino@9.5.0: - resolution: {integrity: sha512-xSEmD4pLnV54t0NOUN16yCl7RIB1c5UUOse5HSyEXtBp+FgFQyPeDutc+Q2ZO7/22vImV7VfEjH/1zV2QuqvYw==} + pino@9.6.0: + resolution: {integrity: sha512-i85pKRCt4qMjZ1+L7sy2Ag4t1atFcdbEt76+7iRJn1g2BvsnRMGu9p8pivl9fs63M2kF/A0OacFZhTub+m/qMg==} hasBin: true pkg-types@1.2.0: resolution: {integrity: sha512-+ifYuSSqOQ8CqP4MbZA5hDpb97n3E8SVWdJe+Wms9kj745lmd3b7EZJiqvmLwAlmRfjrI7Hi5z3kdBJ93lFNPA==} - pkg-types@1.2.1: - resolution: {integrity: sha512-sQoqa8alT3nHjGuTjuKgOnvjo4cljkufdtLMnO2LBP/wRwuDlo1tkaEdMxCRhyGRPacv/ztlZgDPm2b7FAmEvw==} + pkg-types@1.3.0: + resolution: {integrity: sha512-kS7yWjVFCkIw9hqdJBoMxDdzEngmkr5FXeWZZfQ6GoYacjVnsW6l2CcYW/0ThD0vF4LPJgVYnrg4d0uuhwYQbg==} - playwright-core@1.48.1: - resolution: {integrity: sha512-Yw/t4VAFX/bBr1OzwCuOMZkY1Cnb4z/doAFSwf4huqAGWmf9eMNjmK7NiOljCdLmxeRYcGPPmcDgU0zOlzP0YA==} + playwright-core@1.49.1: + resolution: {integrity: sha512-BzmpVcs4kE2CH15rWfzpjzVGhWERJfmnXmniSyKeRZUs9Ws65m+RGIi7mjJK/euCegfn3i7jvqWeWyHe9y3Vgg==} engines: {node: '>=18'} hasBin: true - playwright@1.48.1: - resolution: {integrity: sha512-j8CiHW/V6HxmbntOfyB4+T/uk08tBy6ph0MpBXwuoofkSnLmlfdYNNkFTYD6ofzzlSqLA1fwH4vwvVFvJgLN0w==} + playwright@1.49.1: + resolution: {integrity: sha512-VYL8zLoNTBxVOrJBbDuRgDWa3i+mfQgDTrL8Ah9QXZ7ax4Dsj0MSq5bYgytRnDVVe+njoKnfsYkH3HzqVj5UZA==} engines: {node: '>=18'} hasBin: true @@ -4398,14 +4414,14 @@ packages: peerDependencies: postcss: ^8.4.31 - postcss-convert-values@7.0.3: - resolution: {integrity: sha512-yJhocjCs2SQer0uZ9lXTMOwDowbxvhwFVrZeS6NPEij/XXthl73ggUmfwVvJM+Vaj5gtCKJV1jiUu4IhAUkX/Q==} + postcss-convert-values@7.0.4: + resolution: {integrity: sha512-e2LSXPqEHVW6aoGbjV9RsSSNDO3A0rZLCBxN24zvxF25WknMPpX8Dm9UxxThyEbaytzggRuZxaGXqaOhxQ514Q==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 - postcss-discard-comments@7.0.2: - resolution: {integrity: sha512-/Hje9Ls1IYcB9duELO/AyDUJI6aQVY3h5Rj1ziXgaLYCTi1iVBLnjg/TS0D6NszR/kDG6I86OwLmAYe+bvJjiQ==} + postcss-discard-comments@7.0.3: + resolution: {integrity: sha512-q6fjd4WU4afNhWOA2WltHgCbkRhZPgQe7cXF74fuVB/ge4QbM9HEaOIzGSiMvM+g/cOsNAUGdf2JDzqA2F8iLA==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 @@ -4428,14 +4444,14 @@ packages: peerDependencies: postcss: ^8.4.31 - postcss-merge-longhand@7.0.3: - resolution: {integrity: sha512-8waYomFxshdv6M9Em3QRM9MettRLDRcH2JQi2l0Z1KlYD/vhal3gbkeSES0NuACXOlZBB0V/B0AseHZaklzWOA==} + postcss-merge-longhand@7.0.4: + resolution: {integrity: sha512-zer1KoZA54Q8RVHKOY5vMke0cCdNxMP3KBfDerjH/BYHh4nCIh+1Yy0t1pAEQF18ac/4z3OFclO+ZVH8azjR4A==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 - postcss-merge-rules@7.0.3: - resolution: {integrity: sha512-2eSas2p3voPxNfdI5sQrvIkMaeUHpVc3EezgVs18hz/wRTQAC9U99tp9j3W5Jx9/L3qHkEDvizEx/LdnmumIvQ==} + postcss-merge-rules@7.0.4: + resolution: {integrity: sha512-ZsaamiMVu7uBYsIdGtKJ64PkcQt6Pcpep/uO90EpLS3dxJi6OXamIobTYcImyXGoW0Wpugh7DSD3XzxZS9JCPg==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 @@ -4458,8 +4474,8 @@ packages: peerDependencies: postcss: ^8.4.31 - postcss-minify-selectors@7.0.3: - resolution: {integrity: sha512-SxTgUQSgBk6wEqzQZKEv1xQYIp9UBju6no9q+npohzSdhuSICQdkqmD1UMKkZWItS3olJSJMDDEY9WOJ5oGJew==} + postcss-minify-selectors@7.0.4: + resolution: {integrity: sha512-JG55VADcNb4xFCf75hXkzc1rNeURhlo7ugf6JjiiKRfMsKlDzN9CXHZDyiG6x/zGchpjQS+UAgb1d4nqXqOpmA==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 @@ -4552,8 +4568,8 @@ packages: peerDependencies: postcss: ^8.4.31 - postcss-unique-selectors@7.0.2: - resolution: {integrity: sha512-CjSam+7Vf8cflJQsHrMS0P2hmy9u0+n/P001kb5eAszLmhjMqrt/i5AqQuNFihhViwDvEAezqTmXqaYXL2ugMw==} + postcss-unique-selectors@7.0.3: + resolution: {integrity: sha512-J+58u5Ic5T1QjP/LDV9g3Cx4CNOgB5vz+kM6+OxHHhFACdcDeKhBXjQmB7fnIZM12YSTvsL0Opwco83DmacW2g==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 @@ -4561,8 +4577,8 @@ packages: postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - postcss@8.4.48: - resolution: {integrity: sha512-GCRK8F6+Dl7xYniR5a4FYbpBzU8XnZVeowqsQFYdcXuSbChgiks7qybSkbvnaeqv0G0B+dd9/jJgH8kkLDQeEA==} + postcss@8.4.49: + resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} engines: {node: ^10 || ^12 || >=14} preact@10.24.3: @@ -4629,14 +4645,18 @@ packages: readable-stream@2.3.8: resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} - readable-stream@4.5.2: - resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} + readable-stream@4.6.0: + resolution: {integrity: sha512-cbAdYt0VcnpN2Bekq7PU+k363ZRsPwJoEEJOEtSJQlJXzwaxt3FIo/uL+KeDSGIjJqtkwyge4KQgD2S2kd+CQw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} + readdirp@4.0.2: + resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==} + engines: {node: '>= 14.16.0'} + real-require@0.2.0: resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} engines: {node: '>= 12.13.0'} @@ -4645,8 +4665,14 @@ packages: resolution: {integrity: sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - regex@4.3.3: - resolution: {integrity: sha512-r/AadFO7owAq1QJVeZ/nq9jNS1vyZt+6t1p/E59B56Rn2GCya+gr1KSyOzNL/er+r+B7phv5jG2xU2Nz1YkmJg==} + regex-recursion@5.1.1: + resolution: {integrity: sha512-ae7SBCbzVNrIjgSbh7wMznPcQel1DNlDtzensnFxpiNpXt1U2ju/bHugH422r+4LAVS1FpW1YCwilmnNsjum9w==} + + regex-utilities@2.3.0: + resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} + + regex@5.1.1: + resolution: {integrity: sha512-dN5I359AVGPnwzJm2jN1k0W9LPZ+ePvoOeVMMfqIMFz53sSwXkxaJoxr50ptnsC771lK95BnTrVSZxq0b9yCGw==} regexp-ast-analysis@0.7.1: resolution: {integrity: sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A==} @@ -4675,9 +4701,10 @@ packages: resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - resolve.exports@2.0.2: - resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} - engines: {node: '>=10'} + resolve@1.22.10: + resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} + engines: {node: '>= 0.4'} + hasBin: true resolve@1.22.8: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} @@ -4711,13 +4738,13 @@ packages: rollup-pluginutils@2.8.2: resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} - rollup@3.29.4: - resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} + rollup@3.29.5: + resolution: {integrity: sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true - rollup@4.25.0: - resolution: {integrity: sha512-uVbClXmR6wvx5R1M3Od4utyLUxrmOcEm3pAtMphn73Apq19PDtHpgZoEvqH2YnnaNUuvKmg2DgRd2Sqv+odyqg==} + rollup@4.29.1: + resolution: {integrity: sha512-RaJ45M/kmJUzSWDs1Nnd5DdV4eerC98idtUOVr6FfKcgxqvjwHmxc5upLF9qZU9EpsVzzhleFahrT3shLuJzIw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -4798,8 +4825,8 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - shiki@1.22.0: - resolution: {integrity: sha512-/t5LlhNs+UOKQCYBtl5ZsH/Vclz73GIqT2yQsCBygr8L/ppTdmpL4w3kPLoZJbMKVWtoG77Ue1feOjZfDxvMkw==} + shiki@1.24.4: + resolution: {integrity: sha512-aVGSFAOAr1v26Hh/+GBIsRVDWJ583XYV7CuNURKRWh9gpGv4OdbisZGq96B9arMYTZhTQkmRF5BrShOSTvNqhw==} siginfo@2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} @@ -4901,6 +4928,9 @@ packages: std-env@3.7.0: resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} + std-env@3.8.0: + resolution: {integrity: sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==} + stdin-discarder@0.2.2: resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==} engines: {node: '>=18'} @@ -4909,10 +4939,6 @@ packages: resolution: {integrity: sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==} engines: {node: '>=4', npm: '>=6'} - string-argv@0.3.2: - resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} - engines: {node: '>=0.6.19'} - string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -4957,14 +4983,14 @@ packages: stubborn-fs@1.2.5: resolution: {integrity: sha512-H2N9c26eXjzL/S/K+i/RHHcFanE74dptvvjM8iwzwbVcWY/zjBbgRqF3K0DY4+OD+uTTASTBvDoxPDaPN02D7g==} - stylehacks@7.0.3: - resolution: {integrity: sha512-4DqtecvI/Nd+2BCvW9YEF6lhBN5UM50IJ1R3rnEAhBwbCKf4VehRf+uqvnVArnBayjYD/WtT3g0G/HSRxWfTRg==} + stylehacks@7.0.4: + resolution: {integrity: sha512-i4zfNrGMt9SB4xRK9L83rlsFCgdGANfeDAYacO1pkqcE7cRHPdWHwnKZVz7WY17Veq/FvyYsRAU++Ga+qDFIww==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 - superjson@2.2.1: - resolution: {integrity: sha512-8iGv75BYOa0xRJHK5vRLEjE2H/i4lulTjzpUXic3Eg8akftYjkmQDa8JARQ42rlczXyFR3IeRoeFCc7RxHsYZA==} + superjson@2.2.2: + resolution: {integrity: sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==} engines: {node: '>=16'} supports-color@5.5.0: @@ -4995,15 +5021,11 @@ packages: resolution: {integrity: sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A==} engines: {node: ^14.18.0 || >=16.0.0} - system-architecture@0.1.0: - resolution: {integrity: sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==} - engines: {node: '>=18'} - tabbable@6.2.0: resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} - tailwind-merge@2.5.4: - resolution: {integrity: sha512-0q8cfZHMu9nuYP/b5Shb7Y7Sh1B7Nnl5GqNr1U+n2p6+mybvRtayrQ+0042Z5byvTA8ihjlP8Odo8/VnHbZu4Q==} + tailwind-merge@2.6.0: + resolution: {integrity: sha512-P+Vu1qXfzediirmHOC3xKGAYeZtPcV9g76X+xg2FD4tYgR71ewMA35Y3sCz3zhiN/dwefRpJX0yBcgwi1fXNQA==} tapable@2.2.1: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} @@ -5034,6 +5056,9 @@ packages: tinyexec@0.3.0: resolution: {integrity: sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==} + tinyexec@0.3.2: + resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} + tinyglobby@0.2.10: resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==} engines: {node: '>=12.0.0'} @@ -5109,10 +5134,6 @@ packages: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - type-detect@4.1.0: - resolution: {integrity: sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==} - engines: {node: '>=4'} - type-fest@0.20.2: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} @@ -5166,12 +5187,15 @@ packages: undici-types@6.19.8: resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} + undici-types@6.20.0: + resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} + undici@5.28.4: resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==} engines: {node: '>=14.0'} - unenv-nightly@2.0.0-20241024-111401-d4156ac: - resolution: {integrity: sha512-xJO1hfY+Te+/XnfCYrCbFbRcgu6XEODND1s5wnVbaBCkuQX7JXF7fHEXPrukFE2j8EOH848P8QN19VO47XN8hw==} + unenv-nightly@2.0.0-20241204-140205-a5d5190: + resolution: {integrity: sha512-jpmAytLeiiW01pl5bhVn9wYJ4vtiLdhGe10oXlJBuQEX8mxjxO8BlEXGHU4vr4yEikjFP1wsomTHt/CLU8kUwg==} unenv@1.10.0: resolution: {integrity: sha512-wY5bskBQFL9n3Eca5XnhH6KbUo/tfvkwm9OpcdCvLaeA7piBNbavbOKJySEwQ1V0RH6HvNlSAFRTpvTqgKRQXQ==} @@ -5197,11 +5221,11 @@ packages: '@unocss/preset-wind': '>= 0.56.0 < 1' unocss: '>= 0.56.0 < 1' - unocss@0.64.0: - resolution: {integrity: sha512-wiEFRjGXSogzf/4+KICXjFDgSGloSCV1Ka2Dct/8Z8U+iwRqeVpHGVQcGjBFg9Uh0DH1fSVBbis2aPuIkT0nEA==} + unocss@0.64.1: + resolution: {integrity: sha512-UTtK9TPneVht5r0cVEADS/N6970AoHhKvJKDkBPnk7OQdguIFPCykGyx4llukItzm0AoffGfwg5zQ+L8QJgupw==} engines: {node: '>=14'} peerDependencies: - '@unocss/webpack': 0.64.0 + '@unocss/webpack': 0.64.1 vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 peerDependenciesMeta: '@unocss/webpack': @@ -5209,22 +5233,27 @@ packages: vite: optional: true - unstorage@1.12.0: - resolution: {integrity: sha512-ARZYTXiC+e8z3lRM7/qY9oyaOkaozCeNd2xoz7sYK9fv7OLGhVsf+BZbmASqiK/HTZ7T6eAlnVq9JynZppyk3w==} - peerDependencies: - '@azure/app-configuration': ^1.7.0 - '@azure/cosmos': ^4.1.1 - '@azure/data-tables': ^13.2.2 - '@azure/identity': ^4.4.1 - '@azure/keyvault-secrets': ^4.8.0 - '@azure/storage-blob': ^12.24.0 - '@capacitor/preferences': ^6.0.2 - '@netlify/blobs': ^6.5.0 || ^7.0.0 + unstorage@1.14.4: + resolution: {integrity: sha512-1SYeamwuYeQJtJ/USE1x4l17LkmQBzg7deBJ+U9qOBoHo15d1cDxG4jM31zKRgF7pG0kirZy4wVMX6WL6Zoscg==} + peerDependencies: + '@azure/app-configuration': ^1.8.0 + '@azure/cosmos': ^4.2.0 + '@azure/data-tables': ^13.3.0 + '@azure/identity': ^4.5.0 + '@azure/keyvault-secrets': ^4.9.0 + '@azure/storage-blob': ^12.26.0 + '@capacitor/preferences': ^6.0.3 + '@deno/kv': '>=0.8.4' + '@netlify/blobs': ^6.5.0 || ^7.0.0 || ^8.1.0 '@planetscale/database': ^1.19.0 - '@upstash/redis': ^1.34.0 + '@upstash/redis': ^1.34.3 + '@vercel/blob': '>=0.27.0' '@vercel/kv': ^1.0.1 + aws4fetch: ^1.0.20 + db0: '>=0.2.1' idb-keyval: ^6.2.1 - ioredis: ^5.4.1 + ioredis: ^5.4.2 + uploadthing: ^7.4.1 peerDependenciesMeta: '@azure/app-configuration': optional: true @@ -5240,25 +5269,31 @@ packages: optional: true '@capacitor/preferences': optional: true + '@deno/kv': + optional: true '@netlify/blobs': optional: true '@planetscale/database': optional: true '@upstash/redis': optional: true + '@vercel/blob': + optional: true '@vercel/kv': optional: true + aws4fetch: + optional: true + db0: + optional: true idb-keyval: optional: true ioredis: optional: true + uploadthing: + optional: true - untun@0.1.3: - resolution: {integrity: sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ==} - hasBin: true - - untyped@1.4.2: - resolution: {integrity: sha512-nC5q0DnPEPVURPhfPQLahhSTnemVtPzdx7ofiRxXpOB2SYnb3MfdU3DVGyJdS8Lx+tBWeAePO8BfU/3EgksM7Q==} + untyped@1.5.2: + resolution: {integrity: sha512-eL/8PlhLcMmlMDtNPKhyyz9kEBDS3Uk4yMu/ewlkT2WFbtzScjHWPJLdQLmaGPUKjXzwe9MumOtOgc4Fro96Kg==} hasBin: true update-browserslist-db@1.1.0: @@ -5267,6 +5302,12 @@ packages: peerDependencies: browserslist: '>= 4.21.0' + update-browserslist-db@1.1.1: + resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + uqr@0.1.2: resolution: {integrity: sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==} @@ -5297,12 +5338,12 @@ packages: engines: {node: ^18.0.0 || >=20.0.0} hasBin: true - vite-plugin-solid@2.10.2: - resolution: {integrity: sha512-AOEtwMe2baBSXMXdo+BUwECC8IFHcKS6WQV/1NEd+Q7vHPap5fmIhLcAzr+DUJ04/KHx/1UBU0l1/GWP+rMAPQ==} + vite-plugin-solid@2.11.0: + resolution: {integrity: sha512-G+NiwDj4EAeUE0wt3Ur9f+Lt9oMUuLd0FIxYuqwJSqRacKQRteCwUFzNy8zMEt88xWokngQhiFjfJMhjc1fDXw==} peerDependencies: '@testing-library/jest-dom': ^5.16.6 || ^5.17.0 || ^6.* solid-js: ^1.7.2 - vite: ^3.0.0 || ^4.0.0 || ^5.0.0 + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 peerDependenciesMeta: '@testing-library/jest-dom': optional: true @@ -5338,16 +5379,16 @@ packages: terser: optional: true - vitefu@0.2.5: - resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==} + vitefu@1.0.4: + resolution: {integrity: sha512-y6zEE3PQf6uu/Mt6DTJ9ih+kyJLr4XcSgHR2zUkM8SWDhuixEJxfJ6CZGMHh1Ec3vPLoEA0IHU5oWzVqw8ulow==} peerDependencies: - vite: ^3.0.0 || ^4.0.0 || ^5.0.0 + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 peerDependenciesMeta: vite: optional: true - vitepress@1.4.1: - resolution: {integrity: sha512-C2rQ7PMlDVqgsaHOa0uJtgGGWaGv74QMaGL62lxKbtFkYtosJB5HAfZ8+pEbfzzvLemYaYwaiQdFLBlexK2sFw==} + vitepress@1.5.0: + resolution: {integrity: sha512-q4Q/G2zjvynvizdB3/bupdYkCJe2umSAMv9Ju4d92E6/NXJ59z70xB0q5p/4lpRyAwflDsbwy1mLV9Q5+nlB+g==} hasBin: true peerDependencies: markdown-it-mathjax3: ^4 @@ -5450,17 +5491,17 @@ packages: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} - workerd@1.20241106.1: - resolution: {integrity: sha512-1GdKl0kDw8rrirr/ThcK66Kbl4/jd4h8uHx5g7YHBrnenY5SX1UPuop2cnCzYUxlg55kPjzIqqYslz1muRFgFw==} + workerd@1.20241218.0: + resolution: {integrity: sha512-7Z3D4vOVChMz9mWDffE299oQxUWm/pbkeAWx1btVamPcAK/2IuoNBhwflWo3jyuKuxvYuFAdIucgYxc8ICqXiA==} engines: {node: '>=16'} hasBin: true - wrangler@3.86.0: - resolution: {integrity: sha512-jL670AFVPLTILvEjAL165aYM/ZqtZCqT+e6LKiniflRZxSGKu4o/wyHeOmOM6i5kYJHSmF40E4lOZqapDtkF8g==} + wrangler@3.99.0: + resolution: {integrity: sha512-k0x4rT3G/QCbxcoZY7CHRVlAIS8WMmKdga6lf4d2c3gXFqssh44vwlTDuARA9QANBxKJTcA7JPTJRfUDhd9QBA==} engines: {node: '>=16.17.0'} hasBin: true peerDependencies: - '@cloudflare/workers-types': ^4.20241106.0 + '@cloudflare/workers-types': ^4.20241218.0 peerDependenciesMeta: '@cloudflare/workers-types': optional: true @@ -5544,14 +5585,14 @@ packages: youch@3.3.4: resolution: {integrity: sha512-UeVBXie8cA35DS6+nBkls68xaBBXCye0CNznrhszZjTbRVnJKQuNsyLKBTTL4ln1o1rh2PKtv35twV7irj5SEg==} - zod@3.23.8: - resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} + zod@3.24.1: + resolution: {integrity: sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==} zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} - zx@8.1.9: - resolution: {integrity: sha512-UHuLHphHmsBYKkAchkSrEN4nzDyagafqC9HUxtc1J7eopaScW6H9dsLJ1lmkAntnLtDTGoM8fa+jrJrXiIfKFA==} + zx@8.3.0: + resolution: {integrity: sha512-L8mY3yfJwo3a8ZDD6f9jZzAcRWJZYcV8GauZmBxLB/aSTwaMzMIEVpPp2Kyx+7yF0gdvuxKnMxAZRft9UCawiw==} engines: {node: '>= 12.17.0'} hasBin: true @@ -5687,42 +5728,42 @@ snapshots: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - '@antfu/eslint-config@3.6.2(@typescript-eslint/utils@8.5.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2))(@vue/compiler-sfc@3.5.12)(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2)(vitest@2.1.1(@types/node@22.7.4)(jsdom@25.0.1)(less@4.2.0)(terser@5.32.0))': + '@antfu/eslint-config@3.6.2(@typescript-eslint/utils@8.5.0(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2))(@vue/compiler-sfc@3.5.12)(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2)(vitest@2.1.1(@types/node@22.10.2)(jsdom@25.0.1)(less@4.2.1)(terser@5.32.0))': dependencies: '@antfu/install-pkg': 0.4.1 '@clack/prompts': 0.7.0 - '@eslint-community/eslint-plugin-eslint-comments': 4.4.0(eslint@9.11.0(jiti@1.21.6)) - '@eslint/markdown': 6.1.0(eslint@9.11.0(jiti@1.21.6)) - '@stylistic/eslint-plugin': 2.8.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2) - '@typescript-eslint/eslint-plugin': 8.5.0(@typescript-eslint/parser@8.5.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2))(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2) - '@typescript-eslint/parser': 8.5.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2) - '@vitest/eslint-plugin': 1.1.4(@typescript-eslint/utils@8.5.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2))(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2)(vitest@2.1.1(@types/node@22.7.4)(jsdom@25.0.1)(less@4.2.0)(terser@5.32.0)) - eslint: 9.11.0(jiti@1.21.6) - eslint-config-flat-gitignore: 0.3.0(eslint@9.11.0(jiti@1.21.6)) + '@eslint-community/eslint-plugin-eslint-comments': 4.4.0(eslint@9.11.0(jiti@2.4.2)) + '@eslint/markdown': 6.1.0(eslint@9.11.0(jiti@2.4.2)) + '@stylistic/eslint-plugin': 2.8.0(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2) + '@typescript-eslint/eslint-plugin': 8.5.0(@typescript-eslint/parser@8.5.0(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2))(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2) + '@typescript-eslint/parser': 8.5.0(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2) + '@vitest/eslint-plugin': 1.1.4(@typescript-eslint/utils@8.5.0(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2))(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2)(vitest@2.1.1(@types/node@22.10.2)(jsdom@25.0.1)(less@4.2.1)(terser@5.32.0)) + eslint: 9.11.0(jiti@2.4.2) + eslint-config-flat-gitignore: 0.3.0(eslint@9.11.0(jiti@2.4.2)) eslint-flat-config-utils: 0.4.0 - eslint-merge-processors: 0.1.0(eslint@9.11.0(jiti@1.21.6)) - eslint-plugin-antfu: 2.6.0(eslint@9.11.0(jiti@1.21.6)) - eslint-plugin-command: 0.2.5(eslint@9.11.0(jiti@1.21.6)) - eslint-plugin-import-x: 4.2.1(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2) - eslint-plugin-jsdoc: 50.2.3(eslint@9.11.0(jiti@1.21.6)) - eslint-plugin-jsonc: 2.16.0(eslint@9.11.0(jiti@1.21.6)) - eslint-plugin-n: 17.10.2(eslint@9.11.0(jiti@1.21.6)) + eslint-merge-processors: 0.1.0(eslint@9.11.0(jiti@2.4.2)) + eslint-plugin-antfu: 2.6.0(eslint@9.11.0(jiti@2.4.2)) + eslint-plugin-command: 0.2.5(eslint@9.11.0(jiti@2.4.2)) + eslint-plugin-import-x: 4.2.1(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2) + eslint-plugin-jsdoc: 50.2.3(eslint@9.11.0(jiti@2.4.2)) + eslint-plugin-jsonc: 2.16.0(eslint@9.11.0(jiti@2.4.2)) + eslint-plugin-n: 17.10.2(eslint@9.11.0(jiti@2.4.2)) eslint-plugin-no-only-tests: 3.3.0 - eslint-plugin-perfectionist: 3.6.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2)(vue-eslint-parser@9.4.3(eslint@9.11.0(jiti@1.21.6))) - eslint-plugin-regexp: 2.6.0(eslint@9.11.0(jiti@1.21.6)) - eslint-plugin-toml: 0.11.1(eslint@9.11.0(jiti@1.21.6)) - eslint-plugin-unicorn: 55.0.0(eslint@9.11.0(jiti@1.21.6)) - eslint-plugin-unused-imports: 4.1.4(@typescript-eslint/eslint-plugin@8.5.0(@typescript-eslint/parser@8.5.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2))(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2))(eslint@9.11.0(jiti@1.21.6)) - eslint-plugin-vue: 9.28.0(eslint@9.11.0(jiti@1.21.6)) - eslint-plugin-yml: 1.14.0(eslint@9.11.0(jiti@1.21.6)) - eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.5.12)(eslint@9.11.0(jiti@1.21.6)) + eslint-plugin-perfectionist: 3.6.0(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2)(vue-eslint-parser@9.4.3(eslint@9.11.0(jiti@2.4.2))) + eslint-plugin-regexp: 2.6.0(eslint@9.11.0(jiti@2.4.2)) + eslint-plugin-toml: 0.11.1(eslint@9.11.0(jiti@2.4.2)) + eslint-plugin-unicorn: 55.0.0(eslint@9.11.0(jiti@2.4.2)) + eslint-plugin-unused-imports: 4.1.4(@typescript-eslint/eslint-plugin@8.5.0(@typescript-eslint/parser@8.5.0(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2))(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2))(eslint@9.11.0(jiti@2.4.2)) + eslint-plugin-vue: 9.28.0(eslint@9.11.0(jiti@2.4.2)) + eslint-plugin-yml: 1.14.0(eslint@9.11.0(jiti@2.4.2)) + eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.5.12)(eslint@9.11.0(jiti@2.4.2)) globals: 15.9.0 jsonc-eslint-parser: 2.4.0 local-pkg: 0.5.0 parse-gitignore: 2.0.0 picocolors: 1.1.0 toml-eslint-parser: 0.10.0 - vue-eslint-parser: 9.4.3(eslint@9.11.0(jiti@1.21.6)) + vue-eslint-parser: 9.4.3(eslint@9.11.0(jiti@2.4.2)) yaml-eslint-parser: 1.2.3 yargs: 17.7.2 transitivePeerDependencies: @@ -5733,42 +5774,42 @@ snapshots: - typescript - vitest - '@antfu/eslint-config@3.6.2(@typescript-eslint/utils@8.5.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2))(@vue/compiler-sfc@3.5.12)(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2)(vitest@2.1.1(@types/node@22.9.0)(jsdom@25.0.1)(less@4.2.0)(terser@5.32.0))': + '@antfu/eslint-config@3.6.2(@typescript-eslint/utils@8.5.0(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2))(@vue/compiler-sfc@3.5.12)(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2)(vitest@2.1.1(@types/node@22.7.4)(jsdom@25.0.1)(less@4.2.1)(terser@5.32.0))': dependencies: '@antfu/install-pkg': 0.4.1 '@clack/prompts': 0.7.0 - '@eslint-community/eslint-plugin-eslint-comments': 4.4.0(eslint@9.11.0(jiti@1.21.6)) - '@eslint/markdown': 6.1.0(eslint@9.11.0(jiti@1.21.6)) - '@stylistic/eslint-plugin': 2.8.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2) - '@typescript-eslint/eslint-plugin': 8.5.0(@typescript-eslint/parser@8.5.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2))(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2) - '@typescript-eslint/parser': 8.5.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2) - '@vitest/eslint-plugin': 1.1.4(@typescript-eslint/utils@8.5.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2))(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2)(vitest@2.1.1(@types/node@22.9.0)(jsdom@25.0.1)(less@4.2.0)(terser@5.32.0)) - eslint: 9.11.0(jiti@1.21.6) - eslint-config-flat-gitignore: 0.3.0(eslint@9.11.0(jiti@1.21.6)) + '@eslint-community/eslint-plugin-eslint-comments': 4.4.0(eslint@9.11.0(jiti@2.4.2)) + '@eslint/markdown': 6.1.0(eslint@9.11.0(jiti@2.4.2)) + '@stylistic/eslint-plugin': 2.8.0(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2) + '@typescript-eslint/eslint-plugin': 8.5.0(@typescript-eslint/parser@8.5.0(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2))(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2) + '@typescript-eslint/parser': 8.5.0(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2) + '@vitest/eslint-plugin': 1.1.4(@typescript-eslint/utils@8.5.0(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2))(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2)(vitest@2.1.1(@types/node@22.7.4)(jsdom@25.0.1)(less@4.2.1)(terser@5.32.0)) + eslint: 9.11.0(jiti@2.4.2) + eslint-config-flat-gitignore: 0.3.0(eslint@9.11.0(jiti@2.4.2)) eslint-flat-config-utils: 0.4.0 - eslint-merge-processors: 0.1.0(eslint@9.11.0(jiti@1.21.6)) - eslint-plugin-antfu: 2.6.0(eslint@9.11.0(jiti@1.21.6)) - eslint-plugin-command: 0.2.5(eslint@9.11.0(jiti@1.21.6)) - eslint-plugin-import-x: 4.2.1(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2) - eslint-plugin-jsdoc: 50.2.3(eslint@9.11.0(jiti@1.21.6)) - eslint-plugin-jsonc: 2.16.0(eslint@9.11.0(jiti@1.21.6)) - eslint-plugin-n: 17.10.2(eslint@9.11.0(jiti@1.21.6)) + eslint-merge-processors: 0.1.0(eslint@9.11.0(jiti@2.4.2)) + eslint-plugin-antfu: 2.6.0(eslint@9.11.0(jiti@2.4.2)) + eslint-plugin-command: 0.2.5(eslint@9.11.0(jiti@2.4.2)) + eslint-plugin-import-x: 4.2.1(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2) + eslint-plugin-jsdoc: 50.2.3(eslint@9.11.0(jiti@2.4.2)) + eslint-plugin-jsonc: 2.16.0(eslint@9.11.0(jiti@2.4.2)) + eslint-plugin-n: 17.10.2(eslint@9.11.0(jiti@2.4.2)) eslint-plugin-no-only-tests: 3.3.0 - eslint-plugin-perfectionist: 3.6.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2)(vue-eslint-parser@9.4.3(eslint@9.11.0(jiti@1.21.6))) - eslint-plugin-regexp: 2.6.0(eslint@9.11.0(jiti@1.21.6)) - eslint-plugin-toml: 0.11.1(eslint@9.11.0(jiti@1.21.6)) - eslint-plugin-unicorn: 55.0.0(eslint@9.11.0(jiti@1.21.6)) - eslint-plugin-unused-imports: 4.1.4(@typescript-eslint/eslint-plugin@8.5.0(@typescript-eslint/parser@8.5.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2))(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2))(eslint@9.11.0(jiti@1.21.6)) - eslint-plugin-vue: 9.28.0(eslint@9.11.0(jiti@1.21.6)) - eslint-plugin-yml: 1.14.0(eslint@9.11.0(jiti@1.21.6)) - eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.5.12)(eslint@9.11.0(jiti@1.21.6)) + eslint-plugin-perfectionist: 3.6.0(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2)(vue-eslint-parser@9.4.3(eslint@9.11.0(jiti@2.4.2))) + eslint-plugin-regexp: 2.6.0(eslint@9.11.0(jiti@2.4.2)) + eslint-plugin-toml: 0.11.1(eslint@9.11.0(jiti@2.4.2)) + eslint-plugin-unicorn: 55.0.0(eslint@9.11.0(jiti@2.4.2)) + eslint-plugin-unused-imports: 4.1.4(@typescript-eslint/eslint-plugin@8.5.0(@typescript-eslint/parser@8.5.0(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2))(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2))(eslint@9.11.0(jiti@2.4.2)) + eslint-plugin-vue: 9.28.0(eslint@9.11.0(jiti@2.4.2)) + eslint-plugin-yml: 1.14.0(eslint@9.11.0(jiti@2.4.2)) + eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.5.12)(eslint@9.11.0(jiti@2.4.2)) globals: 15.9.0 jsonc-eslint-parser: 2.4.0 local-pkg: 0.5.0 parse-gitignore: 2.0.0 picocolors: 1.1.0 toml-eslint-parser: 0.10.0 - vue-eslint-parser: 9.4.3(eslint@9.11.0(jiti@1.21.6)) + vue-eslint-parser: 9.4.3(eslint@9.11.0(jiti@2.4.2)) yaml-eslint-parser: 1.2.3 yargs: 17.7.2 transitivePeerDependencies: @@ -5791,8 +5832,16 @@ snapshots: '@babel/highlight': 7.24.7 picocolors: 1.1.1 + '@babel/code-frame@7.26.2': + dependencies: + '@babel/helper-validator-identifier': 7.25.9 + js-tokens: 4.0.0 + picocolors: 1.1.1 + '@babel/compat-data@7.25.4': {} + '@babel/compat-data@7.26.3': {} + '@babel/core@7.25.2': dependencies: '@ampproject/remapping': 2.3.0 @@ -5813,6 +5862,26 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/core@7.26.0': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.3 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helpers': 7.26.0 + '@babel/parser': 7.26.3 + '@babel/template': 7.25.9 + '@babel/traverse': 7.26.4 + '@babel/types': 7.26.3 + convert-source-map: 2.0.0 + debug: 4.4.0 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + '@babel/generator@7.25.4': dependencies: '@babel/types': 7.25.4 @@ -5820,6 +5889,14 @@ snapshots: '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 + '@babel/generator@7.26.3': + dependencies: + '@babel/parser': 7.26.3 + '@babel/types': 7.26.3 + '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 3.1.0 + '@babel/helper-compilation-targets@7.25.2': dependencies: '@babel/compat-data': 7.25.4 @@ -5828,6 +5905,14 @@ snapshots: lru-cache: 5.1.1 semver: 6.3.1 + '@babel/helper-compilation-targets@7.25.9': + dependencies: + '@babel/compat-data': 7.26.3 + '@babel/helper-validator-option': 7.25.9 + browserslist: 4.24.3 + lru-cache: 5.1.1 + semver: 6.3.1 + '@babel/helper-module-imports@7.18.6': dependencies: '@babel/types': 7.26.0 @@ -5839,6 +5924,13 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/helper-module-imports@7.25.9': + dependencies: + '@babel/traverse': 7.26.4 + '@babel/types': 7.26.3 + transitivePeerDependencies: + - supports-color + '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 @@ -5849,6 +5941,15 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@babel/traverse': 7.26.4 + transitivePeerDependencies: + - supports-color + '@babel/helper-plugin-utils@7.24.8': {} '@babel/helper-simple-access@7.24.7': @@ -5868,11 +5969,18 @@ snapshots: '@babel/helper-validator-option@7.24.8': {} + '@babel/helper-validator-option@7.25.9': {} + '@babel/helpers@7.25.0': dependencies: '@babel/template': 7.25.0 '@babel/types': 7.25.4 + '@babel/helpers@7.26.0': + dependencies: + '@babel/template': 7.25.9 + '@babel/types': 7.26.3 + '@babel/highlight@7.24.7': dependencies: '@babel/helper-validator-identifier': 7.25.9 @@ -5888,12 +5996,16 @@ snapshots: dependencies: '@babel/types': 7.26.0 + '@babel/parser@7.26.3': + dependencies: + '@babel/types': 7.26.3 + '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/standalone@7.25.6': {} + '@babel/standalone@7.26.4': {} '@babel/template@7.25.0': dependencies: @@ -5901,6 +6013,12 @@ snapshots: '@babel/parser': 7.25.4 '@babel/types': 7.25.4 + '@babel/template@7.25.9': + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/parser': 7.26.3 + '@babel/types': 7.26.3 + '@babel/traverse@7.25.4': dependencies: '@babel/code-frame': 7.24.7 @@ -5913,6 +6031,18 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/traverse@7.26.4': + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.3 + '@babel/parser': 7.26.3 + '@babel/template': 7.25.9 + '@babel/types': 7.26.3 + debug: 4.4.0 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + '@babel/types@7.25.4': dependencies: '@babel/helper-string-parser': 7.24.8 @@ -5924,6 +6054,11 @@ snapshots: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 + '@babel/types@7.26.3': + dependencies: + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@bcoe/v8-coverage@0.2.3': {} '@cbor-extract/cbor-extract-darwin-arm64@2.2.0': @@ -5959,27 +6094,22 @@ snapshots: dependencies: mime: 3.0.0 - '@cloudflare/workerd-darwin-64@1.20241106.1': + '@cloudflare/workerd-darwin-64@1.20241218.0': optional: true - '@cloudflare/workerd-darwin-arm64@1.20241106.1': + '@cloudflare/workerd-darwin-arm64@1.20241218.0': optional: true - '@cloudflare/workerd-linux-64@1.20241106.1': + '@cloudflare/workerd-linux-64@1.20241218.0': optional: true - '@cloudflare/workerd-linux-arm64@1.20241106.1': + '@cloudflare/workerd-linux-arm64@1.20241218.0': optional: true - '@cloudflare/workerd-windows-64@1.20241106.1': + '@cloudflare/workerd-windows-64@1.20241218.0': optional: true - '@cloudflare/workers-shared@0.7.1': - dependencies: - mime: 3.0.0 - zod: 3.23.8 - - '@cloudflare/workers-types@4.20241018.0': {} + '@cloudflare/workers-types@4.20241224.0': {} '@corentinth/chisels@1.1.0': dependencies: @@ -6043,7 +6173,7 @@ snapshots: '@esbuild/aix-ppc64@0.23.1': optional: true - '@esbuild/aix-ppc64@0.24.0': + '@esbuild/aix-ppc64@0.24.2': optional: true '@esbuild/android-arm64@0.17.19': @@ -6058,7 +6188,7 @@ snapshots: '@esbuild/android-arm64@0.23.1': optional: true - '@esbuild/android-arm64@0.24.0': + '@esbuild/android-arm64@0.24.2': optional: true '@esbuild/android-arm@0.17.19': @@ -6073,7 +6203,7 @@ snapshots: '@esbuild/android-arm@0.23.1': optional: true - '@esbuild/android-arm@0.24.0': + '@esbuild/android-arm@0.24.2': optional: true '@esbuild/android-x64@0.17.19': @@ -6088,7 +6218,7 @@ snapshots: '@esbuild/android-x64@0.23.1': optional: true - '@esbuild/android-x64@0.24.0': + '@esbuild/android-x64@0.24.2': optional: true '@esbuild/darwin-arm64@0.17.19': @@ -6103,7 +6233,7 @@ snapshots: '@esbuild/darwin-arm64@0.23.1': optional: true - '@esbuild/darwin-arm64@0.24.0': + '@esbuild/darwin-arm64@0.24.2': optional: true '@esbuild/darwin-x64@0.17.19': @@ -6118,7 +6248,7 @@ snapshots: '@esbuild/darwin-x64@0.23.1': optional: true - '@esbuild/darwin-x64@0.24.0': + '@esbuild/darwin-x64@0.24.2': optional: true '@esbuild/freebsd-arm64@0.17.19': @@ -6133,7 +6263,7 @@ snapshots: '@esbuild/freebsd-arm64@0.23.1': optional: true - '@esbuild/freebsd-arm64@0.24.0': + '@esbuild/freebsd-arm64@0.24.2': optional: true '@esbuild/freebsd-x64@0.17.19': @@ -6148,7 +6278,7 @@ snapshots: '@esbuild/freebsd-x64@0.23.1': optional: true - '@esbuild/freebsd-x64@0.24.0': + '@esbuild/freebsd-x64@0.24.2': optional: true '@esbuild/linux-arm64@0.17.19': @@ -6163,7 +6293,7 @@ snapshots: '@esbuild/linux-arm64@0.23.1': optional: true - '@esbuild/linux-arm64@0.24.0': + '@esbuild/linux-arm64@0.24.2': optional: true '@esbuild/linux-arm@0.17.19': @@ -6178,7 +6308,7 @@ snapshots: '@esbuild/linux-arm@0.23.1': optional: true - '@esbuild/linux-arm@0.24.0': + '@esbuild/linux-arm@0.24.2': optional: true '@esbuild/linux-ia32@0.17.19': @@ -6193,7 +6323,7 @@ snapshots: '@esbuild/linux-ia32@0.23.1': optional: true - '@esbuild/linux-ia32@0.24.0': + '@esbuild/linux-ia32@0.24.2': optional: true '@esbuild/linux-loong64@0.17.19': @@ -6208,7 +6338,7 @@ snapshots: '@esbuild/linux-loong64@0.23.1': optional: true - '@esbuild/linux-loong64@0.24.0': + '@esbuild/linux-loong64@0.24.2': optional: true '@esbuild/linux-mips64el@0.17.19': @@ -6223,7 +6353,7 @@ snapshots: '@esbuild/linux-mips64el@0.23.1': optional: true - '@esbuild/linux-mips64el@0.24.0': + '@esbuild/linux-mips64el@0.24.2': optional: true '@esbuild/linux-ppc64@0.17.19': @@ -6238,7 +6368,7 @@ snapshots: '@esbuild/linux-ppc64@0.23.1': optional: true - '@esbuild/linux-ppc64@0.24.0': + '@esbuild/linux-ppc64@0.24.2': optional: true '@esbuild/linux-riscv64@0.17.19': @@ -6253,7 +6383,7 @@ snapshots: '@esbuild/linux-riscv64@0.23.1': optional: true - '@esbuild/linux-riscv64@0.24.0': + '@esbuild/linux-riscv64@0.24.2': optional: true '@esbuild/linux-s390x@0.17.19': @@ -6268,7 +6398,7 @@ snapshots: '@esbuild/linux-s390x@0.23.1': optional: true - '@esbuild/linux-s390x@0.24.0': + '@esbuild/linux-s390x@0.24.2': optional: true '@esbuild/linux-x64@0.17.19': @@ -6283,7 +6413,10 @@ snapshots: '@esbuild/linux-x64@0.23.1': optional: true - '@esbuild/linux-x64@0.24.0': + '@esbuild/linux-x64@0.24.2': + optional: true + + '@esbuild/netbsd-arm64@0.24.2': optional: true '@esbuild/netbsd-x64@0.17.19': @@ -6298,13 +6431,13 @@ snapshots: '@esbuild/netbsd-x64@0.23.1': optional: true - '@esbuild/netbsd-x64@0.24.0': + '@esbuild/netbsd-x64@0.24.2': optional: true '@esbuild/openbsd-arm64@0.23.1': optional: true - '@esbuild/openbsd-arm64@0.24.0': + '@esbuild/openbsd-arm64@0.24.2': optional: true '@esbuild/openbsd-x64@0.17.19': @@ -6319,7 +6452,7 @@ snapshots: '@esbuild/openbsd-x64@0.23.1': optional: true - '@esbuild/openbsd-x64@0.24.0': + '@esbuild/openbsd-x64@0.24.2': optional: true '@esbuild/sunos-x64@0.17.19': @@ -6334,7 +6467,7 @@ snapshots: '@esbuild/sunos-x64@0.23.1': optional: true - '@esbuild/sunos-x64@0.24.0': + '@esbuild/sunos-x64@0.24.2': optional: true '@esbuild/win32-arm64@0.17.19': @@ -6349,7 +6482,7 @@ snapshots: '@esbuild/win32-arm64@0.23.1': optional: true - '@esbuild/win32-arm64@0.24.0': + '@esbuild/win32-arm64@0.24.2': optional: true '@esbuild/win32-ia32@0.17.19': @@ -6364,7 +6497,7 @@ snapshots: '@esbuild/win32-ia32@0.23.1': optional: true - '@esbuild/win32-ia32@0.24.0': + '@esbuild/win32-ia32@0.24.2': optional: true '@esbuild/win32-x64@0.17.19': @@ -6379,18 +6512,18 @@ snapshots: '@esbuild/win32-x64@0.23.1': optional: true - '@esbuild/win32-x64@0.24.0': + '@esbuild/win32-x64@0.24.2': optional: true - '@eslint-community/eslint-plugin-eslint-comments@4.4.0(eslint@9.11.0(jiti@1.21.6))': + '@eslint-community/eslint-plugin-eslint-comments@4.4.0(eslint@9.11.0(jiti@2.4.2))': dependencies: escape-string-regexp: 4.0.0 - eslint: 9.11.0(jiti@1.21.6) + eslint: 9.11.0(jiti@2.4.2) ignore: 5.3.2 - '@eslint-community/eslint-utils@4.4.0(eslint@9.11.0(jiti@1.21.6))': + '@eslint-community/eslint-utils@4.4.0(eslint@9.11.0(jiti@2.4.2))': dependencies: - eslint: 9.11.0(jiti@1.21.6) + eslint: 9.11.0(jiti@2.4.2) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.11.1': {} @@ -6421,9 +6554,9 @@ snapshots: '@eslint/js@9.11.0': {} - '@eslint/markdown@6.1.0(eslint@9.11.0(jiti@1.21.6))': + '@eslint/markdown@6.1.0(eslint@9.11.0(jiti@2.4.2))': dependencies: - eslint: 9.11.0(jiti@1.21.6) + eslint: 9.11.0(jiti@2.4.2) mdast-util-from-markdown: 2.0.1 mdast-util-gfm: 3.0.0 micromark-extension-gfm: 3.0.0 @@ -6449,36 +6582,41 @@ snapshots: '@floating-ui/utils@0.2.8': {} - '@hono/node-server@1.13.6(hono@4.6.6)': + '@hono/node-server@1.13.7(hono@4.6.15)': dependencies: - hono: 4.6.6 + hono: 4.6.15 '@humanwhocodes/module-importer@1.0.1': {} '@humanwhocodes/retry@0.3.0': {} - '@iconify-json/tabler@1.2.6': + '@iconify-json/simple-icons@1.2.17': + dependencies: + '@iconify/types': 2.0.0 + + '@iconify-json/tabler@1.2.13': dependencies: '@iconify/types': 2.0.0 '@iconify/types@2.0.0': {} - '@iconify/utils@2.1.33': + '@iconify/utils@2.2.1': dependencies: '@antfu/install-pkg': 0.4.1 '@antfu/utils': 0.7.10 '@iconify/types': 2.0.0 - debug: 4.3.7 + debug: 4.4.0 + globals: 15.14.0 kolorist: 1.8.0 - local-pkg: 0.5.0 - mlly: 1.7.2 + local-pkg: 0.5.1 + mlly: 1.7.3 transitivePeerDependencies: - supports-color '@inquirer/checkbox@3.0.1': dependencies: '@inquirer/core': 9.2.1 - '@inquirer/figures': 1.0.6 + '@inquirer/figures': 1.0.9 '@inquirer/type': 2.0.0 ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.2 @@ -6490,10 +6628,10 @@ snapshots: '@inquirer/core@9.2.1': dependencies: - '@inquirer/figures': 1.0.6 + '@inquirer/figures': 1.0.9 '@inquirer/type': 2.0.0 '@types/mute-stream': 0.0.4 - '@types/node': 22.7.4 + '@types/node': 22.10.2 '@types/wrap-ansi': 3.0.0 ansi-escapes: 4.3.2 cli-width: 4.1.0 @@ -6515,7 +6653,7 @@ snapshots: '@inquirer/type': 2.0.0 yoctocolors-cjs: 2.1.2 - '@inquirer/figures@1.0.6': {} + '@inquirer/figures@1.0.9': {} '@inquirer/input@3.0.1': dependencies: @@ -6555,14 +6693,14 @@ snapshots: '@inquirer/search@2.0.1': dependencies: '@inquirer/core': 9.2.1 - '@inquirer/figures': 1.0.6 + '@inquirer/figures': 1.0.9 '@inquirer/type': 2.0.0 yoctocolors-cjs: 2.1.2 '@inquirer/select@3.0.1': dependencies: '@inquirer/core': 9.2.1 - '@inquirer/figures': 1.0.6 + '@inquirer/figures': 1.0.9 '@inquirer/type': 2.0.0 ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.2 @@ -6596,13 +6734,19 @@ snapshots: '@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/trace-mapping': 0.3.25 + '@jridgewell/gen-mapping@0.3.8': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 + '@jridgewell/resolve-uri@3.1.2': {} '@jridgewell/set-array@1.2.1': {} '@jridgewell/source-map@0.3.6': dependencies: - '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.25 optional: true @@ -6618,13 +6762,6 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 - '@jsdevtools/ez-spawn@3.0.4': - dependencies: - call-me-maybe: 1.0.2 - cross-spawn: 7.0.3 - string-argv: 0.3.2 - type-detect: 4.1.0 - '@kobalte/core@0.13.7(solid-js@1.9.3)': dependencies: '@floating-ui/dom': 1.6.11 @@ -6678,219 +6815,158 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 - '@parcel/watcher-android-arm64@2.4.1': - optional: true - - '@parcel/watcher-darwin-arm64@2.4.1': - optional: true - - '@parcel/watcher-darwin-x64@2.4.1': - optional: true - - '@parcel/watcher-freebsd-x64@2.4.1': - optional: true - - '@parcel/watcher-linux-arm-glibc@2.4.1': - optional: true - - '@parcel/watcher-linux-arm64-glibc@2.4.1': - optional: true - - '@parcel/watcher-linux-arm64-musl@2.4.1': - optional: true - - '@parcel/watcher-linux-x64-glibc@2.4.1': - optional: true - - '@parcel/watcher-linux-x64-musl@2.4.1': - optional: true - - '@parcel/watcher-wasm@2.4.1': - dependencies: - is-glob: 4.0.3 - micromatch: 4.0.8 - - '@parcel/watcher-win32-arm64@2.4.1': - optional: true - - '@parcel/watcher-win32-ia32@2.4.1': - optional: true - - '@parcel/watcher-win32-x64@2.4.1': - optional: true - - '@parcel/watcher@2.4.1': - dependencies: - detect-libc: 1.0.3 - is-glob: 4.0.3 - micromatch: 4.0.8 - node-addon-api: 7.1.1 - optionalDependencies: - '@parcel/watcher-android-arm64': 2.4.1 - '@parcel/watcher-darwin-arm64': 2.4.1 - '@parcel/watcher-darwin-x64': 2.4.1 - '@parcel/watcher-freebsd-x64': 2.4.1 - '@parcel/watcher-linux-arm-glibc': 2.4.1 - '@parcel/watcher-linux-arm64-glibc': 2.4.1 - '@parcel/watcher-linux-arm64-musl': 2.4.1 - '@parcel/watcher-linux-x64-glibc': 2.4.1 - '@parcel/watcher-linux-x64-musl': 2.4.1 - '@parcel/watcher-win32-arm64': 2.4.1 - '@parcel/watcher-win32-ia32': 2.4.1 - '@parcel/watcher-win32-x64': 2.4.1 - '@pkgjs/parseargs@0.11.0': optional: true '@pkgr/core@0.1.1': {} - '@playwright/test@1.48.1': + '@playwright/test@1.49.1': dependencies: - playwright: 1.48.1 + playwright: 1.49.1 - '@polka/url@1.0.0-next.25': {} + '@polka/url@1.0.0-next.28': {} - '@rollup/plugin-alias@5.1.0(rollup@3.29.4)': - dependencies: - slash: 4.0.0 + '@rollup/plugin-alias@5.1.1(rollup@3.29.5)': optionalDependencies: - rollup: 3.29.4 + rollup: 3.29.5 - '@rollup/plugin-commonjs@25.0.8(rollup@3.29.4)': + '@rollup/plugin-commonjs@25.0.8(rollup@3.29.5)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + '@rollup/pluginutils': 5.1.4(rollup@3.29.5) commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 - magic-string: 0.30.11 + magic-string: 0.30.17 optionalDependencies: - rollup: 3.29.4 + rollup: 3.29.5 - '@rollup/plugin-json@6.1.0(rollup@3.29.4)': + '@rollup/plugin-json@6.1.0(rollup@3.29.5)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + '@rollup/pluginutils': 5.1.4(rollup@3.29.5) optionalDependencies: - rollup: 3.29.4 + rollup: 3.29.5 - '@rollup/plugin-node-resolve@15.2.3(rollup@3.29.4)': + '@rollup/plugin-node-resolve@15.3.1(rollup@3.29.5)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + '@rollup/pluginutils': 5.1.4(rollup@3.29.5) '@types/resolve': 1.20.2 deepmerge: 4.3.1 - is-builtin-module: 3.2.1 is-module: 1.0.0 - resolve: 1.22.8 + resolve: 1.22.10 optionalDependencies: - rollup: 3.29.4 + rollup: 3.29.5 - '@rollup/plugin-replace@5.0.7(rollup@3.29.4)': + '@rollup/plugin-replace@5.0.7(rollup@3.29.5)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@3.29.4) - magic-string: 0.30.11 + '@rollup/pluginutils': 5.1.4(rollup@3.29.5) + magic-string: 0.30.17 optionalDependencies: - rollup: 3.29.4 + rollup: 3.29.5 - '@rollup/pluginutils@5.1.0(rollup@3.29.4)': + '@rollup/pluginutils@5.1.4(rollup@3.29.5)': dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 estree-walker: 2.0.2 - picomatch: 2.3.1 + picomatch: 4.0.2 optionalDependencies: - rollup: 3.29.4 + rollup: 3.29.5 - '@rollup/pluginutils@5.1.3(rollup@4.25.0)': + '@rollup/pluginutils@5.1.4(rollup@4.29.1)': dependencies: '@types/estree': 1.0.6 estree-walker: 2.0.2 picomatch: 4.0.2 optionalDependencies: - rollup: 4.25.0 + rollup: 4.29.1 + + '@rollup/rollup-android-arm-eabi@4.29.1': + optional: true - '@rollup/rollup-android-arm-eabi@4.25.0': + '@rollup/rollup-android-arm64@4.29.1': optional: true - '@rollup/rollup-android-arm64@4.25.0': + '@rollup/rollup-darwin-arm64@4.29.1': optional: true - '@rollup/rollup-darwin-arm64@4.25.0': + '@rollup/rollup-darwin-x64@4.29.1': optional: true - '@rollup/rollup-darwin-x64@4.25.0': + '@rollup/rollup-freebsd-arm64@4.29.1': optional: true - '@rollup/rollup-freebsd-arm64@4.25.0': + '@rollup/rollup-freebsd-x64@4.29.1': optional: true - '@rollup/rollup-freebsd-x64@4.25.0': + '@rollup/rollup-linux-arm-gnueabihf@4.29.1': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.25.0': + '@rollup/rollup-linux-arm-musleabihf@4.29.1': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.25.0': + '@rollup/rollup-linux-arm64-gnu@4.29.1': optional: true - '@rollup/rollup-linux-arm64-gnu@4.25.0': + '@rollup/rollup-linux-arm64-musl@4.29.1': optional: true - '@rollup/rollup-linux-arm64-musl@4.25.0': + '@rollup/rollup-linux-loongarch64-gnu@4.29.1': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.25.0': + '@rollup/rollup-linux-powerpc64le-gnu@4.29.1': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.25.0': + '@rollup/rollup-linux-riscv64-gnu@4.29.1': optional: true - '@rollup/rollup-linux-s390x-gnu@4.25.0': + '@rollup/rollup-linux-s390x-gnu@4.29.1': optional: true - '@rollup/rollup-linux-x64-gnu@4.25.0': + '@rollup/rollup-linux-x64-gnu@4.29.1': optional: true - '@rollup/rollup-linux-x64-musl@4.25.0': + '@rollup/rollup-linux-x64-musl@4.29.1': optional: true - '@rollup/rollup-win32-arm64-msvc@4.25.0': + '@rollup/rollup-win32-arm64-msvc@4.29.1': optional: true - '@rollup/rollup-win32-ia32-msvc@4.25.0': + '@rollup/rollup-win32-ia32-msvc@4.29.1': optional: true - '@rollup/rollup-win32-x64-msvc@4.25.0': + '@rollup/rollup-win32-x64-msvc@4.29.1': optional: true - '@shikijs/core@1.22.0': + '@shikijs/core@1.24.4': dependencies: - '@shikijs/engine-javascript': 1.22.0 - '@shikijs/engine-oniguruma': 1.22.0 - '@shikijs/types': 1.22.0 - '@shikijs/vscode-textmate': 9.3.0 + '@shikijs/engine-javascript': 1.24.4 + '@shikijs/engine-oniguruma': 1.24.4 + '@shikijs/types': 1.24.4 + '@shikijs/vscode-textmate': 9.3.1 '@types/hast': 3.0.4 - hast-util-to-html: 9.0.3 + hast-util-to-html: 9.0.4 - '@shikijs/engine-javascript@1.22.0': + '@shikijs/engine-javascript@1.24.4': dependencies: - '@shikijs/types': 1.22.0 - '@shikijs/vscode-textmate': 9.3.0 - oniguruma-to-js: 0.4.3 + '@shikijs/types': 1.24.4 + '@shikijs/vscode-textmate': 9.3.1 + oniguruma-to-es: 0.8.1 - '@shikijs/engine-oniguruma@1.22.0': + '@shikijs/engine-oniguruma@1.24.4': dependencies: - '@shikijs/types': 1.22.0 - '@shikijs/vscode-textmate': 9.3.0 + '@shikijs/types': 1.24.4 + '@shikijs/vscode-textmate': 9.3.1 - '@shikijs/transformers@1.22.0': + '@shikijs/transformers@1.24.4': dependencies: - shiki: 1.22.0 + shiki: 1.24.4 - '@shikijs/types@1.22.0': + '@shikijs/types@1.24.4': dependencies: - '@shikijs/vscode-textmate': 9.3.0 + '@shikijs/vscode-textmate': 9.3.1 '@types/hast': 3.0.4 - '@shikijs/vscode-textmate@9.3.0': {} + '@shikijs/vscode-textmate@9.3.1': {} '@solid-primitives/event-listener@2.3.3(solid-js@1.9.3)': dependencies: @@ -6960,14 +7036,14 @@ snapshots: dependencies: solid-js: 1.9.3 - '@solidjs/router@0.14.8(solid-js@1.9.3)': + '@solidjs/router@0.14.10(solid-js@1.9.3)': dependencies: solid-js: 1.9.3 - '@stylistic/eslint-plugin@2.8.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2)': + '@stylistic/eslint-plugin@2.8.0(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2)': dependencies: - '@typescript-eslint/utils': 8.5.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2) - eslint: 9.11.0(jiti@1.21.6) + '@typescript-eslint/utils': 8.5.0(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2) + eslint: 9.11.0(jiti@2.4.2) eslint-visitor-keys: 4.0.0 espree: 10.1.0 estraverse: 5.3.0 @@ -7011,8 +7087,6 @@ snapshots: dependencies: '@types/ms': 0.7.34 - '@types/estree@1.0.5': {} - '@types/estree@1.0.6': {} '@types/fs-extra@11.0.4': @@ -7053,7 +7127,7 @@ snapshots: '@types/mute-stream@0.0.4': dependencies: - '@types/node': 22.7.4 + '@types/node': 22.10.2 '@types/node-cron@3.0.11': {} @@ -7061,6 +7135,10 @@ snapshots: dependencies: '@types/node': 22.9.0 + '@types/node@22.10.2': + dependencies: + undici-types: 6.20.0 + '@types/node@22.7.4': dependencies: undici-types: 6.19.8 @@ -7084,15 +7162,15 @@ snapshots: '@types/wrap-ansi@3.0.0': {} - '@typescript-eslint/eslint-plugin@8.5.0(@typescript-eslint/parser@8.5.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2))(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2)': + '@typescript-eslint/eslint-plugin@8.5.0(@typescript-eslint/parser@8.5.0(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2))(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2)': dependencies: '@eslint-community/regexpp': 4.11.1 - '@typescript-eslint/parser': 8.5.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2) + '@typescript-eslint/parser': 8.5.0(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2) '@typescript-eslint/scope-manager': 8.5.0 - '@typescript-eslint/type-utils': 8.5.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2) - '@typescript-eslint/utils': 8.5.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2) + '@typescript-eslint/type-utils': 8.5.0(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2) + '@typescript-eslint/utils': 8.5.0(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2) '@typescript-eslint/visitor-keys': 8.5.0 - eslint: 9.11.0(jiti@1.21.6) + eslint: 9.11.0(jiti@2.4.2) graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -7102,14 +7180,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.5.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2)': + '@typescript-eslint/parser@8.5.0(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2)': dependencies: '@typescript-eslint/scope-manager': 8.5.0 '@typescript-eslint/types': 8.5.0 '@typescript-eslint/typescript-estree': 8.5.0(typescript@5.6.2) '@typescript-eslint/visitor-keys': 8.5.0 debug: 4.3.7 - eslint: 9.11.0(jiti@1.21.6) + eslint: 9.11.0(jiti@2.4.2) optionalDependencies: typescript: 5.6.2 transitivePeerDependencies: @@ -7120,10 +7198,10 @@ snapshots: '@typescript-eslint/types': 8.5.0 '@typescript-eslint/visitor-keys': 8.5.0 - '@typescript-eslint/type-utils@8.5.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2)': + '@typescript-eslint/type-utils@8.5.0(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2)': dependencies: '@typescript-eslint/typescript-estree': 8.5.0(typescript@5.6.2) - '@typescript-eslint/utils': 8.5.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2) + '@typescript-eslint/utils': 8.5.0(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2) debug: 4.3.7 ts-api-utils: 1.3.0(typescript@5.6.2) optionalDependencies: @@ -7149,13 +7227,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.5.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2)': + '@typescript-eslint/utils@8.5.0(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.0(jiti@1.21.6)) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.0(jiti@2.4.2)) '@typescript-eslint/scope-manager': 8.5.0 '@typescript-eslint/types': 8.5.0 '@typescript-eslint/typescript-estree': 8.5.0(typescript@5.6.2) - eslint: 9.11.0(jiti@1.21.6) + eslint: 9.11.0(jiti@2.4.2) transitivePeerDependencies: - supports-color - typescript @@ -7165,32 +7243,32 @@ snapshots: '@typescript-eslint/types': 8.5.0 eslint-visitor-keys: 3.4.3 - '@ungap/structured-clone@1.2.0': {} + '@ungap/structured-clone@1.2.1': {} - '@unocss/astro@0.64.0(rollup@4.25.0)(vite@5.4.11(@types/node@22.7.4)(less@4.2.0)(terser@5.32.0))(vue@3.5.12(typescript@5.6.2))': + '@unocss/astro@0.64.1(rollup@4.29.1)(vite@5.4.11(@types/node@22.7.4)(less@4.2.1)(terser@5.32.0))(vue@3.5.12(typescript@5.6.2))': dependencies: - '@unocss/core': 0.64.0 - '@unocss/reset': 0.64.0 - '@unocss/vite': 0.64.0(rollup@4.25.0)(vite@5.4.11(@types/node@22.7.4)(less@4.2.0)(terser@5.32.0))(vue@3.5.12(typescript@5.6.2)) + '@unocss/core': 0.64.1 + '@unocss/reset': 0.64.1 + '@unocss/vite': 0.64.1(rollup@4.29.1)(vite@5.4.11(@types/node@22.7.4)(less@4.2.1)(terser@5.32.0))(vue@3.5.12(typescript@5.6.2)) optionalDependencies: - vite: 5.4.11(@types/node@22.7.4)(less@4.2.0)(terser@5.32.0) + vite: 5.4.11(@types/node@22.7.4)(less@4.2.1)(terser@5.32.0) transitivePeerDependencies: - rollup - supports-color - vue - '@unocss/cli@0.64.0(rollup@4.25.0)': + '@unocss/cli@0.64.1(rollup@4.29.1)': dependencies: '@ampproject/remapping': 2.3.0 - '@rollup/pluginutils': 5.1.3(rollup@4.25.0) - '@unocss/config': 0.64.0 - '@unocss/core': 0.64.0 - '@unocss/preset-uno': 0.64.0 + '@rollup/pluginutils': 5.1.4(rollup@4.29.1) + '@unocss/config': 0.64.1 + '@unocss/core': 0.64.1 + '@unocss/preset-uno': 0.64.1 cac: 6.7.14 chokidar: 3.6.0 colorette: 2.0.20 - consola: 3.2.3 - magic-string: 0.30.12 + consola: 3.3.3 + magic-string: 0.30.17 pathe: 1.1.2 perfect-debounce: 1.0.0 tinyglobby: 0.2.10 @@ -7198,132 +7276,155 @@ snapshots: - rollup - supports-color - '@unocss/config@0.64.0': + '@unocss/config@0.64.1': dependencies: - '@unocss/core': 0.64.0 + '@unocss/core': 0.64.1 unconfig: 0.5.5 transitivePeerDependencies: - supports-color - '@unocss/core@0.64.0': {} + '@unocss/core@0.64.1': {} + + '@unocss/core@0.65.3': {} - '@unocss/extractor-arbitrary-variants@0.64.0': + '@unocss/extractor-arbitrary-variants@0.64.1': dependencies: - '@unocss/core': 0.64.0 + '@unocss/core': 0.64.1 - '@unocss/inspector@0.64.0(vue@3.5.12(typescript@5.6.2))': + '@unocss/extractor-arbitrary-variants@0.65.3': dependencies: - '@unocss/core': 0.64.0 - '@unocss/rule-utils': 0.64.0 + '@unocss/core': 0.65.3 + + '@unocss/inspector@0.64.1(vue@3.5.12(typescript@5.6.2))': + dependencies: + '@unocss/core': 0.64.1 + '@unocss/rule-utils': 0.64.1 gzip-size: 6.0.0 sirv: 2.0.4 vue-flow-layout: 0.1.1(vue@3.5.12(typescript@5.6.2)) transitivePeerDependencies: - vue - '@unocss/postcss@0.64.0(postcss@8.4.48)': + '@unocss/postcss@0.64.1(postcss@8.4.49)': dependencies: - '@unocss/config': 0.64.0 - '@unocss/core': 0.64.0 - '@unocss/rule-utils': 0.64.0 - css-tree: 3.0.1 - postcss: 8.4.48 + '@unocss/config': 0.64.1 + '@unocss/core': 0.64.1 + '@unocss/rule-utils': 0.64.1 + css-tree: 3.1.0 + postcss: 8.4.49 tinyglobby: 0.2.10 transitivePeerDependencies: - supports-color - '@unocss/preset-attributify@0.64.0': + '@unocss/preset-attributify@0.64.1': dependencies: - '@unocss/core': 0.64.0 + '@unocss/core': 0.64.1 - '@unocss/preset-icons@0.64.0': + '@unocss/preset-icons@0.64.1': dependencies: - '@iconify/utils': 2.1.33 - '@unocss/core': 0.64.0 + '@iconify/utils': 2.2.1 + '@unocss/core': 0.64.1 ofetch: 1.4.1 transitivePeerDependencies: - supports-color - '@unocss/preset-mini@0.64.0': + '@unocss/preset-mini@0.64.1': + dependencies: + '@unocss/core': 0.64.1 + '@unocss/extractor-arbitrary-variants': 0.64.1 + '@unocss/rule-utils': 0.64.1 + + '@unocss/preset-mini@0.65.3': dependencies: - '@unocss/core': 0.64.0 - '@unocss/extractor-arbitrary-variants': 0.64.0 - '@unocss/rule-utils': 0.64.0 + '@unocss/core': 0.65.3 + '@unocss/extractor-arbitrary-variants': 0.65.3 + '@unocss/rule-utils': 0.65.3 - '@unocss/preset-tagify@0.64.0': + '@unocss/preset-tagify@0.64.1': dependencies: - '@unocss/core': 0.64.0 + '@unocss/core': 0.64.1 - '@unocss/preset-typography@0.64.0': + '@unocss/preset-typography@0.64.1': dependencies: - '@unocss/core': 0.64.0 - '@unocss/preset-mini': 0.64.0 + '@unocss/core': 0.64.1 + '@unocss/preset-mini': 0.64.1 - '@unocss/preset-uno@0.64.0': + '@unocss/preset-uno@0.64.1': dependencies: - '@unocss/core': 0.64.0 - '@unocss/preset-mini': 0.64.0 - '@unocss/preset-wind': 0.64.0 - '@unocss/rule-utils': 0.64.0 + '@unocss/core': 0.64.1 + '@unocss/preset-mini': 0.64.1 + '@unocss/preset-wind': 0.64.1 + '@unocss/rule-utils': 0.64.1 - '@unocss/preset-web-fonts@0.64.0': + '@unocss/preset-web-fonts@0.64.1': dependencies: - '@unocss/core': 0.64.0 + '@unocss/core': 0.64.1 ofetch: 1.4.1 - '@unocss/preset-wind@0.64.0': + '@unocss/preset-wind@0.64.1': dependencies: - '@unocss/core': 0.64.0 - '@unocss/preset-mini': 0.64.0 - '@unocss/rule-utils': 0.64.0 + '@unocss/core': 0.64.1 + '@unocss/preset-mini': 0.64.1 + '@unocss/rule-utils': 0.64.1 - '@unocss/reset@0.64.0': {} + '@unocss/preset-wind@0.65.3': + dependencies: + '@unocss/core': 0.65.3 + '@unocss/preset-mini': 0.65.3 + '@unocss/rule-utils': 0.65.3 + + '@unocss/reset@0.64.1': {} - '@unocss/rule-utils@0.64.0': + '@unocss/rule-utils@0.64.1': dependencies: - '@unocss/core': 0.64.0 - magic-string: 0.30.12 + '@unocss/core': 0.64.1 + magic-string: 0.30.17 - '@unocss/transformer-attributify-jsx@0.64.0': + '@unocss/rule-utils@0.65.3': dependencies: - '@unocss/core': 0.64.0 + '@unocss/core': 0.65.3 + magic-string: 0.30.17 - '@unocss/transformer-compile-class@0.64.0': + '@unocss/transformer-attributify-jsx@0.64.1': dependencies: - '@unocss/core': 0.64.0 + '@unocss/core': 0.64.1 - '@unocss/transformer-directives@0.64.0': + '@unocss/transformer-compile-class@0.64.1': dependencies: - '@unocss/core': 0.64.0 - '@unocss/rule-utils': 0.64.0 - css-tree: 3.0.1 + '@unocss/core': 0.64.1 - '@unocss/transformer-variant-group@0.64.0': + '@unocss/transformer-directives@0.64.1': dependencies: - '@unocss/core': 0.64.0 + '@unocss/core': 0.64.1 + '@unocss/rule-utils': 0.64.1 + css-tree: 3.1.0 - '@unocss/vite@0.64.0(rollup@4.25.0)(vite@5.4.11(@types/node@22.7.4)(less@4.2.0)(terser@5.32.0))(vue@3.5.12(typescript@5.6.2))': + '@unocss/transformer-variant-group@0.64.1': + dependencies: + '@unocss/core': 0.64.1 + + '@unocss/vite@0.64.1(rollup@4.29.1)(vite@5.4.11(@types/node@22.7.4)(less@4.2.1)(terser@5.32.0))(vue@3.5.12(typescript@5.6.2))': dependencies: '@ampproject/remapping': 2.3.0 - '@rollup/pluginutils': 5.1.3(rollup@4.25.0) - '@unocss/config': 0.64.0 - '@unocss/core': 0.64.0 - '@unocss/inspector': 0.64.0(vue@3.5.12(typescript@5.6.2)) + '@rollup/pluginutils': 5.1.4(rollup@4.29.1) + '@unocss/config': 0.64.1 + '@unocss/core': 0.64.1 + '@unocss/inspector': 0.64.1(vue@3.5.12(typescript@5.6.2)) chokidar: 3.6.0 - magic-string: 0.30.12 + magic-string: 0.30.17 tinyglobby: 0.2.10 - vite: 5.4.11(@types/node@22.7.4)(less@4.2.0)(terser@5.32.0) + vite: 5.4.11(@types/node@22.7.4)(less@4.2.1)(terser@5.32.0) transitivePeerDependencies: - rollup - supports-color - vue - '@vitejs/plugin-vue@5.1.4(vite@5.4.11(@types/node@22.9.0)(less@4.2.0)(terser@5.32.0))(vue@3.5.12(typescript@5.6.2))': + '@vitejs/plugin-vue@5.1.4(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(terser@5.32.0))(vue@3.5.12(typescript@5.6.2))': dependencies: - vite: 5.4.11(@types/node@22.9.0)(less@4.2.0)(terser@5.32.0) + vite: 5.4.11(@types/node@22.10.2)(less@4.2.1)(terser@5.32.0) vue: 3.5.12(typescript@5.6.2) - '@vitest/coverage-v8@2.1.4(vitest@2.1.1(@types/node@22.7.4)(jsdom@25.0.1)(less@4.2.0)(terser@5.32.0))': + '@vitest/coverage-v8@2.1.8(vitest@2.1.1(@types/node@22.10.2)(jsdom@25.0.1)(less@4.2.1)(terser@5.32.0))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 @@ -7334,14 +7435,14 @@ snapshots: istanbul-reports: 3.1.7 magic-string: 0.30.12 magicast: 0.3.5 - std-env: 3.7.0 + std-env: 3.8.0 test-exclude: 7.0.1 tinyrainbow: 1.2.0 - vitest: 2.1.1(@types/node@22.7.4)(jsdom@25.0.1)(less@4.2.0)(terser@5.32.0) + vitest: 2.1.1(@types/node@22.10.2)(jsdom@25.0.1)(less@4.2.1)(terser@5.32.0) transitivePeerDependencies: - supports-color - '@vitest/coverage-v8@2.1.4(vitest@2.1.1(@types/node@22.9.0)(jsdom@25.0.1)(less@4.2.0)(terser@5.32.0))': + '@vitest/coverage-v8@2.1.8(vitest@2.1.1(@types/node@22.7.4)(jsdom@25.0.1)(less@4.2.1)(terser@5.32.0))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 @@ -7352,28 +7453,28 @@ snapshots: istanbul-reports: 3.1.7 magic-string: 0.30.12 magicast: 0.3.5 - std-env: 3.7.0 + std-env: 3.8.0 test-exclude: 7.0.1 tinyrainbow: 1.2.0 - vitest: 2.1.1(@types/node@22.9.0)(jsdom@25.0.1)(less@4.2.0)(terser@5.32.0) + vitest: 2.1.1(@types/node@22.7.4)(jsdom@25.0.1)(less@4.2.1)(terser@5.32.0) transitivePeerDependencies: - supports-color - '@vitest/eslint-plugin@1.1.4(@typescript-eslint/utils@8.5.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2))(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2)(vitest@2.1.1(@types/node@22.7.4)(jsdom@25.0.1)(less@4.2.0)(terser@5.32.0))': + '@vitest/eslint-plugin@1.1.4(@typescript-eslint/utils@8.5.0(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2))(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2)(vitest@2.1.1(@types/node@22.10.2)(jsdom@25.0.1)(less@4.2.1)(terser@5.32.0))': dependencies: - eslint: 9.11.0(jiti@1.21.6) + eslint: 9.11.0(jiti@2.4.2) optionalDependencies: - '@typescript-eslint/utils': 8.5.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2) + '@typescript-eslint/utils': 8.5.0(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2) typescript: 5.6.2 - vitest: 2.1.1(@types/node@22.7.4)(jsdom@25.0.1)(less@4.2.0)(terser@5.32.0) + vitest: 2.1.1(@types/node@22.10.2)(jsdom@25.0.1)(less@4.2.1)(terser@5.32.0) - '@vitest/eslint-plugin@1.1.4(@typescript-eslint/utils@8.5.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2))(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2)(vitest@2.1.1(@types/node@22.9.0)(jsdom@25.0.1)(less@4.2.0)(terser@5.32.0))': + '@vitest/eslint-plugin@1.1.4(@typescript-eslint/utils@8.5.0(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2))(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2)(vitest@2.1.1(@types/node@22.7.4)(jsdom@25.0.1)(less@4.2.1)(terser@5.32.0))': dependencies: - eslint: 9.11.0(jiti@1.21.6) + eslint: 9.11.0(jiti@2.4.2) optionalDependencies: - '@typescript-eslint/utils': 8.5.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2) + '@typescript-eslint/utils': 8.5.0(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2) typescript: 5.6.2 - vitest: 2.1.1(@types/node@22.9.0)(jsdom@25.0.1)(less@4.2.0)(terser@5.32.0) + vitest: 2.1.1(@types/node@22.7.4)(jsdom@25.0.1)(less@4.2.1)(terser@5.32.0) '@vitest/expect@2.1.1': dependencies: @@ -7382,21 +7483,21 @@ snapshots: chai: 5.1.1 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.1(@vitest/spy@2.1.1)(vite@5.4.11(@types/node@22.7.4)(less@4.2.0)(terser@5.32.0))': + '@vitest/mocker@2.1.1(@vitest/spy@2.1.1)(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(terser@5.32.0))': dependencies: '@vitest/spy': 2.1.1 estree-walker: 3.0.3 magic-string: 0.30.11 optionalDependencies: - vite: 5.4.11(@types/node@22.7.4)(less@4.2.0)(terser@5.32.0) + vite: 5.4.11(@types/node@22.10.2)(less@4.2.1)(terser@5.32.0) - '@vitest/mocker@2.1.1(@vitest/spy@2.1.1)(vite@5.4.11(@types/node@22.9.0)(less@4.2.0)(terser@5.32.0))': + '@vitest/mocker@2.1.1(@vitest/spy@2.1.1)(vite@5.4.11(@types/node@22.7.4)(less@4.2.1)(terser@5.32.0))': dependencies: '@vitest/spy': 2.1.1 estree-walker: 3.0.3 magic-string: 0.30.11 optionalDependencies: - vite: 5.4.11(@types/node@22.9.0)(less@4.2.0)(terser@5.32.0) + vite: 5.4.11(@types/node@22.7.4)(less@4.2.1)(terser@5.32.0) '@vitest/pretty-format@2.1.1': dependencies: @@ -7425,7 +7526,7 @@ snapshots: '@vue/compiler-core@3.5.12': dependencies: - '@babel/parser': 7.26.2 + '@babel/parser': 7.26.3 '@vue/shared': 3.5.12 entities: 4.5.0 estree-walker: 2.0.2 @@ -7444,8 +7545,8 @@ snapshots: '@vue/compiler-ssr': 3.5.12 '@vue/shared': 3.5.12 estree-walker: 2.0.2 - magic-string: 0.30.12 - postcss: 8.4.48 + magic-string: 0.30.17 + postcss: 8.4.49 source-map-js: 1.2.1 '@vue/compiler-ssr@3.5.12': @@ -7453,21 +7554,21 @@ snapshots: '@vue/compiler-dom': 3.5.12 '@vue/shared': 3.5.12 - '@vue/devtools-api@7.4.6': + '@vue/devtools-api@7.6.8': dependencies: - '@vue/devtools-kit': 7.4.6 + '@vue/devtools-kit': 7.6.8 - '@vue/devtools-kit@7.4.6': + '@vue/devtools-kit@7.6.8': dependencies: - '@vue/devtools-shared': 7.4.6 + '@vue/devtools-shared': 7.6.8 birpc: 0.2.19 hookable: 5.5.3 mitt: 3.0.1 perfect-debounce: 1.0.0 speakingurl: 14.0.1 - superjson: 2.2.1 + superjson: 2.2.2 - '@vue/devtools-shared@7.4.6': + '@vue/devtools-shared@7.6.8': dependencies: rfdc: 1.4.1 @@ -7625,14 +7726,14 @@ snapshots: stubborn-fs: 1.2.5 when-exit: 2.1.3 - autoprefixer@10.4.20(postcss@8.4.48): + autoprefixer@10.4.20(postcss@8.4.49): dependencies: - browserslist: 4.23.3 - caniuse-lite: 1.0.30001653 + browserslist: 4.24.3 + caniuse-lite: 1.0.30001690 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.1 - postcss: 8.4.48 + postcss: 8.4.49 postcss-value-parser: 4.2.0 babel-plugin-jsx-dom-expressions@0.38.1(@babel/core@7.25.2): @@ -7683,6 +7784,13 @@ snapshots: node-releases: 2.0.18 update-browserslist-db: 1.1.0(browserslist@4.23.3) + browserslist@4.24.3: + dependencies: + caniuse-lite: 1.0.30001690 + electron-to-chromium: 1.5.76 + node-releases: 2.0.19 + update-browserslist-db: 1.1.1(browserslist@4.24.3) + buffer-from@1.1.2: optional: true @@ -7693,60 +7801,60 @@ snapshots: builtin-modules@3.3.0: {} - bumpp@9.7.1(magicast@0.3.5): + bumpp@9.9.2(magicast@0.3.5): dependencies: - '@jsdevtools/ez-spawn': 3.0.4 - c12: 1.11.2(magicast@0.3.5) + c12: 2.0.1(magicast@0.3.5) cac: 6.7.14 escalade: 3.2.0 - fast-glob: 3.3.2 js-yaml: 4.1.0 jsonc-parser: 3.3.1 prompts: 2.4.2 semver: 7.6.3 + tinyexec: 0.3.2 + tinyglobby: 0.2.10 transitivePeerDependencies: - magicast - bundle-require@5.0.0(esbuild@0.23.1): + bundle-require@5.1.0(esbuild@0.23.1): dependencies: esbuild: 0.23.1 load-tsconfig: 0.2.5 - c12@1.11.2(magicast@0.3.5): + c12@2.0.1(magicast@0.3.5): dependencies: - chokidar: 3.6.0 + chokidar: 4.0.3 confbox: 0.1.8 defu: 6.1.4 - dotenv: 16.4.5 + dotenv: 16.4.7 giget: 1.2.3 - jiti: 1.21.6 - mlly: 1.7.2 + jiti: 2.4.2 + mlly: 1.7.3 ohash: 1.1.4 pathe: 1.1.2 perfect-debounce: 1.0.0 - pkg-types: 1.2.1 + pkg-types: 1.3.0 rc9: 2.1.2 optionalDependencies: magicast: 0.3.5 cac@6.7.14: {} - call-me-maybe@1.0.2: {} - callsites@3.1.0: {} caniuse-api@3.0.0: dependencies: - browserslist: 4.23.3 - caniuse-lite: 1.0.30001653 + browserslist: 4.24.3 + caniuse-lite: 1.0.30001690 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 caniuse-lite@1.0.30001653: {} + caniuse-lite@1.0.30001690: {} + capnp-ts@0.7.0: dependencies: - debug: 4.3.7 + debug: 4.4.0 tslib: 2.8.1 transitivePeerDependencies: - supports-color @@ -7790,6 +7898,8 @@ snapshots: chalk@5.3.0: {} + chalk@5.4.1: {} + character-entities-html4@2.1.0: {} character-entities-legacy@3.0.0: {} @@ -7812,6 +7922,10 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + chokidar@4.0.3: + dependencies: + readdirp: 4.0.2 + chownr@2.0.0: {} ci-info@4.0.0: {} @@ -7820,9 +7934,9 @@ snapshots: dependencies: consola: 3.2.3 - class-variance-authority@0.7.0: + class-variance-authority@0.7.1: dependencies: - clsx: 2.0.0 + clsx: 2.1.1 clean-regexp@1.0.0: dependencies: @@ -7836,20 +7950,12 @@ snapshots: cli-width@4.1.0: {} - clipboardy@4.0.0: - dependencies: - execa: 8.0.1 - is-wsl: 3.1.0 - is64bit: 2.0.0 - cliui@8.0.1: dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - clsx@2.0.0: {} - clsx@2.1.1: {} color-convert@1.9.3: @@ -7885,7 +7991,7 @@ snapshots: concat-map@0.0.1: {} - conf@13.0.1: + conf@13.1.0: dependencies: ajv: 8.17.1 ajv-formats: 3.0.1(ajv@8.17.1) @@ -7903,6 +8009,8 @@ snapshots: consola@3.2.3: {} + consola@3.3.3: {} + convert-source-map@2.0.0: {} cookie-es@1.2.2: {} @@ -7929,18 +8037,26 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 - crossws@0.2.4: {} + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + crossws@0.3.1: + dependencies: + uncrypto: 0.1.3 - css-declaration-sorter@7.2.0(postcss@8.4.48): + css-declaration-sorter@7.2.0(postcss@8.4.49): dependencies: - postcss: 8.4.48 + postcss: 8.4.49 css-select@5.1.0: dependencies: boolbase: 1.0.0 css-what: 6.1.0 domhandler: 5.0.3 - domutils: 3.1.0 + domutils: 3.2.1 nth-check: 2.1.1 css-tree@2.2.1: @@ -7953,58 +8069,58 @@ snapshots: mdn-data: 2.0.30 source-map-js: 1.2.1 - css-tree@3.0.1: + css-tree@3.1.0: dependencies: - mdn-data: 2.12.1 + mdn-data: 2.12.2 source-map-js: 1.2.1 css-what@6.1.0: {} cssesc@3.0.0: {} - cssnano-preset-default@7.0.5(postcss@8.4.48): - dependencies: - browserslist: 4.23.3 - css-declaration-sorter: 7.2.0(postcss@8.4.48) - cssnano-utils: 5.0.0(postcss@8.4.48) - postcss: 8.4.48 - postcss-calc: 10.0.2(postcss@8.4.48) - postcss-colormin: 7.0.2(postcss@8.4.48) - postcss-convert-values: 7.0.3(postcss@8.4.48) - postcss-discard-comments: 7.0.2(postcss@8.4.48) - postcss-discard-duplicates: 7.0.1(postcss@8.4.48) - postcss-discard-empty: 7.0.0(postcss@8.4.48) - postcss-discard-overridden: 7.0.0(postcss@8.4.48) - postcss-merge-longhand: 7.0.3(postcss@8.4.48) - postcss-merge-rules: 7.0.3(postcss@8.4.48) - postcss-minify-font-values: 7.0.0(postcss@8.4.48) - postcss-minify-gradients: 7.0.0(postcss@8.4.48) - postcss-minify-params: 7.0.2(postcss@8.4.48) - postcss-minify-selectors: 7.0.3(postcss@8.4.48) - postcss-normalize-charset: 7.0.0(postcss@8.4.48) - postcss-normalize-display-values: 7.0.0(postcss@8.4.48) - postcss-normalize-positions: 7.0.0(postcss@8.4.48) - postcss-normalize-repeat-style: 7.0.0(postcss@8.4.48) - postcss-normalize-string: 7.0.0(postcss@8.4.48) - postcss-normalize-timing-functions: 7.0.0(postcss@8.4.48) - postcss-normalize-unicode: 7.0.2(postcss@8.4.48) - postcss-normalize-url: 7.0.0(postcss@8.4.48) - postcss-normalize-whitespace: 7.0.0(postcss@8.4.48) - postcss-ordered-values: 7.0.1(postcss@8.4.48) - postcss-reduce-initial: 7.0.2(postcss@8.4.48) - postcss-reduce-transforms: 7.0.0(postcss@8.4.48) - postcss-svgo: 7.0.1(postcss@8.4.48) - postcss-unique-selectors: 7.0.2(postcss@8.4.48) - - cssnano-utils@5.0.0(postcss@8.4.48): - dependencies: - postcss: 8.4.48 - - cssnano@7.0.5(postcss@8.4.48): - dependencies: - cssnano-preset-default: 7.0.5(postcss@8.4.48) - lilconfig: 3.1.2 - postcss: 8.4.48 + cssnano-preset-default@7.0.6(postcss@8.4.49): + dependencies: + browserslist: 4.24.3 + css-declaration-sorter: 7.2.0(postcss@8.4.49) + cssnano-utils: 5.0.0(postcss@8.4.49) + postcss: 8.4.49 + postcss-calc: 10.0.2(postcss@8.4.49) + postcss-colormin: 7.0.2(postcss@8.4.49) + postcss-convert-values: 7.0.4(postcss@8.4.49) + postcss-discard-comments: 7.0.3(postcss@8.4.49) + postcss-discard-duplicates: 7.0.1(postcss@8.4.49) + postcss-discard-empty: 7.0.0(postcss@8.4.49) + postcss-discard-overridden: 7.0.0(postcss@8.4.49) + postcss-merge-longhand: 7.0.4(postcss@8.4.49) + postcss-merge-rules: 7.0.4(postcss@8.4.49) + postcss-minify-font-values: 7.0.0(postcss@8.4.49) + postcss-minify-gradients: 7.0.0(postcss@8.4.49) + postcss-minify-params: 7.0.2(postcss@8.4.49) + postcss-minify-selectors: 7.0.4(postcss@8.4.49) + postcss-normalize-charset: 7.0.0(postcss@8.4.49) + postcss-normalize-display-values: 7.0.0(postcss@8.4.49) + postcss-normalize-positions: 7.0.0(postcss@8.4.49) + postcss-normalize-repeat-style: 7.0.0(postcss@8.4.49) + postcss-normalize-string: 7.0.0(postcss@8.4.49) + postcss-normalize-timing-functions: 7.0.0(postcss@8.4.49) + postcss-normalize-unicode: 7.0.2(postcss@8.4.49) + postcss-normalize-url: 7.0.0(postcss@8.4.49) + postcss-normalize-whitespace: 7.0.0(postcss@8.4.49) + postcss-ordered-values: 7.0.1(postcss@8.4.49) + postcss-reduce-initial: 7.0.2(postcss@8.4.49) + postcss-reduce-transforms: 7.0.0(postcss@8.4.49) + postcss-svgo: 7.0.1(postcss@8.4.49) + postcss-unique-selectors: 7.0.3(postcss@8.4.49) + + cssnano-utils@5.0.0(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + + cssnano@7.0.6(postcss@8.4.49): + dependencies: + cssnano-preset-default: 7.0.6(postcss@8.4.49) + lilconfig: 3.1.3 + postcss: 8.4.49 csso@5.0.5: dependencies: @@ -8039,6 +8155,10 @@ snapshots: dependencies: ms: 2.1.3 + debug@4.4.0: + dependencies: + ms: 2.1.3 + decimal.js@10.4.3: {} decode-named-character-reference@1.0.2: @@ -8059,8 +8179,6 @@ snapshots: destr@2.0.3: {} - detect-libc@1.0.3: {} - detect-libc@2.0.3: optional: true @@ -8088,7 +8206,7 @@ snapshots: dependencies: domelementtype: 2.3.0 - domutils@3.1.0: + domutils@3.2.1: dependencies: dom-serializer: 2.0.0 domelementtype: 2.3.0 @@ -8098,7 +8216,7 @@ snapshots: dependencies: type-fest: 4.26.0 - dotenv@16.4.5: {} + dotenv@16.4.7: {} duplexer@0.1.2: {} @@ -8106,6 +8224,10 @@ snapshots: electron-to-chromium@1.5.13: {} + electron-to-chromium@1.5.76: {} + + emoji-regex-xs@1.0.0: {} + emoji-regex@10.4.0: {} emoji-regex@8.0.0: {} @@ -8240,32 +8362,33 @@ snapshots: '@esbuild/win32-ia32': 0.23.1 '@esbuild/win32-x64': 0.23.1 - esbuild@0.24.0: + esbuild@0.24.2: optionalDependencies: - '@esbuild/aix-ppc64': 0.24.0 - '@esbuild/android-arm': 0.24.0 - '@esbuild/android-arm64': 0.24.0 - '@esbuild/android-x64': 0.24.0 - '@esbuild/darwin-arm64': 0.24.0 - '@esbuild/darwin-x64': 0.24.0 - '@esbuild/freebsd-arm64': 0.24.0 - '@esbuild/freebsd-x64': 0.24.0 - '@esbuild/linux-arm': 0.24.0 - '@esbuild/linux-arm64': 0.24.0 - '@esbuild/linux-ia32': 0.24.0 - '@esbuild/linux-loong64': 0.24.0 - '@esbuild/linux-mips64el': 0.24.0 - '@esbuild/linux-ppc64': 0.24.0 - '@esbuild/linux-riscv64': 0.24.0 - '@esbuild/linux-s390x': 0.24.0 - '@esbuild/linux-x64': 0.24.0 - '@esbuild/netbsd-x64': 0.24.0 - '@esbuild/openbsd-arm64': 0.24.0 - '@esbuild/openbsd-x64': 0.24.0 - '@esbuild/sunos-x64': 0.24.0 - '@esbuild/win32-arm64': 0.24.0 - '@esbuild/win32-ia32': 0.24.0 - '@esbuild/win32-x64': 0.24.0 + '@esbuild/aix-ppc64': 0.24.2 + '@esbuild/android-arm': 0.24.2 + '@esbuild/android-arm64': 0.24.2 + '@esbuild/android-x64': 0.24.2 + '@esbuild/darwin-arm64': 0.24.2 + '@esbuild/darwin-x64': 0.24.2 + '@esbuild/freebsd-arm64': 0.24.2 + '@esbuild/freebsd-x64': 0.24.2 + '@esbuild/linux-arm': 0.24.2 + '@esbuild/linux-arm64': 0.24.2 + '@esbuild/linux-ia32': 0.24.2 + '@esbuild/linux-loong64': 0.24.2 + '@esbuild/linux-mips64el': 0.24.2 + '@esbuild/linux-ppc64': 0.24.2 + '@esbuild/linux-riscv64': 0.24.2 + '@esbuild/linux-s390x': 0.24.2 + '@esbuild/linux-x64': 0.24.2 + '@esbuild/netbsd-arm64': 0.24.2 + '@esbuild/netbsd-x64': 0.24.2 + '@esbuild/openbsd-arm64': 0.24.2 + '@esbuild/openbsd-x64': 0.24.2 + '@esbuild/sunos-x64': 0.24.2 + '@esbuild/win32-arm64': 0.24.2 + '@esbuild/win32-ia32': 0.24.2 + '@esbuild/win32-x64': 0.24.2 escalade@3.2.0: {} @@ -8275,15 +8398,15 @@ snapshots: escape-string-regexp@5.0.0: {} - eslint-compat-utils@0.5.1(eslint@9.11.0(jiti@1.21.6)): + eslint-compat-utils@0.5.1(eslint@9.11.0(jiti@2.4.2)): dependencies: - eslint: 9.11.0(jiti@1.21.6) + eslint: 9.11.0(jiti@2.4.2) semver: 7.6.3 - eslint-config-flat-gitignore@0.3.0(eslint@9.11.0(jiti@1.21.6)): + eslint-config-flat-gitignore@0.3.0(eslint@9.11.0(jiti@2.4.2)): dependencies: '@eslint/compat': 1.1.1 - eslint: 9.11.0(jiti@1.21.6) + eslint: 9.11.0(jiti@2.4.2) find-up-simple: 1.0.0 eslint-flat-config-utils@0.4.0: @@ -8298,33 +8421,33 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-merge-processors@0.1.0(eslint@9.11.0(jiti@1.21.6)): + eslint-merge-processors@0.1.0(eslint@9.11.0(jiti@2.4.2)): dependencies: - eslint: 9.11.0(jiti@1.21.6) + eslint: 9.11.0(jiti@2.4.2) - eslint-plugin-antfu@2.6.0(eslint@9.11.0(jiti@1.21.6)): + eslint-plugin-antfu@2.6.0(eslint@9.11.0(jiti@2.4.2)): dependencies: '@antfu/utils': 0.7.10 - eslint: 9.11.0(jiti@1.21.6) + eslint: 9.11.0(jiti@2.4.2) - eslint-plugin-command@0.2.5(eslint@9.11.0(jiti@1.21.6)): + eslint-plugin-command@0.2.5(eslint@9.11.0(jiti@2.4.2)): dependencies: '@es-joy/jsdoccomment': 0.48.0 - eslint: 9.11.0(jiti@1.21.6) + eslint: 9.11.0(jiti@2.4.2) - eslint-plugin-es-x@7.8.0(eslint@9.11.0(jiti@1.21.6)): + eslint-plugin-es-x@7.8.0(eslint@9.11.0(jiti@2.4.2)): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.0(jiti@1.21.6)) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.0(jiti@2.4.2)) '@eslint-community/regexpp': 4.11.1 - eslint: 9.11.0(jiti@1.21.6) - eslint-compat-utils: 0.5.1(eslint@9.11.0(jiti@1.21.6)) + eslint: 9.11.0(jiti@2.4.2) + eslint-compat-utils: 0.5.1(eslint@9.11.0(jiti@2.4.2)) - eslint-plugin-import-x@4.2.1(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2): + eslint-plugin-import-x@4.2.1(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2): dependencies: - '@typescript-eslint/utils': 8.5.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2) + '@typescript-eslint/utils': 8.5.0(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2) debug: 4.3.7 doctrine: 3.0.0 - eslint: 9.11.0(jiti@1.21.6) + eslint: 9.11.0(jiti@2.4.2) eslint-import-resolver-node: 0.3.9 get-tsconfig: 4.8.1 is-glob: 4.0.3 @@ -8336,14 +8459,14 @@ snapshots: - supports-color - typescript - eslint-plugin-jsdoc@50.2.3(eslint@9.11.0(jiti@1.21.6)): + eslint-plugin-jsdoc@50.2.3(eslint@9.11.0(jiti@2.4.2)): dependencies: '@es-joy/jsdoccomment': 0.48.0 are-docs-informative: 0.0.2 comment-parser: 1.4.1 debug: 4.3.7 escape-string-regexp: 4.0.0 - eslint: 9.11.0(jiti@1.21.6) + eslint: 9.11.0(jiti@2.4.2) espree: 10.1.0 esquery: 1.6.0 parse-imports: 2.1.1 @@ -8353,23 +8476,23 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-jsonc@2.16.0(eslint@9.11.0(jiti@1.21.6)): + eslint-plugin-jsonc@2.16.0(eslint@9.11.0(jiti@2.4.2)): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.0(jiti@1.21.6)) - eslint: 9.11.0(jiti@1.21.6) - eslint-compat-utils: 0.5.1(eslint@9.11.0(jiti@1.21.6)) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.0(jiti@2.4.2)) + eslint: 9.11.0(jiti@2.4.2) + eslint-compat-utils: 0.5.1(eslint@9.11.0(jiti@2.4.2)) espree: 9.6.1 graphemer: 1.4.0 jsonc-eslint-parser: 2.4.0 natural-compare: 1.4.0 synckit: 0.6.2 - eslint-plugin-n@17.10.2(eslint@9.11.0(jiti@1.21.6)): + eslint-plugin-n@17.10.2(eslint@9.11.0(jiti@2.4.2)): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.0(jiti@1.21.6)) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.0(jiti@2.4.2)) enhanced-resolve: 5.17.1 - eslint: 9.11.0(jiti@1.21.6) - eslint-plugin-es-x: 7.8.0(eslint@9.11.0(jiti@1.21.6)) + eslint: 9.11.0(jiti@2.4.2) + eslint-plugin-es-x: 7.8.0(eslint@9.11.0(jiti@2.4.2)) get-tsconfig: 4.8.1 globals: 15.9.0 ignore: 5.3.2 @@ -8378,48 +8501,48 @@ snapshots: eslint-plugin-no-only-tests@3.3.0: {} - eslint-plugin-perfectionist@3.6.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2)(vue-eslint-parser@9.4.3(eslint@9.11.0(jiti@1.21.6))): + eslint-plugin-perfectionist@3.6.0(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2)(vue-eslint-parser@9.4.3(eslint@9.11.0(jiti@2.4.2))): dependencies: '@typescript-eslint/types': 8.5.0 - '@typescript-eslint/utils': 8.5.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2) - eslint: 9.11.0(jiti@1.21.6) + '@typescript-eslint/utils': 8.5.0(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2) + eslint: 9.11.0(jiti@2.4.2) minimatch: 9.0.5 natural-compare-lite: 1.4.0 optionalDependencies: - vue-eslint-parser: 9.4.3(eslint@9.11.0(jiti@1.21.6)) + vue-eslint-parser: 9.4.3(eslint@9.11.0(jiti@2.4.2)) transitivePeerDependencies: - supports-color - typescript - eslint-plugin-regexp@2.6.0(eslint@9.11.0(jiti@1.21.6)): + eslint-plugin-regexp@2.6.0(eslint@9.11.0(jiti@2.4.2)): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.0(jiti@1.21.6)) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.0(jiti@2.4.2)) '@eslint-community/regexpp': 4.11.1 comment-parser: 1.4.1 - eslint: 9.11.0(jiti@1.21.6) + eslint: 9.11.0(jiti@2.4.2) jsdoc-type-pratt-parser: 4.1.0 refa: 0.12.1 regexp-ast-analysis: 0.7.1 scslre: 0.3.0 - eslint-plugin-toml@0.11.1(eslint@9.11.0(jiti@1.21.6)): + eslint-plugin-toml@0.11.1(eslint@9.11.0(jiti@2.4.2)): dependencies: debug: 4.3.7 - eslint: 9.11.0(jiti@1.21.6) - eslint-compat-utils: 0.5.1(eslint@9.11.0(jiti@1.21.6)) + eslint: 9.11.0(jiti@2.4.2) + eslint-compat-utils: 0.5.1(eslint@9.11.0(jiti@2.4.2)) lodash: 4.17.21 toml-eslint-parser: 0.10.0 transitivePeerDependencies: - supports-color - eslint-plugin-unicorn@55.0.0(eslint@9.11.0(jiti@1.21.6)): + eslint-plugin-unicorn@55.0.0(eslint@9.11.0(jiti@2.4.2)): dependencies: '@babel/helper-validator-identifier': 7.24.7 - '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.0(jiti@1.21.6)) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.0(jiti@2.4.2)) ci-info: 4.0.0 clean-regexp: 1.0.0 core-js-compat: 3.38.1 - eslint: 9.11.0(jiti@1.21.6) + eslint: 9.11.0(jiti@2.4.2) esquery: 1.6.0 globals: 15.9.0 indent-string: 4.0.0 @@ -8432,41 +8555,41 @@ snapshots: semver: 7.6.3 strip-indent: 3.0.0 - eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.5.0(@typescript-eslint/parser@8.5.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2))(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2))(eslint@9.11.0(jiti@1.21.6)): + eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.5.0(@typescript-eslint/parser@8.5.0(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2))(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2))(eslint@9.11.0(jiti@2.4.2)): dependencies: - eslint: 9.11.0(jiti@1.21.6) + eslint: 9.11.0(jiti@2.4.2) optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.5.0(@typescript-eslint/parser@8.5.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2))(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2) + '@typescript-eslint/eslint-plugin': 8.5.0(@typescript-eslint/parser@8.5.0(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2))(eslint@9.11.0(jiti@2.4.2))(typescript@5.6.2) - eslint-plugin-vue@9.28.0(eslint@9.11.0(jiti@1.21.6)): + eslint-plugin-vue@9.28.0(eslint@9.11.0(jiti@2.4.2)): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.0(jiti@1.21.6)) - eslint: 9.11.0(jiti@1.21.6) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.0(jiti@2.4.2)) + eslint: 9.11.0(jiti@2.4.2) globals: 13.24.0 natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.1.2 semver: 7.6.3 - vue-eslint-parser: 9.4.3(eslint@9.11.0(jiti@1.21.6)) + vue-eslint-parser: 9.4.3(eslint@9.11.0(jiti@2.4.2)) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color - eslint-plugin-yml@1.14.0(eslint@9.11.0(jiti@1.21.6)): + eslint-plugin-yml@1.14.0(eslint@9.11.0(jiti@2.4.2)): dependencies: debug: 4.3.7 - eslint: 9.11.0(jiti@1.21.6) - eslint-compat-utils: 0.5.1(eslint@9.11.0(jiti@1.21.6)) + eslint: 9.11.0(jiti@2.4.2) + eslint-compat-utils: 0.5.1(eslint@9.11.0(jiti@2.4.2)) lodash: 4.17.21 natural-compare: 1.4.0 yaml-eslint-parser: 1.2.3 transitivePeerDependencies: - supports-color - eslint-processor-vue-blocks@0.1.2(@vue/compiler-sfc@3.5.12)(eslint@9.11.0(jiti@1.21.6)): + eslint-processor-vue-blocks@0.1.2(@vue/compiler-sfc@3.5.12)(eslint@9.11.0(jiti@2.4.2)): dependencies: '@vue/compiler-sfc': 3.5.12 - eslint: 9.11.0(jiti@1.21.6) + eslint: 9.11.0(jiti@2.4.2) eslint-scope@7.2.2: dependencies: @@ -8482,9 +8605,9 @@ snapshots: eslint-visitor-keys@4.0.0: {} - eslint@9.11.0(jiti@1.21.6): + eslint@9.11.0(jiti@2.4.2): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.0(jiti@1.21.6)) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.0(jiti@2.4.2)) '@eslint-community/regexpp': 4.11.1 '@eslint/config-array': 0.18.0 '@eslint/eslintrc': 3.1.0 @@ -8519,7 +8642,7 @@ snapshots: strip-ansi: 6.0.1 text-table: 0.2.0 optionalDependencies: - jiti: 1.21.6 + jiti: 2.4.2 transitivePeerDependencies: - supports-color @@ -8561,7 +8684,7 @@ snapshots: execa@8.0.1: dependencies: - cross-spawn: 7.0.3 + cross-spawn: 7.0.6 get-stream: 8.0.1 human-signals: 5.0.0 is-stream: 3.0.0 @@ -8609,9 +8732,9 @@ snapshots: optionalDependencies: picomatch: 4.0.2 - figue@2.1.0(zod@3.23.8): + figue@2.1.0(zod@3.24.1): dependencies: - zod: 3.23.8 + zod: 3.24.1 file-entry-cache@8.0.0: dependencies: @@ -8679,8 +8802,6 @@ snapshots: get-func-name@2.0.2: {} - get-port-please@3.1.2: {} - get-source@2.0.12: dependencies: data-uri-to-buffer: 2.0.2 @@ -8695,7 +8816,7 @@ snapshots: giget@1.2.3: dependencies: citty: 0.1.6 - consola: 3.2.3 + consola: 3.3.3 defu: 6.1.4 node-fetch-native: 1.6.4 nypm: 0.3.12 @@ -8738,6 +8859,8 @@ snapshots: globals@14.0.0: {} + globals@15.14.0: {} + globals@15.9.0: {} globby@13.2.2: @@ -8756,20 +8879,18 @@ snapshots: dependencies: duplexer: 0.1.2 - h3@1.12.0: + h3@1.13.0: dependencies: cookie-es: 1.2.2 - crossws: 0.2.4 + crossws: 0.3.1 defu: 6.1.4 destr: 2.0.3 iron-webcrypto: 1.2.1 - ohash: 1.1.3 + ohash: 1.1.4 radix3: 1.1.2 ufo: 1.5.4 uncrypto: 0.1.3 unenv: 1.10.0 - transitivePeerDependencies: - - uWebSockets.js has-flag@3.0.0: {} @@ -8779,7 +8900,7 @@ snapshots: dependencies: function-bind: 1.1.2 - hast-util-to-html@9.0.3: + hast-util-to-html@9.0.4: dependencies: '@types/hast': 3.0.4 '@types/unist': 3.0.3 @@ -8799,7 +8920,7 @@ snapshots: help-me@5.0.0: {} - hono@4.6.6: {} + hono@4.6.15: {} hookable@5.5.3: {} @@ -8822,8 +8943,6 @@ snapshots: transitivePeerDependencies: - supports-color - http-shutdown@1.2.2: {} - https-proxy-agent@7.0.5: dependencies: agent-base: 7.1.1 @@ -8857,11 +8976,11 @@ snapshots: importx@0.4.4: dependencies: - bundle-require: 5.0.0(esbuild@0.23.1) - debug: 4.3.7 + bundle-require: 5.1.0(esbuild@0.23.1) + debug: 4.4.0 esbuild: 0.23.1 jiti: 2.0.0-beta.3 - jiti-v1: jiti@1.21.6 + jiti-v1: jiti@1.21.7 pathe: 1.1.2 tsx: 4.19.2 transitivePeerDependencies: @@ -8894,7 +9013,9 @@ snapshots: dependencies: hasown: 2.0.2 - is-docker@3.0.0: {} + is-core-module@2.16.1: + dependencies: + hasown: 2.0.2 is-extglob@2.1.1: {} @@ -8904,10 +9025,6 @@ snapshots: dependencies: is-extglob: 2.1.1 - is-inside-container@1.0.0: - dependencies: - is-docker: 3.0.0 - is-interactive@2.0.0: {} is-module@1.0.0: {} @@ -8932,14 +9049,6 @@ snapshots: is-what@4.1.16: {} - is-wsl@3.1.0: - dependencies: - is-inside-container: 1.0.0 - - is64bit@2.0.0: - dependencies: - system-architecture: 0.1.0 - isarray@1.0.0: {} isexe@2.0.0: {} @@ -8973,10 +9082,12 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 - jiti@1.21.6: {} + jiti@1.21.7: {} jiti@2.0.0-beta.3: {} + jiti@2.4.2: {} + joycon@3.1.1: {} js-tokens@4.0.0: {} @@ -9021,6 +9132,8 @@ snapshots: jsesc@3.0.2: {} + jsesc@3.1.0: {} + json-buffer@3.0.1: {} json-parse-even-better-errors@2.3.1: {} @@ -9057,9 +9170,11 @@ snapshots: kleur@3.0.3: {} + knitwork@1.2.0: {} + kolorist@1.8.0: {} - less@4.2.0: + less@4.2.1: dependencies: copy-anything: 2.0.6 parse-node-version: 1.0.1 @@ -9082,33 +9197,10 @@ snapshots: dependencies: immediate: 3.0.6 - lilconfig@3.1.2: {} + lilconfig@3.1.3: {} lines-and-columns@1.2.4: {} - listhen@1.7.2: - dependencies: - '@parcel/watcher': 2.4.1 - '@parcel/watcher-wasm': 2.4.1 - citty: 0.1.6 - clipboardy: 4.0.0 - consola: 3.2.3 - crossws: 0.2.4 - defu: 6.1.4 - get-port-please: 3.1.2 - h3: 1.12.0 - http-shutdown: 1.2.2 - jiti: 1.21.6 - mlly: 1.7.1 - node-forge: 1.3.1 - pathe: 1.1.2 - std-env: 3.7.0 - ufo: 1.5.4 - untun: 0.1.3 - uqr: 0.1.2 - transitivePeerDependencies: - - uWebSockets.js - load-tsconfig@0.2.5: {} local-pkg@0.5.0: @@ -9116,6 +9208,11 @@ snapshots: mlly: 1.7.1 pkg-types: 1.2.0 + local-pkg@0.5.1: + dependencies: + mlly: 1.7.3 + pkg-types: 1.3.0 + locate-path@5.0.0: dependencies: p-locate: 4.1.0 @@ -9163,6 +9260,10 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 + magic-string@0.30.17: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + magicast@0.3.5: dependencies: '@babel/parser': 7.26.2 @@ -9273,9 +9374,9 @@ snapshots: dependencies: '@types/hast': 3.0.4 '@types/mdast': 4.0.4 - '@ungap/structured-clone': 1.2.0 + '@ungap/structured-clone': 1.2.1 devlop: 1.1.0 - micromark-util-sanitize-uri: 2.0.0 + micromark-util-sanitize-uri: 2.0.1 trim-lines: 3.0.1 unist-util-position: 5.0.0 unist-util-visit: 5.0.0 @@ -9300,7 +9401,7 @@ snapshots: mdn-data@2.0.30: {} - mdn-data@2.12.1: {} + mdn-data@2.12.2: {} merge-anything@5.1.7: dependencies: @@ -9424,6 +9525,11 @@ snapshots: micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 + micromark-util-character@2.1.1: + dependencies: + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + micromark-util-chunked@2.0.0: dependencies: micromark-util-symbol: 2.0.0 @@ -9452,6 +9558,8 @@ snapshots: micromark-util-encode@2.0.0: {} + micromark-util-encode@2.0.1: {} + micromark-util-html-tag-name@2.0.0: {} micromark-util-normalize-identifier@2.0.0: @@ -9468,6 +9576,12 @@ snapshots: micromark-util-encode: 2.0.0 micromark-util-symbol: 2.0.0 + micromark-util-sanitize-uri@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-encode: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-subtokenize@2.0.1: dependencies: devlop: 1.1.0 @@ -9477,8 +9591,12 @@ snapshots: micromark-util-symbol@2.0.0: {} + micromark-util-symbol@2.0.1: {} + micromark-util-types@2.0.0: {} + micromark-util-types@2.0.1: {} + micromark@4.0.0: dependencies: '@types/debug': 4.1.12 @@ -9523,7 +9641,7 @@ snapshots: min-indent@1.0.1: {} - miniflare@3.20241106.0: + miniflare@3.20241218.0: dependencies: '@cspotcode/source-map-support': 0.8.1 acorn: 8.14.0 @@ -9533,10 +9651,10 @@ snapshots: glob-to-regexp: 0.4.1 stoppable: 1.1.0 undici: 5.28.4 - workerd: 1.20241106.1 + workerd: 1.20241218.0 ws: 8.18.0 youch: 3.3.4 - zod: 3.23.8 + zod: 3.24.1 transitivePeerDependencies: - bufferutil - supports-color @@ -9575,21 +9693,21 @@ snapshots: mkdirp@1.0.4: {} - mkdist@1.5.4(typescript@5.6.2): + mkdist@1.6.0(typescript@5.6.2): dependencies: - autoprefixer: 10.4.20(postcss@8.4.48) + autoprefixer: 10.4.20(postcss@8.4.49) citty: 0.1.6 - cssnano: 7.0.5(postcss@8.4.48) + cssnano: 7.0.6(postcss@8.4.49) defu: 6.1.4 - esbuild: 0.23.1 - fast-glob: 3.3.2 - jiti: 1.21.6 - mlly: 1.7.1 + esbuild: 0.24.2 + jiti: 1.21.7 + mlly: 1.7.3 pathe: 1.1.2 - pkg-types: 1.2.0 - postcss: 8.4.48 - postcss-nested: 6.2.0(postcss@8.4.48) + pkg-types: 1.3.0 + postcss: 8.4.49 + postcss-nested: 6.2.0(postcss@8.4.49) semver: 7.6.3 + tinyglobby: 0.2.10 optionalDependencies: typescript: 5.6.2 @@ -9600,15 +9718,13 @@ snapshots: pkg-types: 1.2.0 ufo: 1.5.4 - mlly@1.7.2: + mlly@1.7.3: dependencies: acorn: 8.14.0 pathe: 1.1.2 - pkg-types: 1.2.1 + pkg-types: 1.3.0 ufo: 1.5.4 - mri@1.2.0: {} - mrmime@2.0.0: {} ms@2.1.3: {} @@ -9625,7 +9741,7 @@ snapshots: '@msgpackr-extract/msgpackr-extract-win32-x64': 3.0.3 optional: true - msgpackr@1.11.0: + msgpackr@1.11.2: optionalDependencies: msgpackr-extract: 3.0.3 @@ -9635,6 +9751,8 @@ snapshots: nanoid@3.3.7: {} + nanoid@3.3.8: {} + natural-compare-lite@1.4.0: {} natural-compare@1.4.0: {} @@ -9645,8 +9763,6 @@ snapshots: sax: 1.4.1 optional: true - node-addon-api@7.1.1: {} - node-cron@3.0.3: dependencies: uuid: 8.3.2 @@ -9667,10 +9783,12 @@ snapshots: node-releases@2.0.18: {} + node-releases@2.0.19: {} + normalize-package-data@2.5.0: dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.8 + resolve: 1.22.10 semver: 5.7.2 validate-npm-package-license: 3.0.4 @@ -9691,16 +9809,10 @@ snapshots: nypm@0.3.12: dependencies: citty: 0.1.6 - consola: 3.2.3 + consola: 3.3.3 execa: 8.0.1 pathe: 1.1.2 - pkg-types: 1.2.1 - ufo: 1.5.4 - - ofetch@1.3.4: - dependencies: - destr: 2.0.3 - node-fetch-native: 1.6.4 + pkg-types: 1.3.0 ufo: 1.5.4 ofetch@1.4.1: @@ -9709,8 +9821,6 @@ snapshots: node-fetch-native: 1.6.4 ufo: 1.5.4 - ohash@1.1.3: {} - ohash@1.1.4: {} on-exit-leak-free@2.1.2: {} @@ -9727,9 +9837,11 @@ snapshots: dependencies: mimic-function: 5.0.1 - oniguruma-to-js@0.4.3: + oniguruma-to-es@0.8.1: dependencies: - regex: 4.3.3 + emoji-regex-xs: 1.0.0 + regex: 5.1.1 + regex-recursion: 5.1.1 optionator@0.9.4: dependencies: @@ -9740,7 +9852,7 @@ snapshots: type-check: 0.4.0 word-wrap: 1.2.5 - ora@8.1.0: + ora@8.1.1: dependencies: chalk: 5.3.0 cli-cursor: 5.0.0 @@ -9791,7 +9903,7 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.24.7 + '@babel/code-frame': 7.26.2 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -9852,14 +9964,14 @@ snapshots: on-exit-leak-free: 2.1.2 pino-abstract-transport: 2.0.0 pump: 3.0.2 - readable-stream: 4.5.2 + readable-stream: 4.6.0 secure-json-parse: 2.7.0 sonic-boom: 4.2.0 strip-json-comments: 3.1.1 pino-std-serializers@7.0.0: {} - pino@9.5.0: + pino@9.6.0: dependencies: atomic-sleep: 1.0.0 fast-redact: 3.5.0 @@ -9879,163 +9991,163 @@ snapshots: mlly: 1.7.1 pathe: 1.1.2 - pkg-types@1.2.1: + pkg-types@1.3.0: dependencies: confbox: 0.1.8 - mlly: 1.7.2 + mlly: 1.7.3 pathe: 1.1.2 - playwright-core@1.48.1: {} + playwright-core@1.49.1: {} - playwright@1.48.1: + playwright@1.49.1: dependencies: - playwright-core: 1.48.1 + playwright-core: 1.49.1 optionalDependencies: fsevents: 2.3.2 pluralize@8.0.0: {} - postcss-calc@10.0.2(postcss@8.4.48): + postcss-calc@10.0.2(postcss@8.4.49): dependencies: - postcss: 8.4.48 + postcss: 8.4.49 postcss-selector-parser: 6.1.2 postcss-value-parser: 4.2.0 - postcss-colormin@7.0.2(postcss@8.4.48): + postcss-colormin@7.0.2(postcss@8.4.49): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.3 caniuse-api: 3.0.0 colord: 2.9.3 - postcss: 8.4.48 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-convert-values@7.0.3(postcss@8.4.48): + postcss-convert-values@7.0.4(postcss@8.4.49): dependencies: - browserslist: 4.23.3 - postcss: 8.4.48 + browserslist: 4.24.3 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-discard-comments@7.0.2(postcss@8.4.48): + postcss-discard-comments@7.0.3(postcss@8.4.49): dependencies: - postcss: 8.4.48 + postcss: 8.4.49 postcss-selector-parser: 6.1.2 - postcss-discard-duplicates@7.0.1(postcss@8.4.48): + postcss-discard-duplicates@7.0.1(postcss@8.4.49): dependencies: - postcss: 8.4.48 + postcss: 8.4.49 - postcss-discard-empty@7.0.0(postcss@8.4.48): + postcss-discard-empty@7.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.48 + postcss: 8.4.49 - postcss-discard-overridden@7.0.0(postcss@8.4.48): + postcss-discard-overridden@7.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.48 + postcss: 8.4.49 - postcss-merge-longhand@7.0.3(postcss@8.4.48): + postcss-merge-longhand@7.0.4(postcss@8.4.49): dependencies: - postcss: 8.4.48 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - stylehacks: 7.0.3(postcss@8.4.48) + stylehacks: 7.0.4(postcss@8.4.49) - postcss-merge-rules@7.0.3(postcss@8.4.48): + postcss-merge-rules@7.0.4(postcss@8.4.49): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.3 caniuse-api: 3.0.0 - cssnano-utils: 5.0.0(postcss@8.4.48) - postcss: 8.4.48 + cssnano-utils: 5.0.0(postcss@8.4.49) + postcss: 8.4.49 postcss-selector-parser: 6.1.2 - postcss-minify-font-values@7.0.0(postcss@8.4.48): + postcss-minify-font-values@7.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.48 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-minify-gradients@7.0.0(postcss@8.4.48): + postcss-minify-gradients@7.0.0(postcss@8.4.49): dependencies: colord: 2.9.3 - cssnano-utils: 5.0.0(postcss@8.4.48) - postcss: 8.4.48 + cssnano-utils: 5.0.0(postcss@8.4.49) + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-minify-params@7.0.2(postcss@8.4.48): + postcss-minify-params@7.0.2(postcss@8.4.49): dependencies: - browserslist: 4.23.3 - cssnano-utils: 5.0.0(postcss@8.4.48) - postcss: 8.4.48 + browserslist: 4.24.3 + cssnano-utils: 5.0.0(postcss@8.4.49) + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-minify-selectors@7.0.3(postcss@8.4.48): + postcss-minify-selectors@7.0.4(postcss@8.4.49): dependencies: cssesc: 3.0.0 - postcss: 8.4.48 + postcss: 8.4.49 postcss-selector-parser: 6.1.2 - postcss-nested@6.2.0(postcss@8.4.48): + postcss-nested@6.2.0(postcss@8.4.49): dependencies: - postcss: 8.4.48 + postcss: 8.4.49 postcss-selector-parser: 6.1.2 - postcss-normalize-charset@7.0.0(postcss@8.4.48): + postcss-normalize-charset@7.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.48 + postcss: 8.4.49 - postcss-normalize-display-values@7.0.0(postcss@8.4.48): + postcss-normalize-display-values@7.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.48 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-normalize-positions@7.0.0(postcss@8.4.48): + postcss-normalize-positions@7.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.48 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-normalize-repeat-style@7.0.0(postcss@8.4.48): + postcss-normalize-repeat-style@7.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.48 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-normalize-string@7.0.0(postcss@8.4.48): + postcss-normalize-string@7.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.48 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-normalize-timing-functions@7.0.0(postcss@8.4.48): + postcss-normalize-timing-functions@7.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.48 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-normalize-unicode@7.0.2(postcss@8.4.48): + postcss-normalize-unicode@7.0.2(postcss@8.4.49): dependencies: - browserslist: 4.23.3 - postcss: 8.4.48 + browserslist: 4.24.3 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-normalize-url@7.0.0(postcss@8.4.48): + postcss-normalize-url@7.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.48 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-normalize-whitespace@7.0.0(postcss@8.4.48): + postcss-normalize-whitespace@7.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.48 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-ordered-values@7.0.1(postcss@8.4.48): + postcss-ordered-values@7.0.1(postcss@8.4.49): dependencies: - cssnano-utils: 5.0.0(postcss@8.4.48) - postcss: 8.4.48 + cssnano-utils: 5.0.0(postcss@8.4.49) + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-reduce-initial@7.0.2(postcss@8.4.48): + postcss-reduce-initial@7.0.2(postcss@8.4.49): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.3 caniuse-api: 3.0.0 - postcss: 8.4.48 + postcss: 8.4.49 - postcss-reduce-transforms@7.0.0(postcss@8.4.48): + postcss-reduce-transforms@7.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.48 + postcss: 8.4.49 postcss-value-parser: 4.2.0 postcss-selector-parser@6.1.2: @@ -10043,22 +10155,22 @@ snapshots: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss-svgo@7.0.1(postcss@8.4.48): + postcss-svgo@7.0.1(postcss@8.4.49): dependencies: - postcss: 8.4.48 + postcss: 8.4.49 postcss-value-parser: 4.2.0 svgo: 3.3.2 - postcss-unique-selectors@7.0.2(postcss@8.4.48): + postcss-unique-selectors@7.0.3(postcss@8.4.49): dependencies: - postcss: 8.4.48 + postcss: 8.4.49 postcss-selector-parser: 6.1.2 postcss-value-parser@4.2.0: {} - postcss@8.4.48: + postcss@8.4.49: dependencies: - nanoid: 3.3.7 + nanoid: 3.3.8 picocolors: 1.1.1 source-map-js: 1.2.1 @@ -10127,7 +10239,7 @@ snapshots: string_decoder: 1.1.1 util-deprecate: 1.0.2 - readable-stream@4.5.2: + readable-stream@4.6.0: dependencies: abort-controller: 3.0.0 buffer: 6.0.3 @@ -10139,13 +10251,24 @@ snapshots: dependencies: picomatch: 2.3.1 + readdirp@4.0.2: {} + real-require@0.2.0: {} refa@0.12.1: dependencies: '@eslint-community/regexpp': 4.11.1 - regex@4.3.3: {} + regex-recursion@5.1.1: + dependencies: + regex: 5.1.1 + regex-utilities: 2.3.0 + + regex-utilities@2.3.0: {} + + regex@5.1.1: + dependencies: + regex-utilities: 2.3.0 regexp-ast-analysis@0.7.1: dependencies: @@ -10166,7 +10289,11 @@ snapshots: resolve-pkg-maps@1.0.0: {} - resolve.exports@2.0.2: {} + resolve@1.22.10: + dependencies: + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 resolve@1.22.8: dependencies: @@ -10183,13 +10310,13 @@ snapshots: rfdc@1.4.1: {} - rollup-plugin-dts@6.1.1(rollup@3.29.4)(typescript@5.6.2): + rollup-plugin-dts@6.1.1(rollup@3.29.5)(typescript@5.6.2): dependencies: - magic-string: 0.30.11 - rollup: 3.29.4 + magic-string: 0.30.17 + rollup: 3.29.5 typescript: 5.6.2 optionalDependencies: - '@babel/code-frame': 7.24.7 + '@babel/code-frame': 7.26.2 rollup-plugin-inject@3.0.2: dependencies: @@ -10205,32 +10332,33 @@ snapshots: dependencies: estree-walker: 0.6.1 - rollup@3.29.4: + rollup@3.29.5: optionalDependencies: fsevents: 2.3.3 - rollup@4.25.0: + rollup@4.29.1: dependencies: '@types/estree': 1.0.6 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.25.0 - '@rollup/rollup-android-arm64': 4.25.0 - '@rollup/rollup-darwin-arm64': 4.25.0 - '@rollup/rollup-darwin-x64': 4.25.0 - '@rollup/rollup-freebsd-arm64': 4.25.0 - '@rollup/rollup-freebsd-x64': 4.25.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.25.0 - '@rollup/rollup-linux-arm-musleabihf': 4.25.0 - '@rollup/rollup-linux-arm64-gnu': 4.25.0 - '@rollup/rollup-linux-arm64-musl': 4.25.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.25.0 - '@rollup/rollup-linux-riscv64-gnu': 4.25.0 - '@rollup/rollup-linux-s390x-gnu': 4.25.0 - '@rollup/rollup-linux-x64-gnu': 4.25.0 - '@rollup/rollup-linux-x64-musl': 4.25.0 - '@rollup/rollup-win32-arm64-msvc': 4.25.0 - '@rollup/rollup-win32-ia32-msvc': 4.25.0 - '@rollup/rollup-win32-x64-msvc': 4.25.0 + '@rollup/rollup-android-arm-eabi': 4.29.1 + '@rollup/rollup-android-arm64': 4.29.1 + '@rollup/rollup-darwin-arm64': 4.29.1 + '@rollup/rollup-darwin-x64': 4.29.1 + '@rollup/rollup-freebsd-arm64': 4.29.1 + '@rollup/rollup-freebsd-x64': 4.29.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.29.1 + '@rollup/rollup-linux-arm-musleabihf': 4.29.1 + '@rollup/rollup-linux-arm64-gnu': 4.29.1 + '@rollup/rollup-linux-arm64-musl': 4.29.1 + '@rollup/rollup-linux-loongarch64-gnu': 4.29.1 + '@rollup/rollup-linux-powerpc64le-gnu': 4.29.1 + '@rollup/rollup-linux-riscv64-gnu': 4.29.1 + '@rollup/rollup-linux-s390x-gnu': 4.29.1 + '@rollup/rollup-linux-x64-gnu': 4.29.1 + '@rollup/rollup-linux-x64-musl': 4.29.1 + '@rollup/rollup-win32-arm64-msvc': 4.29.1 + '@rollup/rollup-win32-ia32-msvc': 4.29.1 + '@rollup/rollup-win32-x64-msvc': 4.29.1 fsevents: 2.3.3 rrweb-cssom@0.7.1: {} @@ -10291,13 +10419,13 @@ snapshots: shebang-regex@3.0.0: {} - shiki@1.22.0: + shiki@1.24.4: dependencies: - '@shikijs/core': 1.22.0 - '@shikijs/engine-javascript': 1.22.0 - '@shikijs/engine-oniguruma': 1.22.0 - '@shikijs/types': 1.22.0 - '@shikijs/vscode-textmate': 9.3.0 + '@shikijs/core': 1.24.4 + '@shikijs/engine-javascript': 1.24.4 + '@shikijs/engine-oniguruma': 1.24.4 + '@shikijs/types': 1.24.4 + '@shikijs/vscode-textmate': 9.3.1 '@types/hast': 3.0.4 siginfo@2.0.0: {} @@ -10306,7 +10434,7 @@ snapshots: sirv@2.0.4: dependencies: - '@polka/url': 1.0.0-next.25 + '@polka/url': 1.0.0-next.28 mrmime: 2.0.0 totalist: 3.0.1 @@ -10397,12 +10525,12 @@ snapshots: std-env@3.7.0: {} + std-env@3.8.0: {} + stdin-discarder@0.2.2: {} stoppable@1.1.0: {} - string-argv@0.3.2: {} - string-width@4.2.3: dependencies: emoji-regex: 8.0.0 @@ -10452,13 +10580,13 @@ snapshots: stubborn-fs@1.2.5: {} - stylehacks@7.0.3(postcss@8.4.48): + stylehacks@7.0.4(postcss@8.4.49): dependencies: - browserslist: 4.23.3 - postcss: 8.4.48 + browserslist: 4.24.3 + postcss: 8.4.49 postcss-selector-parser: 6.1.2 - superjson@2.2.1: + superjson@2.2.2: dependencies: copy-anything: 3.0.5 @@ -10493,11 +10621,9 @@ snapshots: '@pkgr/core': 0.1.1 tslib: 2.7.0 - system-architecture@0.1.0: {} - tabbable@6.2.0: {} - tailwind-merge@2.5.4: {} + tailwind-merge@2.6.0: {} tapable@2.2.1: {} @@ -10534,6 +10660,8 @@ snapshots: tinyexec@0.3.0: {} + tinyexec@0.3.2: {} + tinyglobby@0.2.10: dependencies: fdir: 6.4.2(picomatch@4.0.2) @@ -10596,8 +10724,6 @@ snapshots: dependencies: prelude-ls: 1.2.1 - type-detect@4.1.0: {} - type-fest@0.20.2: {} type-fest@0.21.3: {} @@ -10618,30 +10744,30 @@ snapshots: unbuild@2.0.0(typescript@5.6.2): dependencies: - '@rollup/plugin-alias': 5.1.0(rollup@3.29.4) - '@rollup/plugin-commonjs': 25.0.8(rollup@3.29.4) - '@rollup/plugin-json': 6.1.0(rollup@3.29.4) - '@rollup/plugin-node-resolve': 15.2.3(rollup@3.29.4) - '@rollup/plugin-replace': 5.0.7(rollup@3.29.4) - '@rollup/pluginutils': 5.1.0(rollup@3.29.4) - chalk: 5.3.0 + '@rollup/plugin-alias': 5.1.1(rollup@3.29.5) + '@rollup/plugin-commonjs': 25.0.8(rollup@3.29.5) + '@rollup/plugin-json': 6.1.0(rollup@3.29.5) + '@rollup/plugin-node-resolve': 15.3.1(rollup@3.29.5) + '@rollup/plugin-replace': 5.0.7(rollup@3.29.5) + '@rollup/pluginutils': 5.1.4(rollup@3.29.5) + chalk: 5.4.1 citty: 0.1.6 - consola: 3.2.3 + consola: 3.3.3 defu: 6.1.4 esbuild: 0.19.12 globby: 13.2.2 hookable: 5.5.3 - jiti: 1.21.6 - magic-string: 0.30.11 - mkdist: 1.5.4(typescript@5.6.2) - mlly: 1.7.1 + jiti: 1.21.7 + magic-string: 0.30.17 + mkdist: 1.6.0(typescript@5.6.2) + mlly: 1.7.3 pathe: 1.1.2 - pkg-types: 1.2.0 + pkg-types: 1.3.0 pretty-bytes: 6.1.1 - rollup: 3.29.4 - rollup-plugin-dts: 6.1.1(rollup@3.29.4)(typescript@5.6.2) + rollup: 3.29.5 + rollup-plugin-dts: 6.1.1(rollup@3.29.5)(typescript@5.6.2) scule: 1.3.0 - untyped: 1.4.2 + untyped: 1.5.2 optionalDependencies: typescript: 5.6.2 transitivePeerDependencies: @@ -10661,11 +10787,13 @@ snapshots: undici-types@6.19.8: {} + undici-types@6.20.0: {} + undici@5.28.4: dependencies: '@fastify/busboy': 2.1.1 - unenv-nightly@2.0.0-20241024-111401-d4156ac: + unenv-nightly@2.0.0-20241204-140205-a5d5190: dependencies: defu: 6.1.4 ohash: 1.1.4 @@ -10674,7 +10802,7 @@ snapshots: unenv@1.10.0: dependencies: - consola: 3.2.3 + consola: 3.3.3 defu: 6.1.4 mime: 3.0.0 node-fetch-native: 1.6.4 @@ -10703,67 +10831,58 @@ snapshots: unist-util-is: 6.0.0 unist-util-visit-parents: 6.0.1 - unocss-preset-animations@1.1.0(@unocss/preset-wind@0.64.0)(unocss@0.64.0(postcss@8.4.48)(rollup@4.25.0)(vite@5.4.11(@types/node@22.7.4)(less@4.2.0)(terser@5.32.0))(vue@3.5.12(typescript@5.6.2))): - dependencies: - '@unocss/preset-wind': 0.64.0 - unocss: 0.64.0(postcss@8.4.48)(rollup@4.25.0)(vite@5.4.11(@types/node@22.7.4)(less@4.2.0)(terser@5.32.0))(vue@3.5.12(typescript@5.6.2)) - - unocss@0.64.0(postcss@8.4.48)(rollup@4.25.0)(vite@5.4.11(@types/node@22.7.4)(less@4.2.0)(terser@5.32.0))(vue@3.5.12(typescript@5.6.2)): - dependencies: - '@unocss/astro': 0.64.0(rollup@4.25.0)(vite@5.4.11(@types/node@22.7.4)(less@4.2.0)(terser@5.32.0))(vue@3.5.12(typescript@5.6.2)) - '@unocss/cli': 0.64.0(rollup@4.25.0) - '@unocss/core': 0.64.0 - '@unocss/postcss': 0.64.0(postcss@8.4.48) - '@unocss/preset-attributify': 0.64.0 - '@unocss/preset-icons': 0.64.0 - '@unocss/preset-mini': 0.64.0 - '@unocss/preset-tagify': 0.64.0 - '@unocss/preset-typography': 0.64.0 - '@unocss/preset-uno': 0.64.0 - '@unocss/preset-web-fonts': 0.64.0 - '@unocss/preset-wind': 0.64.0 - '@unocss/transformer-attributify-jsx': 0.64.0 - '@unocss/transformer-compile-class': 0.64.0 - '@unocss/transformer-directives': 0.64.0 - '@unocss/transformer-variant-group': 0.64.0 - '@unocss/vite': 0.64.0(rollup@4.25.0)(vite@5.4.11(@types/node@22.7.4)(less@4.2.0)(terser@5.32.0))(vue@3.5.12(typescript@5.6.2)) + unocss-preset-animations@1.1.0(@unocss/preset-wind@0.65.3)(unocss@0.64.1(postcss@8.4.49)(rollup@4.29.1)(vite@5.4.11(@types/node@22.7.4)(less@4.2.1)(terser@5.32.0))(vue@3.5.12(typescript@5.6.2))): + dependencies: + '@unocss/preset-wind': 0.65.3 + unocss: 0.64.1(postcss@8.4.49)(rollup@4.29.1)(vite@5.4.11(@types/node@22.7.4)(less@4.2.1)(terser@5.32.0))(vue@3.5.12(typescript@5.6.2)) + + unocss@0.64.1(postcss@8.4.49)(rollup@4.29.1)(vite@5.4.11(@types/node@22.7.4)(less@4.2.1)(terser@5.32.0))(vue@3.5.12(typescript@5.6.2)): + dependencies: + '@unocss/astro': 0.64.1(rollup@4.29.1)(vite@5.4.11(@types/node@22.7.4)(less@4.2.1)(terser@5.32.0))(vue@3.5.12(typescript@5.6.2)) + '@unocss/cli': 0.64.1(rollup@4.29.1) + '@unocss/core': 0.64.1 + '@unocss/postcss': 0.64.1(postcss@8.4.49) + '@unocss/preset-attributify': 0.64.1 + '@unocss/preset-icons': 0.64.1 + '@unocss/preset-mini': 0.64.1 + '@unocss/preset-tagify': 0.64.1 + '@unocss/preset-typography': 0.64.1 + '@unocss/preset-uno': 0.64.1 + '@unocss/preset-web-fonts': 0.64.1 + '@unocss/preset-wind': 0.64.1 + '@unocss/transformer-attributify-jsx': 0.64.1 + '@unocss/transformer-compile-class': 0.64.1 + '@unocss/transformer-directives': 0.64.1 + '@unocss/transformer-variant-group': 0.64.1 + '@unocss/vite': 0.64.1(rollup@4.29.1)(vite@5.4.11(@types/node@22.7.4)(less@4.2.1)(terser@5.32.0))(vue@3.5.12(typescript@5.6.2)) optionalDependencies: - vite: 5.4.11(@types/node@22.7.4)(less@4.2.0)(terser@5.32.0) + vite: 5.4.11(@types/node@22.7.4)(less@4.2.1)(terser@5.32.0) transitivePeerDependencies: - postcss - rollup - supports-color - vue - unstorage@1.12.0: + unstorage@1.14.4: dependencies: anymatch: 3.1.3 chokidar: 3.6.0 destr: 2.0.3 - h3: 1.12.0 - listhen: 1.7.2 + h3: 1.13.0 lru-cache: 10.4.3 - mri: 1.2.0 node-fetch-native: 1.6.4 - ofetch: 1.3.4 + ofetch: 1.4.1 ufo: 1.5.4 - transitivePeerDependencies: - - uWebSockets.js - untun@0.1.3: + untyped@1.5.2: dependencies: + '@babel/core': 7.26.0 + '@babel/standalone': 7.26.4 + '@babel/types': 7.26.3 citty: 0.1.6 - consola: 3.2.3 - pathe: 1.1.2 - - untyped@1.4.2: - dependencies: - '@babel/core': 7.25.2 - '@babel/standalone': 7.25.6 - '@babel/types': 7.25.4 defu: 6.1.4 - jiti: 1.21.6 - mri: 1.2.0 + jiti: 2.4.2 + knitwork: 1.2.0 scule: 1.3.0 transitivePeerDependencies: - supports-color @@ -10774,6 +10893,12 @@ snapshots: escalade: 3.2.0 picocolors: 1.1.0 + update-browserslist-db@1.1.1(browserslist@4.24.3): + dependencies: + browserslist: 4.24.3 + escalade: 3.2.0 + picocolors: 1.1.1 + uqr@0.1.2: {} uri-js@4.4.1: @@ -10801,12 +10926,12 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vite-node@2.1.1(@types/node@22.7.4)(less@4.2.0)(terser@5.32.0): + vite-node@2.1.1(@types/node@22.10.2)(less@4.2.1)(terser@5.32.0): dependencies: cac: 6.7.14 debug: 4.3.7 pathe: 1.1.2 - vite: 5.4.11(@types/node@22.7.4)(less@4.2.0)(terser@5.32.0) + vite: 5.4.11(@types/node@22.10.2)(less@4.2.1)(terser@5.32.0) transitivePeerDependencies: - '@types/node' - less @@ -10818,12 +10943,12 @@ snapshots: - supports-color - terser - vite-node@2.1.1(@types/node@22.9.0)(less@4.2.0)(terser@5.32.0): + vite-node@2.1.1(@types/node@22.7.4)(less@4.2.1)(terser@5.32.0): dependencies: cac: 6.7.14 debug: 4.3.7 pathe: 1.1.2 - vite: 5.4.11(@types/node@22.9.0)(less@4.2.0)(terser@5.32.0) + vite: 5.4.11(@types/node@22.7.4)(less@4.2.1)(terser@5.32.0) transitivePeerDependencies: - '@types/node' - less @@ -10835,7 +10960,7 @@ snapshots: - supports-color - terser - vite-plugin-solid@2.10.2(solid-js@1.9.3)(vite@5.4.11(@types/node@22.7.4)(less@4.2.0)(terser@5.32.0)): + vite-plugin-solid@2.11.0(solid-js@1.9.3)(vite@5.4.11(@types/node@22.7.4)(less@4.2.1)(terser@5.32.0)): dependencies: '@babel/core': 7.25.2 '@types/babel__core': 7.20.5 @@ -10843,58 +10968,59 @@ snapshots: merge-anything: 5.1.7 solid-js: 1.9.3 solid-refresh: 0.6.3(solid-js@1.9.3) - vite: 5.4.11(@types/node@22.7.4)(less@4.2.0)(terser@5.32.0) - vitefu: 0.2.5(vite@5.4.11(@types/node@22.7.4)(less@4.2.0)(terser@5.32.0)) + vite: 5.4.11(@types/node@22.7.4)(less@4.2.1)(terser@5.32.0) + vitefu: 1.0.4(vite@5.4.11(@types/node@22.7.4)(less@4.2.1)(terser@5.32.0)) transitivePeerDependencies: - supports-color - vite@5.4.11(@types/node@22.7.4)(less@4.2.0)(terser@5.32.0): + vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(terser@5.32.0): dependencies: esbuild: 0.21.5 - postcss: 8.4.48 - rollup: 4.25.0 + postcss: 8.4.49 + rollup: 4.29.1 optionalDependencies: - '@types/node': 22.7.4 + '@types/node': 22.10.2 fsevents: 2.3.3 - less: 4.2.0 + less: 4.2.1 terser: 5.32.0 - vite@5.4.11(@types/node@22.9.0)(less@4.2.0)(terser@5.32.0): + vite@5.4.11(@types/node@22.7.4)(less@4.2.1)(terser@5.32.0): dependencies: esbuild: 0.21.5 - postcss: 8.4.48 - rollup: 4.25.0 + postcss: 8.4.49 + rollup: 4.29.1 optionalDependencies: - '@types/node': 22.9.0 + '@types/node': 22.7.4 fsevents: 2.3.3 - less: 4.2.0 + less: 4.2.1 terser: 5.32.0 - vitefu@0.2.5(vite@5.4.11(@types/node@22.7.4)(less@4.2.0)(terser@5.32.0)): + vitefu@1.0.4(vite@5.4.11(@types/node@22.7.4)(less@4.2.1)(terser@5.32.0)): optionalDependencies: - vite: 5.4.11(@types/node@22.7.4)(less@4.2.0)(terser@5.32.0) + vite: 5.4.11(@types/node@22.7.4)(less@4.2.1)(terser@5.32.0) - vitepress@1.4.1(@algolia/client-search@5.4.1)(@types/node@22.9.0)(less@4.2.0)(postcss@8.4.48)(search-insights@2.17.2)(terser@5.32.0)(typescript@5.6.2): + vitepress@1.5.0(@algolia/client-search@5.4.1)(@types/node@22.10.2)(less@4.2.1)(postcss@8.4.49)(search-insights@2.17.2)(terser@5.32.0)(typescript@5.6.2): dependencies: '@docsearch/css': 3.6.2 '@docsearch/js': 3.6.2(@algolia/client-search@5.4.1)(search-insights@2.17.2) - '@shikijs/core': 1.22.0 - '@shikijs/transformers': 1.22.0 - '@shikijs/types': 1.22.0 + '@iconify-json/simple-icons': 1.2.17 + '@shikijs/core': 1.24.4 + '@shikijs/transformers': 1.24.4 + '@shikijs/types': 1.24.4 '@types/markdown-it': 14.1.2 - '@vitejs/plugin-vue': 5.1.4(vite@5.4.11(@types/node@22.9.0)(less@4.2.0)(terser@5.32.0))(vue@3.5.12(typescript@5.6.2)) - '@vue/devtools-api': 7.4.6 + '@vitejs/plugin-vue': 5.1.4(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(terser@5.32.0))(vue@3.5.12(typescript@5.6.2)) + '@vue/devtools-api': 7.6.8 '@vue/shared': 3.5.12 '@vueuse/core': 11.1.0(vue@3.5.12(typescript@5.6.2)) '@vueuse/integrations': 11.1.0(focus-trap@7.6.0)(vue@3.5.12(typescript@5.6.2)) focus-trap: 7.6.0 mark.js: 8.11.1 minisearch: 7.1.0 - shiki: 1.22.0 - vite: 5.4.11(@types/node@22.9.0)(less@4.2.0)(terser@5.32.0) + shiki: 1.24.4 + vite: 5.4.11(@types/node@22.10.2)(less@4.2.1)(terser@5.32.0) vue: 3.5.12(typescript@5.6.2) optionalDependencies: - postcss: 8.4.48 + postcss: 8.4.49 transitivePeerDependencies: - '@algolia/client-search' - '@types/node' @@ -10923,10 +11049,10 @@ snapshots: - typescript - universal-cookie - vitest@2.1.1(@types/node@22.7.4)(jsdom@25.0.1)(less@4.2.0)(terser@5.32.0): + vitest@2.1.1(@types/node@22.10.2)(jsdom@25.0.1)(less@4.2.1)(terser@5.32.0): dependencies: '@vitest/expect': 2.1.1 - '@vitest/mocker': 2.1.1(@vitest/spy@2.1.1)(vite@5.4.11(@types/node@22.7.4)(less@4.2.0)(terser@5.32.0)) + '@vitest/mocker': 2.1.1(@vitest/spy@2.1.1)(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(terser@5.32.0)) '@vitest/pretty-format': 2.1.1 '@vitest/runner': 2.1.1 '@vitest/snapshot': 2.1.1 @@ -10941,11 +11067,11 @@ snapshots: tinyexec: 0.3.0 tinypool: 1.0.1 tinyrainbow: 1.2.0 - vite: 5.4.11(@types/node@22.7.4)(less@4.2.0)(terser@5.32.0) - vite-node: 2.1.1(@types/node@22.7.4)(less@4.2.0)(terser@5.32.0) + vite: 5.4.11(@types/node@22.10.2)(less@4.2.1)(terser@5.32.0) + vite-node: 2.1.1(@types/node@22.10.2)(less@4.2.1)(terser@5.32.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.7.4 + '@types/node': 22.10.2 jsdom: 25.0.1 transitivePeerDependencies: - less @@ -10958,10 +11084,10 @@ snapshots: - supports-color - terser - vitest@2.1.1(@types/node@22.9.0)(jsdom@25.0.1)(less@4.2.0)(terser@5.32.0): + vitest@2.1.1(@types/node@22.7.4)(jsdom@25.0.1)(less@4.2.1)(terser@5.32.0): dependencies: '@vitest/expect': 2.1.1 - '@vitest/mocker': 2.1.1(@vitest/spy@2.1.1)(vite@5.4.11(@types/node@22.9.0)(less@4.2.0)(terser@5.32.0)) + '@vitest/mocker': 2.1.1(@vitest/spy@2.1.1)(vite@5.4.11(@types/node@22.7.4)(less@4.2.1)(terser@5.32.0)) '@vitest/pretty-format': 2.1.1 '@vitest/runner': 2.1.1 '@vitest/snapshot': 2.1.1 @@ -10976,11 +11102,11 @@ snapshots: tinyexec: 0.3.0 tinypool: 1.0.1 tinyrainbow: 1.2.0 - vite: 5.4.11(@types/node@22.9.0)(less@4.2.0)(terser@5.32.0) - vite-node: 2.1.1(@types/node@22.9.0)(less@4.2.0)(terser@5.32.0) + vite: 5.4.11(@types/node@22.7.4)(less@4.2.1)(terser@5.32.0) + vite-node: 2.1.1(@types/node@22.7.4)(less@4.2.1)(terser@5.32.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.9.0 + '@types/node': 22.7.4 jsdom: 25.0.1 transitivePeerDependencies: - less @@ -10997,10 +11123,10 @@ snapshots: dependencies: vue: 3.5.12(typescript@5.6.2) - vue-eslint-parser@9.4.3(eslint@9.11.0(jiti@1.21.6)): + vue-eslint-parser@9.4.3(eslint@9.11.0(jiti@2.4.2)): dependencies: debug: 4.3.7 - eslint: 9.11.0(jiti@1.21.6) + eslint: 9.11.0(jiti@2.4.2) eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 @@ -11054,37 +11180,35 @@ snapshots: word-wrap@1.2.5: {} - workerd@1.20241106.1: + workerd@1.20241218.0: optionalDependencies: - '@cloudflare/workerd-darwin-64': 1.20241106.1 - '@cloudflare/workerd-darwin-arm64': 1.20241106.1 - '@cloudflare/workerd-linux-64': 1.20241106.1 - '@cloudflare/workerd-linux-arm64': 1.20241106.1 - '@cloudflare/workerd-windows-64': 1.20241106.1 + '@cloudflare/workerd-darwin-64': 1.20241218.0 + '@cloudflare/workerd-darwin-arm64': 1.20241218.0 + '@cloudflare/workerd-linux-64': 1.20241218.0 + '@cloudflare/workerd-linux-arm64': 1.20241218.0 + '@cloudflare/workerd-windows-64': 1.20241218.0 - wrangler@3.86.0(@cloudflare/workers-types@4.20241018.0): + wrangler@3.99.0(@cloudflare/workers-types@4.20241224.0): dependencies: '@cloudflare/kv-asset-handler': 0.3.4 - '@cloudflare/workers-shared': 0.7.1 '@esbuild-plugins/node-globals-polyfill': 0.2.3(esbuild@0.17.19) '@esbuild-plugins/node-modules-polyfill': 0.2.2(esbuild@0.17.19) blake3-wasm: 2.1.5 - chokidar: 3.6.0 + chokidar: 4.0.3 date-fns: 4.1.0 esbuild: 0.17.19 itty-time: 1.0.6 - miniflare: 3.20241106.0 + miniflare: 3.20241218.0 nanoid: 3.3.7 path-to-regexp: 6.3.0 resolve: 1.22.8 - resolve.exports: 2.0.2 selfsigned: 2.4.1 source-map: 0.6.1 - unenv: unenv-nightly@2.0.0-20241024-111401-d4156ac - workerd: 1.20241106.1 + unenv: unenv-nightly@2.0.0-20241204-140205-a5d5190 + workerd: 1.20241218.0 xxhash-wasm: 1.0.2 optionalDependencies: - '@cloudflare/workers-types': 4.20241018.0 + '@cloudflare/workers-types': 4.20241224.0 fsevents: 2.3.3 transitivePeerDependencies: - bufferutil @@ -11157,11 +11281,11 @@ snapshots: mustache: 4.2.0 stacktracey: 2.1.8 - zod@3.23.8: {} + zod@3.24.1: {} zwitch@2.0.4: {} - zx@8.1.9: + zx@8.3.0: optionalDependencies: '@types/fs-extra': 11.0.4 '@types/node': 22.7.5