=> {
+ const response: globalThis.Response = await fetch(url, config);
+ const data: unknown = await response.json();
+ return {
+ json: () => Promise.resolve(data),
+ ok: response.ok,
+ status: response.status,
+ statusText: response.statusText,
+ text: () => Promise.resolve(typeof data === 'string' ? data : JSON.stringify(data)),
+ } as Response;
+ };
+
+ return baseGetScim2Me({
+ ...requestConfig,
+ fetcher: fetcher || defaultFetcher,
+ });
+};
+
+export default getScim2Me;
diff --git a/packages/sveltekit/src/api/index.ts b/packages/sveltekit/src/api/index.ts
new file mode 100644
index 0000000..ba2fe36
--- /dev/null
+++ b/packages/sveltekit/src/api/index.ts
@@ -0,0 +1,2 @@
+export {default as getSchemas} from './getSchemas';
+export {default as getScim2Me} from './getScim2Me';
diff --git a/packages/sveltekit/src/components/actions/BaseSignInButton.svelte b/packages/sveltekit/src/components/actions/BaseSignInButton.svelte
new file mode 100644
index 0000000..fb4c655
--- /dev/null
+++ b/packages/sveltekit/src/components/actions/BaseSignInButton.svelte
@@ -0,0 +1,46 @@
+
+
+{@render children({loading, handleClick})}
diff --git a/packages/sveltekit/src/components/actions/BaseSignOutButton.svelte b/packages/sveltekit/src/components/actions/BaseSignOutButton.svelte
new file mode 100644
index 0000000..97372b1
--- /dev/null
+++ b/packages/sveltekit/src/components/actions/BaseSignOutButton.svelte
@@ -0,0 +1,45 @@
+
+
+{@render children({loading, handleClick})}
diff --git a/packages/sveltekit/src/components/actions/BaseSignUpButton.svelte b/packages/sveltekit/src/components/actions/BaseSignUpButton.svelte
new file mode 100644
index 0000000..be895d4
--- /dev/null
+++ b/packages/sveltekit/src/components/actions/BaseSignUpButton.svelte
@@ -0,0 +1,46 @@
+
+
+{@render children({loading, handleClick})}
diff --git a/packages/sveltekit/src/components/actions/SignInButton.svelte b/packages/sveltekit/src/components/actions/SignInButton.svelte
new file mode 100644
index 0000000..fd9e139
--- /dev/null
+++ b/packages/sveltekit/src/components/actions/SignInButton.svelte
@@ -0,0 +1,55 @@
+
+
+
diff --git a/packages/sveltekit/src/components/actions/SignOutButton.svelte b/packages/sveltekit/src/components/actions/SignOutButton.svelte
new file mode 100644
index 0000000..eb8c5c2
--- /dev/null
+++ b/packages/sveltekit/src/components/actions/SignOutButton.svelte
@@ -0,0 +1,54 @@
+
+
+
diff --git a/packages/sveltekit/src/components/actions/SignUpButton.svelte b/packages/sveltekit/src/components/actions/SignUpButton.svelte
new file mode 100644
index 0000000..1be2b5c
--- /dev/null
+++ b/packages/sveltekit/src/components/actions/SignUpButton.svelte
@@ -0,0 +1,54 @@
+
+
+
diff --git a/packages/sveltekit/src/components/auth/Callback.svelte b/packages/sveltekit/src/components/auth/Callback.svelte
new file mode 100644
index 0000000..ecd93a5
--- /dev/null
+++ b/packages/sveltekit/src/components/auth/Callback.svelte
@@ -0,0 +1,122 @@
+
+
+{#if status === 'loading'}
+
+ {#if loadingComponent}
+ {@render loadingComponent()}
+ {:else if children}
+ {@render children()}
+ {:else}
+ {tid.t('callback.signingIn')}
+ {/if}
+
+{:else if status === 'error'}
+
+ {#if errorComponent}
+ {@render errorComponent({error: error ?? ''})}
+ {:else}
+ {tid.t('callback.signInFailed', {error: error ?? ''})}
+ {/if}
+
+{:else if status === 'success'}
+
+ {#if children}
+ {@render children()}
+ {:else}
+ {tid.t('callback.signedIn')}
+ {/if}
+
+{/if}
diff --git a/packages/sveltekit/src/components/control/Loading.svelte b/packages/sveltekit/src/components/control/Loading.svelte
new file mode 100644
index 0000000..7a8c1f1
--- /dev/null
+++ b/packages/sveltekit/src/components/control/Loading.svelte
@@ -0,0 +1,36 @@
+
+
+{#if tid.isLoading}
+ {@render children?.()}
+{:else}
+ {@render fallback?.()}
+{/if}
diff --git a/packages/sveltekit/src/components/control/SignedIn.svelte b/packages/sveltekit/src/components/control/SignedIn.svelte
new file mode 100644
index 0000000..e044cd7
--- /dev/null
+++ b/packages/sveltekit/src/components/control/SignedIn.svelte
@@ -0,0 +1,36 @@
+
+
+{#if tid.isSignedIn}
+ {@render children?.()}
+{:else}
+ {@render fallback?.()}
+{/if}
diff --git a/packages/sveltekit/src/components/control/SignedOut.svelte b/packages/sveltekit/src/components/control/SignedOut.svelte
new file mode 100644
index 0000000..df2dda9
--- /dev/null
+++ b/packages/sveltekit/src/components/control/SignedOut.svelte
@@ -0,0 +1,36 @@
+
+
+{#if !tid.isSignedIn}
+ {@render children?.()}
+{:else}
+ {@render fallback?.()}
+{/if}
diff --git a/packages/sveltekit/src/components/presentation/AcceptInvite.svelte b/packages/sveltekit/src/components/presentation/AcceptInvite.svelte
new file mode 100644
index 0000000..9f5952d
--- /dev/null
+++ b/packages/sveltekit/src/components/presentation/AcceptInvite.svelte
@@ -0,0 +1,31 @@
+
+
+
+ {#snippet children({acceptInvite, loading, error})}
+ {#if customChildren}
+ {@render customChildren({acceptInvite, loading, error})}
+ {:else}
+
+
{tid.t('acceptInvite.title')}
+ {#if error}
+
{error}
+ {/if}
+
+
+ {/if}
+ {/snippet}
+
diff --git a/packages/sveltekit/src/components/presentation/BaseAcceptInvite.svelte b/packages/sveltekit/src/components/presentation/BaseAcceptInvite.svelte
new file mode 100644
index 0000000..c0c1a83
--- /dev/null
+++ b/packages/sveltekit/src/components/presentation/BaseAcceptInvite.svelte
@@ -0,0 +1,25 @@
+
+
+{@render children({acceptInvite, loading, error})}
diff --git a/packages/sveltekit/src/components/presentation/BaseInviteUser.svelte b/packages/sveltekit/src/components/presentation/BaseInviteUser.svelte
new file mode 100644
index 0000000..d4bf5de
--- /dev/null
+++ b/packages/sveltekit/src/components/presentation/BaseInviteUser.svelte
@@ -0,0 +1,24 @@
+
+
+{@render children({inviteUser, loading, error})}
diff --git a/packages/sveltekit/src/components/presentation/BaseLanguageSwitcher.svelte b/packages/sveltekit/src/components/presentation/BaseLanguageSwitcher.svelte
new file mode 100644
index 0000000..2a9cfba
--- /dev/null
+++ b/packages/sveltekit/src/components/presentation/BaseLanguageSwitcher.svelte
@@ -0,0 +1,16 @@
+
+
+{@render children({currentLanguage, switchLanguage, languages})}
diff --git a/packages/sveltekit/src/components/presentation/BaseSignIn.svelte b/packages/sveltekit/src/components/presentation/BaseSignIn.svelte
new file mode 100644
index 0000000..7b15524
--- /dev/null
+++ b/packages/sveltekit/src/components/presentation/BaseSignIn.svelte
@@ -0,0 +1,29 @@
+
+
+{@render children({signIn: handleSignIn, loading, error})}
diff --git a/packages/sveltekit/src/components/presentation/BaseSignUp.svelte b/packages/sveltekit/src/components/presentation/BaseSignUp.svelte
new file mode 100644
index 0000000..7abf5de
--- /dev/null
+++ b/packages/sveltekit/src/components/presentation/BaseSignUp.svelte
@@ -0,0 +1,29 @@
+
+
+{@render children({signUp: handleSignUp, loading, error})}
diff --git a/packages/sveltekit/src/components/presentation/BaseUser.svelte b/packages/sveltekit/src/components/presentation/BaseUser.svelte
new file mode 100644
index 0000000..a18bed2
--- /dev/null
+++ b/packages/sveltekit/src/components/presentation/BaseUser.svelte
@@ -0,0 +1,16 @@
+
+
+{@render children({user: userData, isSignedIn: signedIn})}
diff --git a/packages/sveltekit/src/components/presentation/BaseUserDropdown.svelte b/packages/sveltekit/src/components/presentation/BaseUserDropdown.svelte
new file mode 100644
index 0000000..878d5ad
--- /dev/null
+++ b/packages/sveltekit/src/components/presentation/BaseUserDropdown.svelte
@@ -0,0 +1,56 @@
+
+
+{@render children({user: userData, isSignedIn: tid.isSignedIn, open, toggle, close, triggerRef, menuRef, triggerId, menuId, signOut: tid.signOut, handleTriggerKeydown, handleMenuKeydown})}
diff --git a/packages/sveltekit/src/components/presentation/BaseUserProfile.svelte b/packages/sveltekit/src/components/presentation/BaseUserProfile.svelte
new file mode 100644
index 0000000..0ea1cf7
--- /dev/null
+++ b/packages/sveltekit/src/components/presentation/BaseUserProfile.svelte
@@ -0,0 +1,13 @@
+
+
+{@render children({profile: tid.userProfile, user: tid.user})}
diff --git a/packages/sveltekit/src/components/presentation/InviteUser.svelte b/packages/sveltekit/src/components/presentation/InviteUser.svelte
new file mode 100644
index 0000000..0240694
--- /dev/null
+++ b/packages/sveltekit/src/components/presentation/InviteUser.svelte
@@ -0,0 +1,43 @@
+
+
+
+ {#snippet children({inviteUser, loading, error})}
+ {#if customChildren}
+ {@render customChildren({inviteUser, loading, error})}
+ {:else}
+
+
{tid.t('inviteUser.title')}
+ {#if error}
+
{error}
+ {/if}
+
+
+
+ {/if}
+ {/snippet}
+
diff --git a/packages/sveltekit/src/components/presentation/LanguageSwitcher.svelte b/packages/sveltekit/src/components/presentation/LanguageSwitcher.svelte
new file mode 100644
index 0000000..8ebdb23
--- /dev/null
+++ b/packages/sveltekit/src/components/presentation/LanguageSwitcher.svelte
@@ -0,0 +1,27 @@
+
+
+
+ {#snippet children({currentLanguage, switchLanguage, languages})}
+ {#if customChildren}
+ {@render customChildren({currentLanguage, switchLanguage, languages})}
+ {:else}
+
+ {/if}
+ {/snippet}
+
diff --git a/packages/sveltekit/src/components/presentation/SignIn.svelte b/packages/sveltekit/src/components/presentation/SignIn.svelte
new file mode 100644
index 0000000..8c5bcf9
--- /dev/null
+++ b/packages/sveltekit/src/components/presentation/SignIn.svelte
@@ -0,0 +1,59 @@
+
+
+{#if children}
+ {@render children({signIn: handleSignIn, loading})}
+{:else}
+
+
{tid.t('signIn.title')}
+ {#if error}
+
{tid.t('signIn.error', {error: error ?? ''})}
+ {/if}
+
+
+{/if}
diff --git a/packages/sveltekit/src/components/presentation/SignUp.svelte b/packages/sveltekit/src/components/presentation/SignUp.svelte
new file mode 100644
index 0000000..b8df963
--- /dev/null
+++ b/packages/sveltekit/src/components/presentation/SignUp.svelte
@@ -0,0 +1,59 @@
+
+
+{#if children}
+ {@render children({signUp: handleSignUp, loading})}
+{:else}
+
+
{tid.t('signUp.title')}
+ {#if error}
+
{tid.t('signUp.error', {error: error ?? ''})}
+ {/if}
+
+
+{/if}
diff --git a/packages/sveltekit/src/components/presentation/User.svelte b/packages/sveltekit/src/components/presentation/User.svelte
new file mode 100644
index 0000000..cffb361
--- /dev/null
+++ b/packages/sveltekit/src/components/presentation/User.svelte
@@ -0,0 +1,42 @@
+
+
+{#if children}
+ {@render children({user: userData, isSignedIn: signedIn})}
+{:else if signedIn && userData}
+
+ {userData['displayName'] ?? userData['userName'] ?? tid.t('user.displayName')}
+
+{:else}
+ {tid.t('user.notSignedIn')}
+{/if}
diff --git a/packages/sveltekit/src/components/presentation/UserDropdown.svelte b/packages/sveltekit/src/components/presentation/UserDropdown.svelte
new file mode 100644
index 0000000..09b9c6c
--- /dev/null
+++ b/packages/sveltekit/src/components/presentation/UserDropdown.svelte
@@ -0,0 +1,52 @@
+
+
+
+ {#snippet children({user, isSignedIn, open, toggle, close, triggerRef, menuRef, triggerId, menuId, signOut, handleTriggerKeydown, handleMenuKeydown})}
+ {#if customChildren}
+ {@render customChildren({user, isSignedIn, open, toggle, close, triggerRef, menuRef, triggerId, menuId, signOut, handleTriggerKeydown, handleMenuKeydown})}
+ {:else if isSignedIn}
+
+
+ {#if open}
+
+ {/if}
+
+ {/if}
+ {/snippet}
+
diff --git a/packages/sveltekit/src/components/presentation/UserProfile.svelte b/packages/sveltekit/src/components/presentation/UserProfile.svelte
new file mode 100644
index 0000000..00d058d
--- /dev/null
+++ b/packages/sveltekit/src/components/presentation/UserProfile.svelte
@@ -0,0 +1,44 @@
+
+
+{#if children}
+ {@render children({profile: tid.userProfile, user: tid.user})}
+{:else}
+
+ {#if tid.user}
+
{tid.user['displayName'] ?? tid.user['userName'] ?? tid.t('user.displayName')}
+ {#if tid.user['emails']?.length}
+
{tid.user['emails'][0]}
+ {/if}
+ {:else}
+
{tid.t('userProfile.empty')}
+ {/if}
+
+{/if}
diff --git a/packages/sveltekit/src/composables/useThunderID.ts b/packages/sveltekit/src/composables/useThunderID.ts
new file mode 100644
index 0000000..343f956
--- /dev/null
+++ b/packages/sveltekit/src/composables/useThunderID.ts
@@ -0,0 +1,54 @@
+/**
+ * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com).
+ *
+ * WSO2 LLC. licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import {getThunderIDContext} from '../context';
+import type {ThunderIDContext} from '../models/contexts';
+import {authState} from '../state.svelte';
+
+export function useThunderID(): ThunderIDContext {
+ const context = getThunderIDContext();
+
+ return {
+ ...context,
+ get brandingPreference() {
+ return context.brandingPreference;
+ },
+ get isSignedIn() {
+ return authState.isSignedIn;
+ },
+ get isLoading() {
+ return authState.isLoading;
+ },
+ get isInitialized() {
+ return authState.isInitialized;
+ },
+ get user() {
+ return authState.user;
+ },
+ get userProfile() {
+ return authState.userProfile;
+ },
+
+ get resolvedBaseUrl() {
+ return authState.resolvedBaseUrl;
+ },
+ get locale() {
+ return authState.locale;
+ },
+ };
+}
diff --git a/packages/sveltekit/src/composables/useUser.ts b/packages/sveltekit/src/composables/useUser.ts
new file mode 100644
index 0000000..fe168d6
--- /dev/null
+++ b/packages/sveltekit/src/composables/useUser.ts
@@ -0,0 +1,38 @@
+/**
+ * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com).
+ *
+ * WSO2 LLC. licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import {getUserContext} from '../context';
+import type {UserContextValue} from '../models/contexts';
+import {authState} from '../state.svelte';
+
+export function useUser(): UserContextValue {
+ const context = getUserContext();
+
+ return {
+ ...context,
+ get profile() {
+ return authState.userProfile;
+ },
+ get flattenedProfile() {
+ return authState.user;
+ },
+ get schemas() {
+ return authState.userProfile?.schemas ?? null;
+ },
+ };
+}
diff --git a/packages/sveltekit/src/context.ts b/packages/sveltekit/src/context.ts
new file mode 100644
index 0000000..cec8042
--- /dev/null
+++ b/packages/sveltekit/src/context.ts
@@ -0,0 +1,52 @@
+/**
+ * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com).
+ *
+ * WSO2 LLC. licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import {getContext, setContext} from 'svelte';
+import type {ThunderIDContext, UserContextValue} from './models/contexts';
+
+export const THUNDERID_KEY = Symbol('thunderid');
+export const USER_KEY = Symbol('thunderid-user');
+
+export function setThunderIDContext(context: ThunderIDContext): void {
+ setContext(THUNDERID_KEY, context);
+}
+
+export function getThunderIDContext(): ThunderIDContext {
+ const context = getContext(THUNDERID_KEY);
+ if (!context) {
+ throw new Error(
+ '[ThunderID] No ThunderID context found. Ensure you are inside a provider component.',
+ );
+ }
+ return context;
+}
+
+export function setUserContext(context: UserContextValue): void {
+ setContext(USER_KEY, context);
+}
+
+export function getUserContext(): UserContextValue {
+ const context = getContext(USER_KEY);
+ if (!context) {
+ throw new Error(
+ '[ThunderID] useUser() was called outside of . ' +
+ 'Make sure to wrap your app with the ThunderID provider.',
+ );
+ }
+ return context;
+}
diff --git a/packages/sveltekit/src/errors/IAMError.ts b/packages/sveltekit/src/errors/IAMError.ts
new file mode 100644
index 0000000..c30c393
--- /dev/null
+++ b/packages/sveltekit/src/errors/IAMError.ts
@@ -0,0 +1,67 @@
+/**
+ * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com).
+ *
+ * WSO2 LLC. licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+export enum ErrorCode {
+ SDK_NOT_INITIALIZED = 'SDK_NOT_INITIALIZED',
+ ALREADY_INITIALIZED = 'ALREADY_INITIALIZED',
+ INVALID_CONFIGURATION = 'INVALID_CONFIGURATION',
+ INVALID_REDIRECT_URI = 'INVALID_REDIRECT_URI',
+ AUTHENTICATION_FAILED = 'AUTHENTICATION_FAILED',
+ USER_ACCOUNT_LOCKED = 'USER_ACCOUNT_LOCKED',
+ USER_ACCOUNT_DISABLED = 'USER_ACCOUNT_DISABLED',
+ SESSION_EXPIRED = 'SESSION_EXPIRED',
+ MFA_REQUIRED = 'MFA_REQUIRED',
+ MFA_FAILED = 'MFA_FAILED',
+ INVALID_GRANT = 'INVALID_GRANT',
+ CONSENT_REQUIRED = 'CONSENT_REQUIRED',
+ USER_ALREADY_EXISTS = 'USER_ALREADY_EXISTS',
+ INVALID_INPUT = 'INVALID_INPUT',
+ INVITATION_CODE_INVALID = 'INVITATION_CODE_INVALID',
+ INVITATION_CODE_EXPIRED = 'INVITATION_CODE_EXPIRED',
+ REGISTRATION_DISABLED = 'REGISTRATION_DISABLED',
+ RECOVERY_FAILED = 'RECOVERY_FAILED',
+ CONFIRMATION_CODE_INVALID = 'CONFIRMATION_CODE_INVALID',
+ CONFIRMATION_CODE_EXPIRED = 'CONFIRMATION_CODE_EXPIRED',
+ NETWORK_ERROR = 'NETWORK_ERROR',
+ REQUEST_TIMEOUT = 'REQUEST_TIMEOUT',
+ SERVER_ERROR = 'SERVER_ERROR',
+ UNKNOWN_ERROR = 'UNKNOWN_ERROR',
+ NOT_IMPLEMENTED = 'NOT_IMPLEMENTED',
+}
+
+export class IAMError extends Error {
+ public readonly code: ErrorCode;
+ public readonly requestId?: string;
+ public override readonly cause?: Error;
+ public readonly statusCode?: number;
+
+ constructor(opts: {
+ code: ErrorCode;
+ message: string;
+ cause?: Error;
+ requestId?: string;
+ statusCode?: number;
+ }) {
+ super(opts.message);
+ this.name = 'IAMError';
+ this.code = opts.code;
+ this.cause = opts.cause;
+ this.requestId = opts.requestId;
+ this.statusCode = opts.statusCode;
+ }
+}
diff --git a/packages/sveltekit/src/errors/index.ts b/packages/sveltekit/src/errors/index.ts
new file mode 100644
index 0000000..04fb294
--- /dev/null
+++ b/packages/sveltekit/src/errors/index.ts
@@ -0,0 +1,20 @@
+/**
+ * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com).
+ *
+ * WSO2 LLC. licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+export {IAMError, ErrorCode} from './IAMError';
+export type {ErrorCode as ErrorCodeType} from './IAMError';
diff --git a/packages/sveltekit/src/events/EventBus.ts b/packages/sveltekit/src/events/EventBus.ts
new file mode 100644
index 0000000..f77e7ee
--- /dev/null
+++ b/packages/sveltekit/src/events/EventBus.ts
@@ -0,0 +1,72 @@
+/**
+ * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com).
+ *
+ * WSO2 LLC. licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import {getLogger} from '../logger/LoggerAdapter';
+
+export enum SDKEvent {
+ SIGN_IN = 'signIn',
+ SIGN_IN_FAILED = 'signInFailed',
+ SIGN_OUT = 'signOut',
+ SIGN_UP = 'signUp',
+ SESSION_EXPIRED = 'sessionExpired',
+ TOKEN_REFRESHED = 'tokenRefreshed',
+ TOKEN_REFRESH_FAILED = 'tokenRefreshFailed',
+ MFA_STEP_REQUIRED = 'mfaStepRequired',
+
+ INITIALIZED = 'initialized',
+ ERROR = 'error',
+}
+
+export type SDKEventListener = (data?: unknown) => void;
+
+type EventHandlers = Map>;
+
+let _handlers: EventHandlers = new Map();
+
+export function on(event: SDKEvent | string, listener: SDKEventListener): void {
+ const key: string = typeof event === 'string' ? event : event;
+ if (!_handlers.has(key)) {
+ _handlers.set(key, new Set());
+ }
+ _handlers.get(key)!.add(listener);
+}
+
+export function off(event: SDKEvent | string, listener: SDKEventListener): void {
+ const key: string = typeof event === 'string' ? event : event;
+ _handlers.get(key)?.delete(listener);
+}
+
+export function emit(event: SDKEvent | string, data?: unknown): void {
+ const key: string = typeof event === 'string' ? event : event;
+ const logger = getLogger();
+ _handlers.get(key)?.forEach((listener: SDKEventListener) => {
+ try {
+ listener(data);
+ } catch (error: unknown) {
+ logger.warn(`[EventBus] Listener error for event "${key}": ${(error as any)?.message ?? String(error)}`);
+ }
+ });
+}
+
+export function clearListeners(event?: SDKEvent | string): void {
+ if (event) {
+ _handlers.delete(typeof event === 'string' ? event : event);
+ } else {
+ _handlers.clear();
+ }
+}
diff --git a/packages/sveltekit/src/events/index.ts b/packages/sveltekit/src/events/index.ts
new file mode 100644
index 0000000..05e30a2
--- /dev/null
+++ b/packages/sveltekit/src/events/index.ts
@@ -0,0 +1,20 @@
+/**
+ * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com).
+ *
+ * WSO2 LLC. licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+export {SDKEvent, on, off, emit, clearListeners} from './EventBus';
+export type {SDKEventListener} from './EventBus';
diff --git a/packages/sveltekit/src/i18n/index.ts b/packages/sveltekit/src/i18n/index.ts
new file mode 100644
index 0000000..c67b9ea
--- /dev/null
+++ b/packages/sveltekit/src/i18n/index.ts
@@ -0,0 +1,2 @@
+export {createTranslator, DEFAULT_BUNDLES} from './translations';
+export type {TranslationBundle, TranslationBundles} from './translations';
diff --git a/packages/sveltekit/src/i18n/translations.ts b/packages/sveltekit/src/i18n/translations.ts
new file mode 100644
index 0000000..7e58c0a
--- /dev/null
+++ b/packages/sveltekit/src/i18n/translations.ts
@@ -0,0 +1,76 @@
+/**
+ * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com).
+ *
+ * WSO2 LLC. licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import type {I18nPreferences} from '../models/config';
+
+export type TranslationBundle = Record;
+
+export interface TranslationBundles {
+ [locale: string]: TranslationBundle;
+}
+
+export const DEFAULT_BUNDLES: TranslationBundles = {
+ en: {
+ 'signIn.button': 'Sign In',
+ 'signIn.loading': 'Signing in...',
+ 'signIn.title': 'Sign In',
+ 'signIn.error': 'Sign in failed: {{error}}',
+ 'signOut.button': 'Sign Out',
+ 'signOut.loading': 'Signing out...',
+ 'signUp.button': 'Sign Up',
+ 'signUp.loading': 'Redirecting...',
+ 'signUp.title': 'Create Account',
+ 'signUp.error': 'Sign up failed: {{error}}',
+ 'user.notSignedIn': 'Not signed in',
+ 'user.displayName': 'User',
+ 'userProfile.empty': 'No user profile available.',
+ 'callback.signingIn': 'Signing you in...',
+ 'callback.signedIn': 'Signed in successfully! Redirecting...',
+ 'callback.signInFailed': 'Sign-in failed: {{error}}',
+ 'callback.noCode': 'No authorization code received.',
+ 'acceptInvite.title': 'Accept Invitation',
+ 'acceptInvite.button': 'Accept Invitation',
+ 'acceptInvite.loading': 'Accepting...',
+ 'inviteUser.title': 'Invite User',
+ 'inviteUser.button': 'Send Invitation',
+ 'inviteUser.loading': 'Sending...',
+ 'inviteUser.emailPlaceholder': 'email@example.com',
+ 'userDropdown.signOut': 'Sign Out',
+ },
+};
+
+export function createTranslator(preferences?: I18nPreferences): (key: string, params?: Record) => string {
+ const lang = preferences?.language ?? 'en';
+ const fallback = preferences?.fallbackLanguage ?? 'en';
+ const userBundles = preferences?.bundles ?? {};
+ const mergedBundles: TranslationBundles = {};
+
+ for (const locale of new Set([...Object.keys(DEFAULT_BUNDLES), ...Object.keys(userBundles)])) {
+ mergedBundles[locale] = {...DEFAULT_BUNDLES[locale], ...userBundles[locale]};
+ }
+
+ return (key: string, params?: Record): string => {
+ let text = mergedBundles[lang]?.[key] ?? mergedBundles[fallback]?.[key] ?? key;
+ if (params) {
+ for (const [k, v] of Object.entries(params)) {
+ text = text.replace(`{{${k}}}`, String(v));
+ }
+ }
+ return text;
+ };
+}
diff --git a/packages/sveltekit/src/index.ts b/packages/sveltekit/src/index.ts
new file mode 100644
index 0000000..5bb06eb
--- /dev/null
+++ b/packages/sveltekit/src/index.ts
@@ -0,0 +1,114 @@
+/**
+ * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com).
+ *
+ * WSO2 LLC. licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+// โโ Components โโ
+export {default as ThunderID} from './ThunderID.svelte';
+export {default as SignedIn} from './components/control/SignedIn.svelte';
+export {default as SignedOut} from './components/control/SignedOut.svelte';
+export {default as Loading} from './components/control/Loading.svelte';
+export {default as SignInButton} from './components/actions/SignInButton.svelte';
+export {default as SignOutButton} from './components/actions/SignOutButton.svelte';
+export {default as SignUpButton} from './components/actions/SignUpButton.svelte';
+export {default as Callback} from './components/auth/Callback.svelte';
+export {default as BaseSignInButton} from './components/actions/BaseSignInButton.svelte';
+export {default as BaseSignOutButton} from './components/actions/BaseSignOutButton.svelte';
+export {default as BaseSignUpButton} from './components/actions/BaseSignUpButton.svelte';
+
+// โโ Presentation Components โโ
+export {default as UserProfile} from './components/presentation/UserProfile.svelte';
+export {default as BaseUserProfile} from './components/presentation/BaseUserProfile.svelte';
+export {default as User} from './components/presentation/User.svelte';
+export {default as BaseUser} from './components/presentation/BaseUser.svelte';
+export {default as SignIn} from './components/presentation/SignIn.svelte';
+export {default as BaseSignIn} from './components/presentation/BaseSignIn.svelte';
+export {default as SignUp} from './components/presentation/SignUp.svelte';
+export {default as BaseSignUp} from './components/presentation/BaseSignUp.svelte';
+export {default as AcceptInvite} from './components/presentation/AcceptInvite.svelte';
+export {default as BaseAcceptInvite} from './components/presentation/BaseAcceptInvite.svelte';
+export {default as InviteUser} from './components/presentation/InviteUser.svelte';
+export {default as BaseInviteUser} from './components/presentation/BaseInviteUser.svelte';
+export {default as UserDropdown} from './components/presentation/UserDropdown.svelte';
+export {default as BaseUserDropdown} from './components/presentation/BaseUserDropdown.svelte';
+export {default as LanguageSwitcher} from './components/presentation/LanguageSwitcher.svelte';
+export {default as BaseLanguageSwitcher} from './components/presentation/BaseLanguageSwitcher.svelte';
+
+// โโ Client โโ
+export {default as ThunderIDSvelteClient} from './ThunderIDSvelteClient';
+
+// โโ Context โโ
+export {THUNDERID_KEY, USER_KEY, setThunderIDContext, setUserContext} from './context';
+
+// โโ Composables โโ
+export {useThunderID} from './composables/useThunderID';
+export {useUser} from './composables/useUser';
+
+// โโ State โโ
+export {authState} from './state.svelte';
+
+// โโ Models / Types โโ
+export type {ThunderIDSvelteKitConfig, ThunderIDSveltePreferences, ThemePreferences, I18nPreferences} from './models/config';
+export type {ThunderIDSSRData, ThunderIDSessionPayload} from './models/session';
+export type {BrandingPreference} from '@thunderid/browser';
+export type {ThunderIDContext, UserContextValue, NavigateFn} from './models/contexts';
+
+// โโ Errors โโ
+export {IAMError, ErrorCode} from './errors/IAMError';
+
+// โโ Logger โโ
+export {DefaultLogger, setLogger, getLogger} from './logger/LoggerAdapter';
+export type {LoggerAdapter} from './logger/LoggerAdapter';
+export {sanitizeForLog, sanitizeTokenForLog} from './logger/sanitizer';
+
+// โโ Adapters โโ
+export type {StorageAdapter} from './adapters/StorageAdapter';
+export {DefaultStorage} from './adapters/StorageAdapter';
+export type {HTTPAdapter, HTTPResponse} from './adapters/HTTPAdapter';
+export {DefaultHTTPAdapter} from './adapters/HTTPAdapter';
+
+// โโ Events โโ
+export {SDKEvent, on, off, emit, clearListeners} from './events/EventBus';
+export type {SDKEventListener} from './events/EventBus';
+
+// โโ Validation โโ
+export {verifyIdToken, validateIdTokenClaims, clearJWKSCache} from './validation/IdTokenValidator';
+export type {IdTokenValidationResult} from './validation/IdTokenValidator';
+
+// โโ i18n โโ
+export {createTranslator, DEFAULT_BUNDLES} from './i18n/translations';
+export type {TranslationBundle, TranslationBundles} from './i18n/translations';
+
+// โโ Server โโ
+export {createThunderIDHandle, loadThunderID} from './server/hooks';
+export {resolveConfig} from './server/config';
+export {requireServerSession, isGuardRedirect, GuardRedirect} from './server/guard';
+export {getClient, resetClient} from './server/getClient';
+export {getValidAccessToken, maybeRefreshToken} from './server/refresh';
+export {createSignInHandler} from './server/routes/signin';
+export {createCallbackHandler} from './server/routes/callback';
+export {createSignOutHandler} from './server/routes/signout';
+export {
+ createSessionToken,
+ createTempSessionToken,
+ verifySessionToken,
+ verifyTempSessionToken,
+ getSessionCookieName,
+ getTempSessionCookieName,
+ getSessionCookieOptions,
+ getTempSessionCookieOptions,
+ issueSessionCookie,
+} from './server/session';
diff --git a/packages/sveltekit/src/logger/LoggerAdapter.ts b/packages/sveltekit/src/logger/LoggerAdapter.ts
new file mode 100644
index 0000000..43b979e
--- /dev/null
+++ b/packages/sveltekit/src/logger/LoggerAdapter.ts
@@ -0,0 +1,75 @@
+/**
+ * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com).
+ *
+ * WSO2 LLC. licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import {sanitizeForLog} from './sanitizer';
+
+/* eslint-disable no-console -- DefaultLogger intentionally wraps console as the default log transport */
+
+export interface LoggerAdapter {
+ debug(message: string, context?: Record): void;
+ info(message: string, context?: Record): void;
+ warn(message: string, context?: Record): void;
+ error(message: string, error?: Error, context?: Record): void;
+}
+
+export class DefaultLogger implements LoggerAdapter {
+ private prefix: string;
+
+ constructor(prefix = '[thunderid]') {
+ this.prefix = prefix;
+ }
+
+ debug(message: string, context?: Record): void {
+ console.debug(this.prefix, sanitizeForLog(message), this.sanitizeContext(context));
+ }
+
+ info(message: string, context?: Record): void {
+ console.info(this.prefix, sanitizeForLog(message), this.sanitizeContext(context));
+ }
+
+ warn(message: string, context?: Record): void {
+ console.warn(this.prefix, sanitizeForLog(message), this.sanitizeContext(context));
+ }
+
+ error(message: string, error?: Error, context?: Record): void {
+ console.error(this.prefix, sanitizeForLog(message), error ?? '', this.sanitizeContext(context));
+ }
+
+ private sanitizeContext(context?: Record): Record | undefined {
+ if (!context) return undefined;
+ const sanitized: Record = {};
+ for (const [key, value] of Object.entries(context)) {
+ if (typeof value === 'string') {
+ sanitized[key] = sanitizeForLog(value);
+ } else {
+ sanitized[key] = value;
+ }
+ }
+ return sanitized;
+ }
+}
+
+let _logger: LoggerAdapter = new DefaultLogger();
+
+export function setLogger(logger: LoggerAdapter): void {
+ _logger = logger;
+}
+
+export function getLogger(): LoggerAdapter {
+ return _logger;
+}
diff --git a/packages/sveltekit/src/logger/index.ts b/packages/sveltekit/src/logger/index.ts
new file mode 100644
index 0000000..39ff4f6
--- /dev/null
+++ b/packages/sveltekit/src/logger/index.ts
@@ -0,0 +1,21 @@
+/**
+ * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com).
+ *
+ * WSO2 LLC. licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+export {DefaultLogger, setLogger, getLogger} from './LoggerAdapter';
+export type {LoggerAdapter} from './LoggerAdapter';
+export {sanitizeForLog, sanitizeTokenForLog} from './sanitizer';
diff --git a/packages/sveltekit/src/logger/sanitizer.ts b/packages/sveltekit/src/logger/sanitizer.ts
new file mode 100644
index 0000000..b308b4c
--- /dev/null
+++ b/packages/sveltekit/src/logger/sanitizer.ts
@@ -0,0 +1,62 @@
+/**
+ * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com).
+ *
+ * WSO2 LLC. licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+const TOKEN_PATTERN = /^[A-Za-z0-9\-_.]+\.[A-Za-z0-9\-_.]+\.[A-Za-z0-9\-_.]+$/;
+const EMAIL_PATTERN = /([a-zA-Z0-9._%+-]+)@([a-zA-Z0-9.-]+\.[a-zA-Z]{2,})/g;
+const PHONE_PATTERN = /(\+?\d[\d\s\-().]{6,}\d)/g;
+const SENSITIVE_JSON_FIELD_PATTERN = /"(password|newPassword|currentPassword|secret|otp|pin|verificationCode|mfaToken)"\s*:\s*"[^"]+"/gi;
+const SENSITIVE_PARAM_PATTERN = /(password|secret|otp|pin|code)=[^&\s]+/gi;
+
+export function sanitizeForLog(input: string): string {
+ let result: string = input;
+
+ result = result.replace(EMAIL_PATTERN, (_match: string, local: string, domain: string) => {
+ const maskedLocal: string = local.length > 1 ? local[0] + '*'.repeat(local.length - 1) : local[0];
+ const domainParts: string[] = domain.split('.');
+ const maskedDomain: string = domainParts.map((part: string, i: number) =>
+ i === domainParts.length - 1 ? part : '*'.repeat(part.length),
+ ).join('.');
+ return `${maskedLocal}@${maskedDomain}`;
+ });
+
+ result = result.replace(PHONE_PATTERN, (match: string) => {
+ const digits: string = match.replace(/\D/g, '');
+ if (digits.length <= 4) return match;
+ const last4: string = digits.slice(-4);
+ const prefix: string = digits.length > 4 ? digits[0] : '';
+ return prefix + '*'.repeat(digits.length - 4 - (prefix ? 1 : 0)) + last4;
+ });
+
+ result = result.replace(SENSITIVE_JSON_FIELD_PATTERN, (_match: string, key: string) => {
+ return `"${key}":"***"`;
+ });
+
+ result = result.replace(SENSITIVE_PARAM_PATTERN, (match: string, key: string) => {
+ return `${key}=***`;
+ });
+
+ return result;
+}
+
+export function sanitizeTokenForLog(token: string): string {
+ if (TOKEN_PATTERN.test(token)) {
+ const parts: string[] = token.split('.');
+ return `${parts[0]}.${parts[1].substring(0, 8)}...`;
+ }
+ return '';
+}
diff --git a/packages/sveltekit/src/models/config.ts b/packages/sveltekit/src/models/config.ts
new file mode 100644
index 0000000..d6d9d80
--- /dev/null
+++ b/packages/sveltekit/src/models/config.ts
@@ -0,0 +1,111 @@
+/**
+ * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com).
+ *
+ * WSO2 LLC. licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import type {OAuthResponseMode} from '@thunderid/browser';
+import type {SessionCookieConfig} from '@thunderid/node';
+import type {HTTPAdapter} from '../adapters/HTTPAdapter';
+export interface ThemePreferences {
+ mode?: string;
+ direction?: 'ltr' | 'rtl';
+ inheritFromBranding?: boolean;
+ overrides?: Record;
+}
+
+export interface I18nPreferences {
+ language?: string;
+ fallbackLanguage?: string;
+ bundles?: Record;
+ storageStrategy?: 'cookie' | 'localStorage' | 'none';
+ storageKey?: string;
+ cookieDomain?: string;
+ urlParam?: string | false;
+}
+
+export interface ThunderIDSveltePreferences {
+ theme?: ThemePreferences;
+ i18n?: I18nPreferences;
+ resolveFromMeta?: boolean;
+ user?: {
+ fetchUserProfile?: boolean;
+ };
+}
+
+export interface ThunderIDSvelteKitConfig {
+ afterSignInUrl?: string;
+ afterSignOutUrl?: string;
+ allowedExternalUrls?: string[];
+ applicationId?: string;
+ organizationHandle?: string;
+ baseUrl?: string;
+ clientId?: string;
+ clientSecret?: string;
+ discovery?: {
+ wellKnown?: {
+ enabled?: boolean;
+ };
+ };
+ endpoints?: {
+ authorization?: string;
+ endSession?: string;
+ introspection?: string;
+ jwks?: string;
+ token?: string;
+ userInfo?: string;
+ wellKnown?: string;
+ };
+ instanceId?: number;
+ mode?: 'redirect' | 'embedded';
+
+ platform?: string;
+ preferences?: ThunderIDSveltePreferences;
+ prompt?: string;
+ responseMode?: OAuthResponseMode;
+ scopes?: string | string[];
+ sendCookiesInRequests?: boolean;
+ sendIdTokenInLogoutRequest?: boolean;
+ sessionCookie?: SessionCookieConfig;
+ sessionSecret?: string;
+ signInOptions?: Record;
+ signInUrl?: string;
+ signOutOptions?: Record;
+ signUpOptions?: Record;
+ signUpUrl?: string;
+ forgotPasswordUrl?: string;
+ forgotUsernameUrl?: string;
+ changePasswordUrl?: string;
+ /** Custom storage backend. Pass a StorageAdapter implementation. */
+ storage?: unknown;
+ httpAdapter?: HTTPAdapter;
+ syncSession?: boolean;
+ tokenLifecycle?: {
+ refreshToken?: {
+ autoRefresh?: boolean;
+ };
+ };
+ tokenRequest?: {
+ authMethod?: 'client_secret_basic' | 'client_secret_post' | 'private_key_jwt' | 'none';
+ params?: Record;
+ };
+ tokenValidation?: {
+ idToken?: {
+ clockTolerance?: number;
+ validate?: boolean;
+ validateIssuer?: boolean;
+ };
+ };
+}
diff --git a/packages/sveltekit/src/models/contexts.ts b/packages/sveltekit/src/models/contexts.ts
new file mode 100644
index 0000000..f4e98ab
--- /dev/null
+++ b/packages/sveltekit/src/models/contexts.ts
@@ -0,0 +1,91 @@
+/**
+ * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com).
+ *
+ * WSO2 LLC. licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import type {
+ BrandingPreference,
+ GetBrandingPreferenceConfig,
+ IdToken,
+ SPATokenExchangeConfig,
+ TokenResponse,
+ User,
+ UserProfile,
+} from '@thunderid/browser';
+import type {IdTokenValidationResult} from '../validation/IdTokenValidator';
+import type {ThunderIDSvelteKitConfig} from './config';
+
+export type NavigateFn = (url: string) => void;
+export type TranslateFn = (key: string, params?: Record) => string;
+
+export interface ThunderIDContext {
+ afterSignInUrl?: string;
+ afterSignOutUrl?: string;
+ applicationId?: string;
+ baseUrl?: string;
+ brandingPreference: BrandingPreference | null;
+ clientId?: string;
+ isInitialized: boolean;
+ isLoading: boolean;
+ isSignedIn: boolean;
+
+ resolvedBaseUrl: string;
+ scopes?: string | string[];
+ signInUrl?: string;
+ signUpUrl?: string;
+ user: User | null;
+ userProfile: UserProfile | null;
+ locale: string;
+
+ t: TranslateFn;
+
+ signIn: (options?: Record) => Promise;
+ signOut: (options?: Record) => Promise;
+ signUp: (options?: Record) => Promise;
+
+ getAccessToken: (sessionId?: string) => Promise;
+ getIdToken: (sessionId?: string) => Promise;
+ getDecodedIdToken: (sessionId?: string, idToken?: string) => Promise;
+
+ getUser: (sessionId?: string) => Promise;
+ getUserProfile: (sessionId?: string) => Promise;
+ updateUserProfile: (payload: Record, userId?: string) => Promise;
+ getUserInfo: (sessionId?: string) => Promise;
+ verifyIdToken: (
+ idToken: string,
+ options?: {
+ clientId?: string;
+ issuer?: string;
+ clockTolerance?: number;
+ validateIssuer?: boolean;
+ nonce?: string;
+ },
+ ) => Promise;
+ getBrandingPreference: (config: GetBrandingPreferenceConfig) => Promise;
+ revokeAccessToken: (userId?: string) => Promise;
+
+ exchangeToken: (config: SPATokenExchangeConfig) => Promise;
+ signInSilently: (options?: Record) => Promise;
+ reInitialize: (config: Partial) => Promise;
+ reset: () => Promise;
+ getConfiguration: () => ThunderIDSvelteKitConfig;
+}
+
+export interface UserContextValue {
+ flattenedProfile: User | null;
+ profile: UserProfile | null;
+ schemas: any[] | null;
+}
diff --git a/packages/sveltekit/src/models/session.ts b/packages/sveltekit/src/models/session.ts
new file mode 100644
index 0000000..770c4e8
--- /dev/null
+++ b/packages/sveltekit/src/models/session.ts
@@ -0,0 +1,49 @@
+/**
+ * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com).
+ *
+ * WSO2 LLC. licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import type {BrandingPreference, User, UserProfile} from '@thunderid/browser';
+import type {JWTPayload} from 'jose';
+
+/**
+ * Payload stored in the session JWT cookie.
+ */
+export interface ThunderIDSessionPayload extends JWTPayload {
+ accessToken: string;
+ accessTokenExpiresAt?: number;
+ exp: number;
+ iat: number;
+ idToken?: string;
+
+ refreshToken?: string;
+ scopes: string;
+ sessionId: string;
+ sub: string;
+}
+
+/**
+ * Full SSR payload resolved by the handle hook on each page request.
+ * Written to `event.locals.thunderid` and returned from `+layout.server.ts`.
+ */
+export interface ThunderIDSSRData {
+ brandingPreference: BrandingPreference | null;
+ isSignedIn: boolean;
+ resolvedBaseUrl: string | null;
+ session: ThunderIDSessionPayload | null;
+ user: User | null;
+ userProfile: UserProfile | null;
+}
diff --git a/packages/sveltekit/src/server/__tests__/guard.test.ts b/packages/sveltekit/src/server/__tests__/guard.test.ts
new file mode 100644
index 0000000..fd79673
--- /dev/null
+++ b/packages/sveltekit/src/server/__tests__/guard.test.ts
@@ -0,0 +1,139 @@
+import type {RequestEvent} from '@sveltejs/kit';
+import {describe, it, expect} from 'vitest';
+import type {ThunderIDSSRData} from '../../models/session';
+
+const {requireServerSession, GuardRedirect, isGuardRedirect} = await import('../guard');
+
+function createMockEvent(ssrData: ThunderIDSSRData | undefined, path = '/'): RequestEvent {
+ return {
+ locals: {thunderid: ssrData},
+ url: {pathname: path, search: ''},
+ } as unknown as RequestEvent;
+}
+
+describe('requireServerSession', () => {
+ it('should return SSR data when signed in', () => {
+ const ssrData: ThunderIDSSRData = {
+ brandingPreference: null,
+ isSignedIn: true,
+ resolvedBaseUrl: null,
+ session: null,
+ user: {id: 'u1'} as any,
+ userProfile: null,
+ };
+
+ const result = requireServerSession(createMockEvent(ssrData));
+ expect(result).toBe(ssrData);
+ });
+
+ it('should throw GuardRedirect when not signed in', () => {
+ const ssrData: ThunderIDSSRData = {
+ brandingPreference: null,
+ isSignedIn: false,
+ resolvedBaseUrl: null,
+ session: null,
+ user: null,
+ userProfile: null,
+ };
+
+ expect(() => requireServerSession(createMockEvent(ssrData))).toThrow(GuardRedirect);
+ });
+
+ it('should append returnTo with custom redirectTo path', () => {
+ const ssrData: ThunderIDSSRData = {
+ brandingPreference: null,
+ isSignedIn: false,
+ resolvedBaseUrl: null,
+ session: null,
+ user: null,
+ userProfile: null,
+ };
+
+ let err: unknown;
+ try {
+ requireServerSession(createMockEvent(ssrData, '/protected'), '/custom/signin');
+ } catch (e) {
+ err = e;
+ }
+ expect(isGuardRedirect(err)).toBe(true);
+ if (isGuardRedirect(err)) {
+ expect(err.location).toBe('/custom/signin?returnTo=%2Fprotected');
+ expect(err.status).toBe(307);
+ }
+ });
+
+ it('should append returnTo with default sign-in path', () => {
+ const ssrData: ThunderIDSSRData = {
+ brandingPreference: null,
+ isSignedIn: false,
+ resolvedBaseUrl: null,
+ session: null,
+ user: null,
+ userProfile: null,
+ };
+
+ let err: unknown;
+ try {
+ requireServerSession(createMockEvent(ssrData, '/dashboard'));
+ } catch (e) {
+ err = e;
+ }
+ expect(isGuardRedirect(err)).toBe(true);
+ if (isGuardRedirect(err)) {
+ expect(err.location).toBe('/api/auth/signin?returnTo=%2Fdashboard');
+ expect(err.status).toBe(307);
+ }
+ });
+
+ it('should include query string in returnTo', () => {
+ const ssrData: ThunderIDSSRData = {
+ brandingPreference: null,
+ isSignedIn: false,
+ resolvedBaseUrl: null,
+ session: null,
+ user: null,
+ userProfile: null,
+ };
+
+ const event = {
+ locals: {thunderid: ssrData},
+ url: {pathname: '/search', search: '?q=test'},
+ } as unknown as RequestEvent;
+
+ let err: unknown;
+ try {
+ requireServerSession(event);
+ } catch (e) {
+ err = e;
+ }
+ expect(isGuardRedirect(err)).toBe(true);
+ if (isGuardRedirect(err)) {
+ expect(err.location).toBe('/api/auth/signin?returnTo=%2Fsearch%3Fq%3Dtest');
+ expect(err.status).toBe(307);
+ }
+ });
+
+ it('should throw GuardRedirect when not signed in (custom path)', () => {
+ const ssrData: ThunderIDSSRData = {
+ brandingPreference: null,
+ isSignedIn: false,
+ resolvedBaseUrl: null,
+ session: null,
+ user: null,
+ userProfile: null,
+ };
+
+ let err: unknown;
+ try {
+ requireServerSession(createMockEvent(ssrData), '/custom/signin');
+ } catch (e) {
+ err = e;
+ }
+ expect(isGuardRedirect(err)).toBe(true);
+ });
+
+ it('should throw IAMError when SSR data is undefined', () => {
+ const event = {locals: {}} as RequestEvent;
+ expect(() => requireServerSession(event)).toThrow('ThunderID SSR data not found');
+ });
+});
diff --git a/packages/sveltekit/src/server/__tests__/session.test.ts b/packages/sveltekit/src/server/__tests__/session.test.ts
new file mode 100644
index 0000000..2ce2f37
--- /dev/null
+++ b/packages/sveltekit/src/server/__tests__/session.test.ts
@@ -0,0 +1,139 @@
+import {describe, it, expect, beforeAll} from 'vitest';
+import {
+ createSessionToken,
+ createTempSessionToken,
+ verifySessionToken,
+ verifyTempSessionToken,
+ getSessionCookieName,
+ getTempSessionCookieName,
+ getSessionCookieOptions,
+ getTempSessionCookieOptions,
+} from '../session';
+
+const TEST_SECRET = 'test-session-secret-at-least-32-chars!!';
+
+describe('Session token utilities', () => {
+ beforeAll(() => {
+ process.env['THUNDERID_SESSION_SECRET'] = TEST_SECRET;
+ });
+
+ describe('createSessionToken / verifySessionToken', () => {
+ it('should create and verify a session token', async () => {
+ const token = await createSessionToken({
+ accessToken: 'at-123',
+ accessTokenExpiresAt: Math.floor(Date.now() / 1000) + 3600,
+ scopes: 'openid profile',
+ sessionId: 'sess-001',
+ userId: 'user-001',
+ });
+
+ const payload = await verifySessionToken(token);
+ expect(payload.accessToken).toBe('at-123');
+ expect(payload.scopes).toBe('openid profile');
+ expect(payload.sessionId).toBe('sess-001');
+ expect(payload.sub).toBe('user-001');
+ expect(payload['type']).toBe('session');
+ });
+
+ it('should include idToken and refreshToken when provided', async () => {
+ const token = await createSessionToken({
+ accessToken: 'at-456',
+ idToken: 'id-token-value',
+ refreshToken: 'rt-789',
+ scopes: 'openid',
+ sessionId: 'sess-002',
+ userId: 'user-002',
+ });
+
+ const payload = await verifySessionToken(token);
+ expect(payload.idToken).toBe('id-token-value');
+ expect(payload.refreshToken).toBe('rt-789');
+ });
+
+ it('should respect custom expirySeconds', async () => {
+ const token = await createSessionToken({
+ accessToken: 'at',
+ expirySeconds: 60,
+ scopes: 'openid',
+ sessionId: 'sess-003',
+ userId: 'user-003',
+ });
+
+ const payload = await verifySessionToken(token);
+ const ttl = payload.exp - payload.iat;
+ expect(ttl).toBeLessThanOrEqual(65);
+ expect(ttl).toBeGreaterThanOrEqual(55);
+ });
+
+ it('should reject a token signed with a different secret', async () => {
+ const token = await createSessionToken(
+ {
+ accessToken: 'at',
+ scopes: 'openid',
+ sessionId: 'sess-004',
+ userId: 'user-004',
+ },
+ 'different-secret-that-is-long-enough-for-test',
+ );
+
+ await expect(verifySessionToken(token)).rejects.toThrow();
+ });
+ });
+
+ describe('createTempSessionToken / verifyTempSessionToken', () => {
+ it('should create and verify a temp session token', async () => {
+ const token = await createTempSessionToken('sess-temp-001');
+ const payload = await verifyTempSessionToken(token);
+ expect(payload.sessionId).toBe('sess-temp-001');
+ expect(payload.returnTo).toBeUndefined();
+ });
+
+ it('should store returnTo when provided', async () => {
+ const token = await createTempSessionToken('sess-temp-002', undefined, '/dashboard');
+ const payload = await verifyTempSessionToken(token);
+ expect(payload.sessionId).toBe('sess-temp-002');
+ expect(payload.returnTo).toBe('/dashboard');
+ });
+
+ it('should store and return nonce when provided', async () => {
+ const nonce: string = crypto.randomUUID();
+ const token = await createTempSessionToken('sess-temp-003', undefined, undefined, nonce);
+ const payload = await verifyTempSessionToken(token);
+ expect(payload.sessionId).toBe('sess-temp-003');
+ expect(payload.nonce).toBe(nonce);
+ });
+
+ it('should omit nonce from payload when not provided', async () => {
+ const token = await createTempSessionToken('sess-temp-004');
+ const payload = await verifyTempSessionToken(token);
+ expect(payload.nonce).toBeUndefined();
+ });
+
+ it('should reject an expired temp token', async () => {
+ const token = await createTempSessionToken('sess-temp-005');
+ const payload = await verifyTempSessionToken(token);
+ expect(payload.sessionId).toBe('sess-temp-005');
+ });
+ });
+
+ describe('Cookie helpers', () => {
+ it('should return consistent cookie names', () => {
+ expect(getSessionCookieName()).toBe('__thunderid__session');
+ expect(getTempSessionCookieName()).toBe('__thunderid__temp.session');
+ });
+
+ it('should return session cookie options', () => {
+ const opts = getSessionCookieOptions();
+ expect(opts.httpOnly).toBe(true);
+ expect(opts.sameSite).toBe('lax');
+ expect(opts.path).toBe('/');
+ expect(opts.maxAge).toBeGreaterThan(0);
+ });
+
+ it('should return temp session cookie options with 15m maxAge', () => {
+ const opts = getTempSessionCookieOptions();
+ expect(opts.httpOnly).toBe(true);
+ expect(opts.maxAge).toBe(15 * 60);
+ });
+ });
+});
diff --git a/packages/sveltekit/src/server/app.d.ts b/packages/sveltekit/src/server/app.d.ts
new file mode 100644
index 0000000..00e4cb2
--- /dev/null
+++ b/packages/sveltekit/src/server/app.d.ts
@@ -0,0 +1,9 @@
+import type {ThunderIDSSRData} from '../models/session';
+
+declare global {
+ namespace App {
+ interface Locals {
+ thunderid: ThunderIDSSRData;
+ }
+ }
+}
diff --git a/packages/sveltekit/src/server/config.ts b/packages/sveltekit/src/server/config.ts
new file mode 100644
index 0000000..742e729
--- /dev/null
+++ b/packages/sveltekit/src/server/config.ts
@@ -0,0 +1,68 @@
+import {IAMError, ErrorCode} from '../errors/IAMError';
+import type {ThunderIDSvelteKitConfig} from '../models/config';
+
+export type {ThunderIDSvelteKitConfig} from '../models/config';
+
+export function resolveConfig(config?: ThunderIDSvelteKitConfig): ThunderIDSvelteKitConfig {
+ const baseUrl: string = config?.baseUrl || process.env['THUNDERID_BASE_URL'] || '';
+
+ const resolved: ThunderIDSvelteKitConfig = {
+ afterSignInUrl: config?.afterSignInUrl ?? '/',
+ afterSignOutUrl: config?.afterSignOutUrl ?? '/',
+ allowedExternalUrls: config?.allowedExternalUrls,
+ applicationId: config?.applicationId,
+ baseUrl,
+ clientId: config?.clientId || process.env['THUNDERID_CLIENT_ID'],
+ clientSecret: config?.clientSecret || process.env['THUNDERID_CLIENT_SECRET'],
+ discovery: config?.discovery,
+ endpoints: {
+ wellKnown: `${baseUrl}/.well-known/openid-configuration`,
+ ...config?.endpoints,
+ } as any,
+ instanceId: config?.instanceId,
+ mode: config?.mode,
+
+ preferences: config?.preferences,
+ prompt: config?.prompt,
+ responseMode: config?.responseMode,
+ scopes: config?.scopes ?? ['openid'],
+ sendCookiesInRequests: config?.sendCookiesInRequests,
+ sendIdTokenInLogoutRequest: config?.sendIdTokenInLogoutRequest,
+ sessionCookie: config?.sessionCookie,
+ sessionSecret: config?.sessionSecret || process.env['THUNDERID_SESSION_SECRET'],
+ signInOptions: config?.signInOptions,
+ signInUrl: config?.signInUrl,
+ signOutOptions: config?.signOutOptions,
+ signUpOptions: config?.signUpOptions,
+ signUpUrl: config?.signUpUrl,
+ storage: config?.storage,
+ httpAdapter: config?.httpAdapter,
+ syncSession: config?.syncSession,
+ tokenLifecycle: config?.tokenLifecycle,
+ tokenRequest: config?.tokenRequest ?? {authMethod: 'client_secret_post'},
+ tokenValidation: config?.tokenValidation,
+ };
+
+ if (!resolved.baseUrl) {
+ throw new IAMError({
+ code: ErrorCode.INVALID_CONFIGURATION,
+ message: 'baseUrl is required. Set THUNDERID_BASE_URL environment variable or pass it in config.',
+ });
+ }
+
+ if (!resolved.baseUrl.startsWith('https://')) {
+ throw new IAMError({
+ code: ErrorCode.INVALID_CONFIGURATION,
+ message: 'baseUrl must use HTTPS.',
+ });
+ }
+
+ if (!resolved.clientId) {
+ throw new IAMError({
+ code: ErrorCode.INVALID_CONFIGURATION,
+ message: 'clientId is required. Set THUNDERID_CLIENT_ID environment variable or pass it in config.',
+ });
+ }
+
+ return resolved;
+}
diff --git a/packages/sveltekit/src/server/getClient.ts b/packages/sveltekit/src/server/getClient.ts
new file mode 100644
index 0000000..f4a2962
--- /dev/null
+++ b/packages/sveltekit/src/server/getClient.ts
@@ -0,0 +1,19 @@
+import {ThunderIDJavaScriptClient} from '@thunderid/node';
+import type {ThunderIDSvelteKitConfig} from './config';
+
+let cachedClient: ThunderIDJavaScriptClient | null = null;
+
+export async function getClient(config: ThunderIDSvelteKitConfig): Promise {
+ if (cachedClient) {
+ return cachedClient;
+ }
+
+ const client = new ThunderIDJavaScriptClient();
+ await client.initialize(config as any);
+ cachedClient = client;
+ return cachedClient;
+}
+
+export function resetClient(): void {
+ cachedClient = null;
+}
diff --git a/packages/sveltekit/src/server/guard.ts b/packages/sveltekit/src/server/guard.ts
new file mode 100644
index 0000000..687faa2
--- /dev/null
+++ b/packages/sveltekit/src/server/guard.ts
@@ -0,0 +1,44 @@
+import type {RequestEvent} from '@sveltejs/kit';
+import {IAMError, ErrorCode} from '../errors/IAMError';
+import type {ThunderIDSSRData} from '../models/session';
+
+export class GuardRedirect extends Error {
+ status: number;
+ location: string;
+
+ constructor(status: number, location: string) {
+ super();
+ this.name = 'GuardRedirect';
+ this.status = status;
+ this.location = location;
+ }
+}
+
+export function isGuardRedirect(err: unknown): err is GuardRedirect {
+ return err instanceof GuardRedirect;
+}
+
+export function requireServerSession(
+ event: RequestEvent,
+ redirectTo?: string,
+): ThunderIDSSRData {
+ const ssrData: ThunderIDSSRData | undefined = event.locals.thunderid;
+
+ if (!ssrData) {
+ throw new IAMError({
+ code: ErrorCode.SDK_NOT_INITIALIZED,
+ message:
+ 'ThunderID SSR data not found in event.locals. Ensure createThunderIDHandle() is configured in hooks.server.ts.',
+ });
+ }
+
+ if (!ssrData.isSignedIn) {
+ const signInUrl: string = redirectTo || '/api/auth/signin';
+ const returnTo: string = encodeURIComponent(event.url.pathname + event.url.search);
+ const separator: string = signInUrl.includes('?') ? '&' : '?';
+
+ throw new GuardRedirect(307, `${signInUrl}${separator}returnTo=${returnTo}`);
+ }
+
+ return ssrData;
+}
diff --git a/packages/sveltekit/src/server/hooks.ts b/packages/sveltekit/src/server/hooks.ts
new file mode 100644
index 0000000..725c414
--- /dev/null
+++ b/packages/sveltekit/src/server/hooks.ts
@@ -0,0 +1,112 @@
+import type {Handle, RequestEvent} from '@sveltejs/kit';
+import type {BrandingPreference} from '@thunderid/node';
+import {getBrandingPreference} from '@thunderid/node';
+import {resolveConfig} from './config';
+import type {ThunderIDSvelteKitConfig} from './config';
+import {maybeRefreshToken} from './refresh';
+import {verifySessionToken, getSessionCookieName} from './session';
+import {getLogger} from '../logger/LoggerAdapter';
+import {DefaultHTTPAdapter, type HTTPAdapter, type HTTPResponse} from '../adapters/HTTPAdapter';
+import type {ThunderIDSSRData, ThunderIDSessionPayload} from '../models/session';
+
+export function createThunderIDHandle(config?: ThunderIDSvelteKitConfig): Handle {
+ const resolvedConfig: ThunderIDSvelteKitConfig = resolveConfig(config);
+
+ return async ({event, resolve}) => {
+ const sessionCookie: string | undefined = event.cookies.get(getSessionCookieName());
+ let session: ThunderIDSessionPayload | null = null;
+
+ if (sessionCookie) {
+ try {
+ session = await verifySessionToken(sessionCookie, resolvedConfig.sessionSecret);
+
+ session = await maybeRefreshToken(session, resolvedConfig, event);
+
+ if (session) {
+ event.locals.thunderid = {
+ isSignedIn: true,
+ session,
+ user: null,
+ userProfile: null,
+ brandingPreference: null,
+ resolvedBaseUrl: resolvedConfig.baseUrl ?? null,
+ } as ThunderIDSSRData;
+ }
+ } catch {
+ event.cookies.delete(getSessionCookieName(), {path: '/'});
+ session = null;
+ }
+ }
+
+ const isSignedIn: boolean = session !== null;
+
+ const shouldFetchBranding: boolean = resolvedConfig.preferences?.theme?.inheritFromBranding !== false;
+
+ let ssrData: ThunderIDSSRData;
+
+ if (isSignedIn && session) {
+ const accessToken: string = session.accessToken;
+ const baseUrl: string = resolvedConfig.baseUrl!;
+
+ const adapter: HTTPAdapter = resolvedConfig.httpAdapter ?? new DefaultHTTPAdapter();
+
+ const [userResponse, branding] = await Promise.all([
+ adapter.request('GET', `${baseUrl}/oauth2/userinfo`, {Authorization: `Bearer ${accessToken}`}).then((r: HTTPResponse) => {
+ if (r.statusCode !== 200) {
+ getLogger().error(
+ `[hooks] userinfo fetch failed (${r.statusCode})`,
+ undefined,
+ {requestId: r.headers['x-request-id'] || r.headers['correlation-id'] || undefined, statusCode: r.statusCode},
+ );
+ return null;
+ }
+ return JSON.parse(r.body) as any;
+ }),
+ shouldFetchBranding
+ ? getBrandingPreference({baseUrl} as any).catch(() => null)
+ : Promise.resolve(null),
+ ]);
+
+ const user = userResponse;
+ const userProfile = user ? {flattenedProfile: user, profile: user, schemas: [] as string[]} : null;
+
+ ssrData = {
+ brandingPreference: (branding!) ?? null,
+ isSignedIn: true,
+ resolvedBaseUrl: resolvedConfig.baseUrl ?? null,
+ session,
+ user: user as any,
+ userProfile: userProfile as any,
+ };
+ } else {
+ let branding: BrandingPreference | null = null;
+
+ if (shouldFetchBranding) {
+ try {
+ branding = await getBrandingPreference({baseUrl: resolvedConfig.baseUrl!} as any);
+ } catch {
+ // branding fetch failed โ continue without
+ }
+ }
+
+ ssrData = {
+ brandingPreference: branding,
+ isSignedIn: false,
+ resolvedBaseUrl: null,
+ session: null,
+ user: null,
+ userProfile: null,
+ };
+ }
+
+ event.locals.thunderid = ssrData;
+
+ return resolve(event);
+ };
+}
+
+export function loadThunderID(event: RequestEvent): ThunderIDSSRData {
+ return event.locals.thunderid;
+}
+
+
diff --git a/packages/sveltekit/src/server/index.ts b/packages/sveltekit/src/server/index.ts
new file mode 100644
index 0000000..1a5e0b7
--- /dev/null
+++ b/packages/sveltekit/src/server/index.ts
@@ -0,0 +1,18 @@
+export {resolveConfig} from './config';
+export {createThunderIDHandle} from './hooks';
+export {loadThunderID} from './load';
+export {getClient, resetClient} from './getClient';
+export {
+ createSessionToken,
+ createTempSessionToken,
+ verifySessionToken,
+ verifyTempSessionToken,
+ issueSessionCookie,
+ getSessionCookieName,
+ getTempSessionCookieName,
+ getSessionCookieOptions,
+ getTempSessionCookieOptions,
+} from './session';
+export {maybeRefreshToken, getValidAccessToken} from './refresh';
+export {requireServerSession, GuardRedirect, isGuardRedirect} from './guard';
+export {createSignInHandler, createCallbackHandler, createSignOutHandler} from './routes';
diff --git a/packages/sveltekit/src/server/load.ts b/packages/sveltekit/src/server/load.ts
new file mode 100644
index 0000000..cbcd4d8
--- /dev/null
+++ b/packages/sveltekit/src/server/load.ts
@@ -0,0 +1,6 @@
+import type {RequestEvent} from '@sveltejs/kit';
+import type {ThunderIDSSRData} from '../models/session';
+
+export function loadThunderID(event: RequestEvent): ThunderIDSSRData {
+ return event.locals.thunderid;
+}
diff --git a/packages/sveltekit/src/server/refresh.ts b/packages/sveltekit/src/server/refresh.ts
new file mode 100644
index 0000000..5e303f6
--- /dev/null
+++ b/packages/sveltekit/src/server/refresh.ts
@@ -0,0 +1,150 @@
+import type {RequestEvent} from '@sveltejs/kit';
+import type {ThunderIDSvelteKitConfig} from './config';
+import {createSessionToken, getSessionCookieName, getSessionCookieOptions} from './session';
+import {emit, SDKEvent} from '../events/EventBus';
+import {getLogger} from '../logger/LoggerAdapter';
+import {DefaultHTTPAdapter, type HTTPAdapter, type HTTPResponse} from '../adapters/HTTPAdapter';
+import type {ThunderIDSessionPayload} from '../models/session';
+
+const REFRESH_SKEW_SECONDS = 60;
+
+interface OIDCTokenRefreshResponse {
+ access_token: string;
+ expires_in?: number;
+ id_token?: string;
+ refresh_token?: string;
+ scope?: string;
+ token_type?: string;
+}
+
+const inFlightRefreshes = new Map>();
+
+export async function maybeRefreshToken(
+ session: ThunderIDSessionPayload,
+ config: ThunderIDSvelteKitConfig,
+ event: Pick,
+): Promise {
+ const now: number = Math.floor(Date.now() / 1000);
+ const logger = getLogger();
+
+ if (!session.accessTokenExpiresAt || session.accessTokenExpiresAt - REFRESH_SKEW_SECONDS > now) {
+ return session;
+ }
+
+ if (!session.refreshToken) {
+ return null;
+ }
+
+ const dedupKey: string = session.sessionId || session.sub || 'default';
+
+ const existing = inFlightRefreshes.get(dedupKey);
+ if (existing) {
+ return existing;
+ }
+
+ const promise = doRefresh(session, config, event, logger);
+ inFlightRefreshes.set(dedupKey, promise);
+
+ try {
+ return await promise;
+ } finally {
+ inFlightRefreshes.delete(dedupKey);
+ }
+}
+
+async function doRefresh(
+ session: ThunderIDSessionPayload,
+ config: ThunderIDSvelteKitConfig,
+ event: Pick,
+ logger: ReturnType,
+): Promise {
+ const now: number = Math.floor(Date.now() / 1000);
+ const tokenEndpoint = `${config.baseUrl}/oauth2/token`;
+
+ const body: string = new URLSearchParams({
+ client_id: config.clientId!,
+ grant_type: 'refresh_token',
+ refresh_token: session.refreshToken ?? '',
+ ...(config.clientSecret ? {client_secret: config.clientSecret} : {}),
+ }).toString();
+
+ let refreshed: OIDCTokenRefreshResponse;
+ try {
+ const adapter: HTTPAdapter = config.httpAdapter ?? new DefaultHTTPAdapter();
+ const res: HTTPResponse = await adapter.request('POST', tokenEndpoint, {
+ 'Content-Type': 'application/x-www-form-urlencoded',
+ }, body);
+
+ const requestId: string | undefined = res.headers['x-request-id'] || res.headers['correlation-id'] || undefined;
+
+ if (res.statusCode !== 200) {
+ logger.error(`Token refresh failed (${res.statusCode})`, undefined, {
+ statusCode: res.statusCode,
+ requestId,
+ sessionId: session.sessionId,
+ });
+ emit(SDKEvent.TOKEN_REFRESH_FAILED, {
+ statusCode: res.statusCode,
+ requestId,
+ sessionId: session.sessionId,
+ });
+ return null;
+ }
+
+ refreshed = JSON.parse(res.body) as OIDCTokenRefreshResponse;
+ } catch (err: unknown) {
+ logger.error('Token refresh network error', err instanceof Error ? err : new Error(String(err)), {
+ sessionId: session.sessionId,
+ });
+ emit(SDKEvent.TOKEN_REFRESH_FAILED, {
+ error: err instanceof Error ? err.message : String(err),
+ sessionId: session.sessionId,
+ });
+ return null;
+ }
+
+ const newSessionToken: string = await createSessionToken(
+ {
+ accessToken: refreshed.access_token,
+ accessTokenExpiresAt: now + (refreshed.expires_in ?? 3600),
+ idToken: refreshed.id_token ?? session.idToken,
+ refreshToken: refreshed.refresh_token ?? session.refreshToken,
+ scopes: refreshed.scope ?? session.scopes,
+ sessionId: session.sessionId,
+ userId: session.sub,
+ },
+ config.sessionSecret,
+ );
+
+ event.cookies.set(getSessionCookieName(), newSessionToken, getSessionCookieOptions());
+ emit(SDKEvent.TOKEN_REFRESHED, {sessionId: session.sessionId});
+
+ return {
+ ...session,
+ accessToken: refreshed.access_token,
+ accessTokenExpiresAt: now + (refreshed.expires_in ?? 3600),
+ idToken: refreshed.id_token ?? session.idToken,
+ refreshToken: refreshed.refresh_token ?? session.refreshToken,
+ scopes: refreshed.scope ?? session.scopes,
+ };
+}
+
+export async function getValidAccessToken(
+ event: RequestEvent,
+ config: ThunderIDSvelteKitConfig,
+): Promise {
+ const {loadThunderID} = await import('./load');
+ const ssrData = loadThunderID(event);
+
+ if (!ssrData.session) {
+ throw new Error('Not authenticated');
+ }
+
+ const refreshed = await maybeRefreshToken(ssrData.session, config, event);
+
+ if (!refreshed) {
+ throw new Error('Session expired');
+ }
+
+ return refreshed.accessToken;
+}
diff --git a/packages/sveltekit/src/server/routes/callback.ts b/packages/sveltekit/src/server/routes/callback.ts
new file mode 100644
index 0000000..20016b2
--- /dev/null
+++ b/packages/sveltekit/src/server/routes/callback.ts
@@ -0,0 +1,111 @@
+import type {TokenResponse} from '@thunderid/node';
+import {decodeJwt} from 'jose';
+import {getLogger} from '../../logger/LoggerAdapter';
+import {resolveConfig} from '../config';
+import type {ThunderIDSvelteKitConfig} from '../config';
+import {getClient} from '../getClient';
+import {issueSessionCookie, verifyTempSessionToken, getTempSessionCookieName, getSessionCookieName} from '../session';
+
+export function createCallbackHandler(config?: ThunderIDSvelteKitConfig): (event: {url: URL; cookies: any}) => Promise {
+ const resolvedConfig: ThunderIDSvelteKitConfig = resolveConfig(config);
+ const logger = getLogger();
+
+ return async (event) => {
+ try {
+ const client = await getClient(resolvedConfig);
+
+ const tempCookie: string | undefined = event.cookies.get(getTempSessionCookieName());
+
+ if (!tempCookie) {
+ return new Response(null, {status: 302, headers: {Location: resolvedConfig.afterSignInUrl || '/'}});
+ }
+
+ let sessionId: string;
+ let returnTo: string | undefined;
+ let storedNonce: string | undefined;
+
+ try {
+ const tempPayload = await verifyTempSessionToken(tempCookie, resolvedConfig.sessionSecret);
+ sessionId = tempPayload.sessionId;
+ returnTo = tempPayload.returnTo;
+ storedNonce = tempPayload.nonce;
+ } catch {
+ event.cookies.delete(getTempSessionCookieName(), {path: '/'});
+ return new Response(null, {status: 302, headers: {Location: resolvedConfig.afterSignInUrl || '/'}});
+ }
+
+ const code: string | null = event.url.searchParams.get('code');
+ const state: string | null = event.url.searchParams.get('state');
+ const sessionState: string | null = event.url.searchParams.get('session_state');
+
+ if (code) {
+ let tokenResponse: TokenResponse;
+
+ try {
+ tokenResponse = await (client as any).requestAccessToken(
+ code,
+ sessionState ?? '',
+ state ?? '',
+ sessionId,
+ );
+ } catch (err: unknown) {
+ const message: string = (err as any)?.message ?? String(err);
+ logger.error('callback requestAccessToken failed', err instanceof Error ? err : new Error(message));
+ return new Response(JSON.stringify({error: message, details: (err as any)?.name ?? ''}), {
+ status: 500,
+ headers: {'content-type': 'application/json'},
+ });
+ }
+
+ if (tokenResponse.accessToken) {
+ const nonceFromQuery: string | null = event.url.searchParams.get('nonce');
+ const nonceToValidate: string | undefined = nonceFromQuery ?? storedNonce;
+
+ if (nonceToValidate && tokenResponse.idToken) {
+ try {
+ const idTokenPayload = decodeJwt(tokenResponse.idToken);
+ if (idTokenPayload['nonce'] !== nonceToValidate) {
+ const errMsg = `ID token nonce mismatch: expected ${nonceToValidate}, got ${idTokenPayload['nonce']}`;
+ logger.error(errMsg);
+ return new Response(JSON.stringify({error: errMsg}), {
+ status: 401,
+ headers: {'content-type': 'application/json'},
+ });
+ }
+ } catch (decodeErr: unknown) {
+ const errMsg = `Failed to decode ID token for nonce validation: ${(decodeErr as any)?.message ?? String(decodeErr)}`;
+ logger.error(errMsg);
+ return new Response(JSON.stringify({error: errMsg}), {
+ status: 401,
+ headers: {'content-type': 'application/json'},
+ });
+ }
+ }
+
+ const sessionPayload = await issueSessionCookie(event, sessionId, tokenResponse, resolvedConfig.sessionSecret);
+
+ event.cookies.delete(getTempSessionCookieName(), {path: '/'});
+
+ return new Response(null, {
+ status: 302,
+ headers: {Location: returnTo || resolvedConfig.afterSignInUrl || '/'},
+ });
+ }
+ }
+
+ const error: string | null = event.url.searchParams.get('error');
+ if (error) {
+ return new Response(null, {status: 302, headers: {Location: `${resolvedConfig.afterSignInUrl || '/'}?error=${error}`}});
+ }
+
+ return new Response(null, {status: 302, headers: {Location: resolvedConfig.afterSignInUrl || '/'}});
+ } catch (err: unknown) {
+ const message: string = (err as any)?.message ?? String(err);
+ logger.error('callback unhandled error', err instanceof Error ? err : new Error(message));
+ return new Response(JSON.stringify({error: message, details: (err as any)?.name ?? ''}), {
+ status: 500,
+ headers: {'content-type': 'application/json'},
+ });
+ }
+ };
+}
diff --git a/packages/sveltekit/src/server/routes/index.ts b/packages/sveltekit/src/server/routes/index.ts
new file mode 100644
index 0000000..0a1c0e3
--- /dev/null
+++ b/packages/sveltekit/src/server/routes/index.ts
@@ -0,0 +1,3 @@
+export {createSignInHandler} from './signin';
+export {createCallbackHandler} from './callback';
+export {createSignOutHandler} from './signout';
diff --git a/packages/sveltekit/src/server/routes/signin.ts b/packages/sveltekit/src/server/routes/signin.ts
new file mode 100644
index 0000000..9fe7dba
--- /dev/null
+++ b/packages/sveltekit/src/server/routes/signin.ts
@@ -0,0 +1,40 @@
+import {generateSessionId} from '@thunderid/node';
+import {getLogger} from '../../logger/LoggerAdapter';
+import {resolveConfig} from '../config';
+import type {ThunderIDSvelteKitConfig} from '../config';
+import {getClient} from '../getClient';
+import {createTempSessionToken, getTempSessionCookieName, getTempSessionCookieOptions} from '../session';
+
+export function createSignInHandler(config?: ThunderIDSvelteKitConfig): (event: {url: URL; cookies: any}) => Promise {
+ const resolvedConfig: ThunderIDSvelteKitConfig = resolveConfig(config);
+ const logger = getLogger();
+
+ return async (event) => {
+ try {
+ const client = await getClient(resolvedConfig);
+ const sessionId: string = generateSessionId();
+
+ const returnTo: string = event.url.searchParams.get('returnTo') || resolvedConfig.afterSignInUrl || '/';
+
+ const nonce: string = crypto.randomUUID();
+
+ const authorizeUrl: string = await (client as any).getSignInUrl({nonce}, sessionId);
+
+ const tempToken: string = await createTempSessionToken(sessionId, resolvedConfig.sessionSecret, returnTo, nonce);
+
+ event.cookies.set(getTempSessionCookieName(), tempToken, getTempSessionCookieOptions());
+
+ return new Response(null, {
+ status: 302,
+ headers: {Location: authorizeUrl},
+ });
+ } catch (err: unknown) {
+ const message: string = (err as any)?.message ?? String(err);
+ logger.error('sign-in failed', err instanceof Error ? err : new Error(message));
+ return new Response(JSON.stringify({error: message}), {
+ status: 500,
+ headers: {'content-type': 'application/json'},
+ });
+ }
+ };
+}
diff --git a/packages/sveltekit/src/server/routes/signout.ts b/packages/sveltekit/src/server/routes/signout.ts
new file mode 100644
index 0000000..1c2bd03
--- /dev/null
+++ b/packages/sveltekit/src/server/routes/signout.ts
@@ -0,0 +1,34 @@
+import {getLogger} from '../../logger/LoggerAdapter';
+import {resolveConfig} from '../config';
+import type {ThunderIDSvelteKitConfig} from '../config';
+import {getClient} from '../getClient';
+import {getSessionCookieName, verifySessionToken} from '../session';
+
+export function createSignOutHandler(config?: ThunderIDSvelteKitConfig): (event: {cookies: any}) => Promise {
+ const resolvedConfig: ThunderIDSvelteKitConfig = resolveConfig(config);
+ const logger = getLogger();
+
+ return async (event) => {
+ const redirectUrl: string = resolvedConfig.afterSignOutUrl || '/';
+
+ const sessionCookie: string | undefined = event.cookies.get(getSessionCookieName());
+
+ if (sessionCookie) {
+ try {
+ const client = await getClient(resolvedConfig);
+ const session = await verifySessionToken(sessionCookie, resolvedConfig.sessionSecret);
+ await (client as any).revokeAccessToken(session.sessionId);
+ await client.signOut({sessionId: session.sessionId} as any);
+ } catch (err: unknown) {
+ logger.warn('sign-out encountered an issue', {error: (err as any)?.message ?? String(err)});
+ }
+ }
+
+ event.cookies.delete(getSessionCookieName(), {path: '/'});
+
+ return new Response(null, {
+ status: 302,
+ headers: {Location: redirectUrl},
+ });
+ };
+}
diff --git a/packages/sveltekit/src/server/session.ts b/packages/sveltekit/src/server/session.ts
new file mode 100644
index 0000000..d594d49
--- /dev/null
+++ b/packages/sveltekit/src/server/session.ts
@@ -0,0 +1,188 @@
+import {CookieConfig} from '@thunderid/node';
+import type {IdToken, TokenResponse} from '@thunderid/node';
+import {SignJWT, jwtVerify, decodeJwt} from 'jose';
+import {getLogger} from '../logger/LoggerAdapter';
+import type {ThunderIDSessionPayload} from '../models/session';
+
+const DEFAULT_EXPIRY_SECONDS = 3600;
+
+function getSecret(sessionSecret?: string): Uint8Array {
+ const secret: string | undefined = sessionSecret || process.env['THUNDERID_SESSION_SECRET'];
+ const logger = getLogger();
+
+ if (!secret) {
+ if (process.env['NODE_ENV'] === 'production') {
+ throw new Error(
+ '[thunderid] THUNDERID_SESSION_SECRET environment variable is required in production. ' +
+ 'Set it to a secure random string of at least 32 characters.',
+ );
+ }
+ logger.warn('Using default session secret for development. Set THUNDERID_SESSION_SECRET for production.');
+ return new TextEncoder().encode('thunderid-dev-secret-not-for-production');
+ }
+
+ return new TextEncoder().encode(secret);
+}
+
+export async function createSessionToken(
+ params: {
+ accessToken: string;
+ accessTokenExpiresAt?: number;
+ expirySeconds?: number;
+ idToken?: string;
+ refreshToken?: string;
+ scopes: string;
+ sessionId: string;
+ userId: string;
+ },
+ sessionSecret?: string,
+): Promise {
+ const secret: Uint8Array = getSecret(sessionSecret);
+
+ return new SignJWT({
+ accessToken: params.accessToken,
+ accessTokenExpiresAt: params.accessTokenExpiresAt,
+ idToken: params.idToken,
+ refreshToken: params.refreshToken,
+ scopes: params.scopes,
+ sessionId: params.sessionId,
+ type: 'session',
+ } as Omit)
+ .setProtectedHeader({alg: 'HS256'})
+ .setSubject(params.userId)
+ .setIssuedAt()
+ .setExpirationTime(Date.now() / 1000 + (params.expirySeconds ?? DEFAULT_EXPIRY_SECONDS))
+ .sign(secret);
+}
+
+export async function createTempSessionToken(
+ sessionId: string,
+ sessionSecret?: string,
+ returnTo?: string,
+ nonce?: string,
+): Promise {
+ const secret: Uint8Array = getSecret(sessionSecret);
+
+ const payload: Record = {
+ sessionId,
+ type: 'temp',
+ };
+
+ if (returnTo) {
+ payload['returnTo'] = returnTo;
+ }
+
+ if (nonce) {
+ payload['nonce'] = nonce;
+ }
+
+ return new SignJWT(payload).setProtectedHeader({alg: 'HS256'}).setIssuedAt().setExpirationTime('15m').sign(secret);
+}
+
+export async function verifySessionToken(
+ token: string,
+ sessionSecret?: string,
+): Promise {
+ const secret: Uint8Array = getSecret(sessionSecret);
+ const {payload} = await jwtVerify(token, secret);
+ return payload as ThunderIDSessionPayload;
+}
+
+export async function verifyTempSessionToken(
+ token: string,
+ sessionSecret?: string,
+): Promise<{returnTo?: string; sessionId: string; nonce?: string}> {
+ const secret: Uint8Array = getSecret(sessionSecret);
+ const {payload} = await jwtVerify(token, secret);
+
+ if (payload['type'] !== 'temp') {
+ throw new Error('Invalid token type: expected temp session');
+ }
+
+ return {
+ returnTo: payload['returnTo'] as string | undefined,
+ sessionId: payload['sessionId'] as string,
+ nonce: payload['nonce'] as string | undefined,
+ };
+}
+
+export function getSessionCookieName(): string {
+ return CookieConfig.SESSION_COOKIE_NAME;
+}
+
+export function getTempSessionCookieName(): string {
+ return CookieConfig.TEMP_SESSION_COOKIE_NAME;
+}
+
+export function getSessionCookieOptions(): {
+ httpOnly: boolean;
+ maxAge: number;
+ path: string;
+ sameSite: 'lax';
+ secure: boolean;
+} {
+ return {
+ httpOnly: true,
+ maxAge: DEFAULT_EXPIRY_SECONDS,
+ path: '/',
+ sameSite: 'lax' as const,
+ secure: process.env['NODE_ENV'] === 'production',
+ };
+}
+
+export function getTempSessionCookieOptions(): {
+ httpOnly: boolean;
+ maxAge: number;
+ path: string;
+ sameSite: 'lax';
+ secure: boolean;
+} {
+ return {
+ httpOnly: true,
+ maxAge: 15 * 60,
+ path: '/',
+ sameSite: 'lax' as const,
+ secure: process.env['NODE_ENV'] === 'production',
+ };
+}
+
+export async function issueSessionCookie(
+ event: {cookies: {set: (name: string, value: string, options: any) => void}},
+ sessionId: string,
+ tokenResponse: TokenResponse,
+ sessionSecret?: string,
+): Promise {
+ const idToken: IdToken = decodeJwt(tokenResponse.idToken) as IdToken;
+
+ const userId: string = idToken.sub || sessionId;
+ const expiresInSeconds: number = parseInt(tokenResponse.expiresIn ?? '3600', 10);
+ const accessTokenExpiresAt: number =
+ Math.floor(Date.now() / 1000) + (Number.isFinite(expiresInSeconds) ? expiresInSeconds : 3600);
+
+ const sessionToken: string = await createSessionToken(
+ {
+ accessToken: tokenResponse.accessToken,
+ accessTokenExpiresAt,
+ idToken: tokenResponse.idToken || undefined,
+ refreshToken: tokenResponse.refreshToken || undefined,
+ scopes: tokenResponse.scope || '',
+ sessionId,
+ userId,
+ },
+ sessionSecret,
+ );
+
+ event.cookies.set(getSessionCookieName(), sessionToken, getSessionCookieOptions());
+
+ return {
+ accessToken: tokenResponse.accessToken,
+ accessTokenExpiresAt,
+ exp: Math.floor(Date.now() / 1000) + expiresInSeconds,
+ iat: Math.floor(Date.now() / 1000),
+ idToken: tokenResponse.idToken || undefined,
+ refreshToken: tokenResponse.refreshToken || undefined,
+ scopes: tokenResponse.scope || '',
+ sessionId,
+ sub: userId,
+ } as ThunderIDSessionPayload;
+}
diff --git a/packages/sveltekit/src/state.svelte.ts b/packages/sveltekit/src/state.svelte.ts
new file mode 100644
index 0000000..67f01d7
--- /dev/null
+++ b/packages/sveltekit/src/state.svelte.ts
@@ -0,0 +1,32 @@
+/**
+ * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com).
+ *
+ * WSO2 LLC. licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import type {User, UserProfile} from '@thunderid/browser';
+
+class AuthState {
+ isSignedIn = $state(false);
+ isLoading = $state(true);
+ isInitialized = $state(false);
+ user: User | null = $state(null);
+ userProfile: UserProfile | null = $state(null);
+
+ resolvedBaseUrl = $state('');
+ locale = $state('en');
+}
+
+export const authState = new AuthState();
diff --git a/packages/sveltekit/src/validation/IdTokenValidator.ts b/packages/sveltekit/src/validation/IdTokenValidator.ts
new file mode 100644
index 0000000..d026fae
--- /dev/null
+++ b/packages/sveltekit/src/validation/IdTokenValidator.ts
@@ -0,0 +1,141 @@
+/**
+ * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com).
+ *
+ * WSO2 LLC. licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import {createRemoteJWKSet, jwtVerify, type JWTPayload} from 'jose';
+import type {JWK} from 'jose';
+import {IAMError, ErrorCode} from '../errors/IAMError';
+import type {ThunderIDSvelteKitConfig} from '../models/config';
+
+export interface IdTokenValidationResult {
+ valid: boolean;
+ payload: JWTPayload | null;
+ error?: string;
+}
+
+let _jwksCache: ReturnType | null = null;
+let _jwksUrl: string | null = null;
+
+export async function verifyIdToken(
+ idToken: string,
+ config: ThunderIDSvelteKitConfig,
+ options?: {
+ clientId?: string;
+ issuer?: string;
+ clockTolerance?: number;
+ validateIssuer?: boolean;
+ nonce?: string;
+ },
+): Promise {
+ try {
+ const jwksUrl: string | undefined = config.endpoints?.jwks;
+
+ if (!jwksUrl) {
+ return {valid: false, payload: null, error: 'JWKS endpoint not configured'};
+ }
+
+ if (_jwksUrl !== jwksUrl || !_jwksCache) {
+ _jwksUrl = jwksUrl;
+ _jwksCache = createRemoteJWKSet(new URL(jwksUrl));
+ }
+
+ let payload: JWTPayload;
+
+ try {
+ const result = await jwtVerify(idToken, _jwksCache, {
+ issuer: options?.validateIssuer !== false ? options?.issuer : undefined,
+ audience: options?.clientId,
+ clockTolerance: options?.clockTolerance,
+ });
+ payload = result.payload;
+ } catch {
+ clearJWKSCache();
+ _jwksUrl = jwksUrl;
+ _jwksCache = createRemoteJWKSet(new URL(jwksUrl));
+ const result = await jwtVerify(idToken, _jwksCache, {
+ issuer: options?.validateIssuer !== false ? options?.issuer : undefined,
+ audience: options?.clientId,
+ clockTolerance: options?.clockTolerance,
+ });
+ payload = result.payload;
+ }
+
+ if (options?.nonce !== undefined && payload['nonce'] !== options.nonce) {
+ return {
+ valid: false,
+ payload,
+ error: `ID token nonce mismatch: expected ${options.nonce}, got ${payload['nonce']}`,
+ };
+ }
+
+ return {valid: true, payload};
+ } catch (error: unknown) {
+ return {
+ valid: false,
+ payload: null,
+ error: (error as any)?.message ?? String(error),
+ };
+ }
+}
+
+export function clearJWKSCache(): void {
+ _jwksCache = null;
+ _jwksUrl = null;
+}
+
+/**
+ * Validates the basic structural claims of an ID token (exp, iat, iss, aud)
+ * without requiring a JWKS fetch. Useful for quick client-side checks.
+ */
+export function validateIdTokenClaims(
+ payload: JWTPayload,
+ options?: {
+ clientId?: string;
+ issuer?: string;
+ clockTolerance?: number;
+ nonce?: string;
+ },
+): IdTokenValidationResult {
+ const now: number = Math.floor(Date.now() / 1000);
+ const tolerance: number = options?.clockTolerance ?? 0;
+
+ if (payload.exp && payload.exp + tolerance < now) {
+ return {valid: false, payload, error: 'ID token has expired'};
+ }
+
+ if (payload.nbf && payload.nbf - tolerance > now) {
+ return {valid: false, payload, error: 'ID token is not yet valid (nbf)'};
+ }
+
+ if (options?.issuer && payload.iss !== options.issuer) {
+ return {valid: false, payload, error: `ID token issuer mismatch: expected ${options.issuer}, got ${payload.iss}`};
+ }
+
+ if (options?.clientId && payload.aud !== options.clientId && !Array.isArray(payload.aud)) {
+ return {valid: false, payload, error: `ID token audience mismatch: expected ${options.clientId}, got ${payload.aud}`};
+ }
+
+ if (Array.isArray(payload.aud) && options?.clientId && !payload.aud.includes(options.clientId)) {
+ return {valid: false, payload, error: `ID token audience mismatch: ${options.clientId} not in ${payload.aud}`};
+ }
+
+ if (options?.nonce !== undefined && payload['nonce'] !== options.nonce) {
+ return {valid: false, payload, error: `ID token nonce mismatch: expected ${options.nonce}, got ${payload['nonce']}`};
+ }
+
+ return {valid: true, payload};
+}
diff --git a/packages/sveltekit/src/validation/index.ts b/packages/sveltekit/src/validation/index.ts
new file mode 100644
index 0000000..082620a
--- /dev/null
+++ b/packages/sveltekit/src/validation/index.ts
@@ -0,0 +1,20 @@
+/**
+ * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com).
+ *
+ * WSO2 LLC. licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+export {verifyIdToken, validateIdTokenClaims, clearJWKSCache} from './IdTokenValidator';
+export type {IdTokenValidationResult} from './IdTokenValidator';
diff --git a/packages/sveltekit/tsconfig.json b/packages/sveltekit/tsconfig.json
new file mode 100644
index 0000000..ba6587f
--- /dev/null
+++ b/packages/sveltekit/tsconfig.json
@@ -0,0 +1,32 @@
+{
+ "compileOnSave": false,
+ "compilerOptions": {
+ "declaration": false,
+ "emitDecoratorMetadata": true,
+ "esModuleInterop": true,
+ "experimentalDecorators": true,
+ "importHelpers": true,
+ "lib": ["ESNext", "DOM"],
+ "module": "ESNext",
+ "moduleResolution": "bundler",
+ "skipLibCheck": true,
+ "skipDefaultLibCheck": true,
+ "sourceMap": true,
+ "target": "ESNext",
+ "forceConsistentCasingInFileNames": true,
+ "strict": false,
+ "noImplicitOverride": true,
+ "noPropertyAccessFromIndexSignature": true,
+ "noImplicitReturns": true,
+ "noFallthroughCasesInSwitch": true,
+ "strictNullChecks": true
+ },
+ "exclude": ["node_modules", "tmp", "dist"],
+ "files": [],
+ "include": [],
+ "references": [
+ {
+ "path": "./tsconfig.lib.json"
+ }
+ ]
+}
diff --git a/packages/sveltekit/tsconfig.lib.json b/packages/sveltekit/tsconfig.lib.json
new file mode 100644
index 0000000..e3443f2
--- /dev/null
+++ b/packages/sveltekit/tsconfig.lib.json
@@ -0,0 +1,11 @@
+{
+ "extends": "./tsconfig.json",
+ "compilerOptions": {
+ "declaration": true,
+ "declarationMap": true,
+ "outDir": "dist",
+ "declarationDir": "dist",
+ "types": ["node", "svelte"]
+ },
+ "include": ["src/**/*.js", "src/**/*.ts", "src/**/*.svelte"]
+}
diff --git a/packages/sveltekit/vitest.config.ts b/packages/sveltekit/vitest.config.ts
new file mode 100644
index 0000000..4011268
--- /dev/null
+++ b/packages/sveltekit/vitest.config.ts
@@ -0,0 +1,10 @@
+import {defineConfig} from 'vitest/config';
+import {svelte} from '@sveltejs/vite-plugin-svelte';
+
+export default defineConfig({
+ plugins: [svelte({hot: false}) as any],
+ test: {
+ passWithNoTests: true,
+ exclude: ['dist/**', 'node_modules/**'],
+ },
+});
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index ef86b2d..d162623 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -1,202 +1,3 @@
----
-lockfileVersion: '9.0'
-
-importers:
-
- .:
- configDependencies: {}
- packageManagerDependencies:
- '@pnpm/exe':
- specifier: 11.9.0
- version: 11.9.0
- pnpm:
- specifier: 11.9.0
- version: 11.9.0
-
-packages:
-
- '@pnpm/exe@11.9.0':
- resolution: {integrity: sha512-pPPOpR79qW3nsNhlyDIdfstli4Bi78mk8r22ySxpFRwMbO8KXSjGrVzGmJBsVX39NnJTh7/WADj527nZhG9H9g==}
- hasBin: true
-
- '@pnpm/linux-arm64@11.9.0':
- resolution: {integrity: sha512-XYmY2qadHauBA3QaHi2R7fI6kt5Flje0WHz9MVrbH0kVH/XLpfOLnwPeE1+EX6K/nDa2CBvzp35VjYCNGFJa9A==}
- cpu: [arm64]
- os: [linux]
-
- '@pnpm/linux-x64@11.9.0':
- resolution: {integrity: sha512-fl7W5imnSmmgXIqMQFZ/rPaVvk9OkKF8/anqHZE3XEDfWcn3BlWGndyOEas/JN7u2BXWYjs63DJZ3rnG6WOhLA==}
- cpu: [x64]
- os: [linux]
-
- '@pnpm/linuxstatic-arm64@11.9.0':
- resolution: {integrity: sha512-fif8xbnzVEAIlvaU4yIgWKXeXYb4Kj6WMEl/KvM2x1Rp3AKAjBW/53SGzxO4cZP9doAqUzOIpMRGFVbHGeMDRw==}
- cpu: [arm64]
- os: [linux]
- libc: [musl]
-
- '@pnpm/linuxstatic-x64@11.9.0':
- resolution: {integrity: sha512-9dKu3QdShqOpnWrjW9owARpIJeP0ul8UgIIbBUv8VDGEYibt+g49zQsNaD7SdMD3WeRSjExPQ1zIhplzr5cwvQ==}
- cpu: [x64]
- os: [linux]
- libc: [musl]
-
- '@pnpm/macos-arm64@11.9.0':
- resolution: {integrity: sha512-MWzBTgeI5p3odjdVltYvFXaSWAjF2Xk5YaxiP/u2RmW8N6PHsLyIyj37Ds992CrXgFM8fO1RpvsEirozhsD6KA==}
- cpu: [arm64]
- os: [darwin]
-
- '@pnpm/win-arm64@11.9.0':
- resolution: {integrity: sha512-u/QxEcbKJZxC1t3zUYCZiHzu7TaZ/iXc6EGZoQjkeVT0LXmEVR6ypcK3ByjhIqbxQ3HGX75gnpIpR+VjRjubfw==}
- cpu: [arm64]
- os: [win32]
-
- '@pnpm/win-x64@11.9.0':
- resolution: {integrity: sha512-HqJVHmZG5UKfLi38AjMl2azVmq87TlWRhwSW+f4q9LLaZeAkFyIZ7LY/pN6mh4VlH9yWj90C+tsb1yKiy7OKnw==}
- cpu: [x64]
- os: [win32]
-
- '@reflink/reflink-darwin-arm64@0.1.19':
- resolution: {integrity: sha512-ruy44Lpepdk1FqDz38vExBY/PVUsjxZA+chd9wozjUH9JjuDT/HEaQYA6wYN9mf041l0yLVar6BCZuWABJvHSA==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [darwin]
-
- '@reflink/reflink-darwin-x64@0.1.19':
- resolution: {integrity: sha512-By85MSWrMZa+c26TcnAy8SDk0sTUkYlNnwknSchkhHpGXOtjNDUOxJE9oByBnGbeuIE1PiQsxDG3Ud+IVV9yuA==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [darwin]
-
- '@reflink/reflink-linux-arm64-gnu@0.1.19':
- resolution: {integrity: sha512-7P+er8+rP9iNeN+bfmccM4hTAaLP6PQJPKWSA4iSk2bNvo6KU6RyPgYeHxXmzNKzPVRcypZQTpFgstHam6maVg==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [linux]
- libc: [glibc]
-
- '@reflink/reflink-linux-arm64-musl@0.1.19':
- resolution: {integrity: sha512-37iO/Dp6m5DDaC2sf3zPtx/hl9FV3Xze4xoYidrxxS9bgP3S8ALroxRK6xBG/1TtfXKTvolvp+IjrUU6ujIGmA==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [linux]
- libc: [musl]
-
- '@reflink/reflink-linux-x64-gnu@0.1.19':
- resolution: {integrity: sha512-jbI8jvuYCaA3MVUdu8vLoLAFqC+iNMpiSuLbxlAgg7x3K5bsS8nOpTRnkLF7vISJ+rVR8W+7ThXlXlUQ93ulkw==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [linux]
- libc: [glibc]
-
- '@reflink/reflink-linux-x64-musl@0.1.19':
- resolution: {integrity: sha512-e9FBWDe+lv7QKAwtKOt6A2W/fyy/aEEfr0g6j/hWzvQcrzHCsz07BNQYlNOjTfeytrtLU7k449H1PI95jA4OjQ==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [linux]
- libc: [musl]
-
- '@reflink/reflink-win32-arm64-msvc@0.1.19':
- resolution: {integrity: sha512-09PxnVIQcd+UOn4WAW73WU6PXL7DwGS6wPlkMhMg2zlHHG65F3vHepOw06HFCq+N42qkaNAc8AKIabWvtk6cIQ==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [win32]
-
- '@reflink/reflink-win32-x64-msvc@0.1.19':
- resolution: {integrity: sha512-E//yT4ni2SyhwP8JRjVGWr3cbnhWDiPLgnQ66qqaanjjnMiu3O/2tjCPQXlcGc/DEYofpDc9fvhv6tALQsMV9w==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [win32]
-
- '@reflink/reflink@0.1.19':
- resolution: {integrity: sha512-DmCG8GzysnCZ15bres3N5AHCmwBwYgp0As6xjhQ47rAUTUXxJiK+lLUxaGsX3hd/30qUpVElh05PbGuxRPgJwA==}
- engines: {node: '>= 10'}
-
- detect-libc@2.1.2:
- resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
- engines: {node: '>=8'}
-
- pnpm@11.9.0:
- resolution: {integrity: sha512-vWgtXQP+Ul73yf1ngMaITR51asTJyf4AxTh4KCQxDc+Q493E9Tg18G3669UIXkGFXgvLs7YN4qxburieUDbwOw==}
- engines: {node: '>=22.13'}
- hasBin: true
-
-snapshots:
-
- '@pnpm/exe@11.9.0':
- dependencies:
- '@reflink/reflink': 0.1.19
- detect-libc: 2.1.2
- optionalDependencies:
- '@pnpm/linux-arm64': 11.9.0
- '@pnpm/linux-x64': 11.9.0
- '@pnpm/linuxstatic-arm64': 11.9.0
- '@pnpm/linuxstatic-x64': 11.9.0
- '@pnpm/macos-arm64': 11.9.0
- '@pnpm/win-arm64': 11.9.0
- '@pnpm/win-x64': 11.9.0
-
- '@pnpm/linux-arm64@11.9.0':
- optional: true
-
- '@pnpm/linux-x64@11.9.0':
- optional: true
-
- '@pnpm/linuxstatic-arm64@11.9.0':
- optional: true
-
- '@pnpm/linuxstatic-x64@11.9.0':
- optional: true
-
- '@pnpm/macos-arm64@11.9.0':
- optional: true
-
- '@pnpm/win-arm64@11.9.0':
- optional: true
-
- '@pnpm/win-x64@11.9.0':
- optional: true
-
- '@reflink/reflink-darwin-arm64@0.1.19':
- optional: true
-
- '@reflink/reflink-darwin-x64@0.1.19':
- optional: true
-
- '@reflink/reflink-linux-arm64-gnu@0.1.19':
- optional: true
-
- '@reflink/reflink-linux-arm64-musl@0.1.19':
- optional: true
-
- '@reflink/reflink-linux-x64-gnu@0.1.19':
- optional: true
-
- '@reflink/reflink-linux-x64-musl@0.1.19':
- optional: true
-
- '@reflink/reflink-win32-arm64-msvc@0.1.19':
- optional: true
-
- '@reflink/reflink-win32-x64-msvc@0.1.19':
- optional: true
-
- '@reflink/reflink@0.1.19':
- optionalDependencies:
- '@reflink/reflink-darwin-arm64': 0.1.19
- '@reflink/reflink-darwin-x64': 0.1.19
- '@reflink/reflink-linux-arm64-gnu': 0.1.19
- '@reflink/reflink-linux-arm64-musl': 0.1.19
- '@reflink/reflink-linux-x64-gnu': 0.1.19
- '@reflink/reflink-linux-x64-musl': 0.1.19
- '@reflink/reflink-win32-arm64-msvc': 0.1.19
- '@reflink/reflink-win32-x64-msvc': 0.1.19
-
- detect-libc@2.1.2: {}
-
- pnpm@11.9.0: {}
-
----
lockfileVersion: '9.0'
settings:
@@ -214,6 +15,15 @@ catalogs:
'@playwright/test':
specifier: 1.60.0
version: 1.60.0
+ '@sveltejs/kit':
+ specifier: 2.68.0
+ version: 2.68.0
+ '@sveltejs/package':
+ specifier: 2.5.8
+ version: 2.5.8
+ '@sveltejs/vite-plugin-svelte':
+ specifier: 6.2.4
+ version: 6.2.4
'@testing-library/react':
specifier: 16.3.0
version: 16.3.0
@@ -298,6 +108,12 @@ catalogs:
stream-browserify:
specifier: 3.0.0
version: 3.0.0
+ svelte:
+ specifier: 5.56.4
+ version: 5.56.4
+ svelte-check:
+ specifier: 4.7.1
+ version: 4.7.1
tslib:
specifier: 2.8.1
version: 2.8.1
@@ -381,7 +197,7 @@ importers:
version: 24.7.2
'@vitest/browser-playwright':
specifier: 'catalog:'
- version: 4.1.8(playwright@1.60.0)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vitest@4.1.8)
+ version: 4.1.8(playwright@1.60.0)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vitest@4.1.8)
eslint:
specifier: 'catalog:'
version: 9.39.4(jiti@2.7.0)
@@ -399,13 +215,13 @@ importers:
version: 6.1.3
rolldown:
specifier: 'catalog:'
- version: 1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.11.1)
+ version: 1.0.0-beta.45(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)
typescript:
specifier: 'catalog:'
version: 5.9.3
vitest:
specifier: 'catalog:'
- version: 4.1.8(@types/node@24.7.2)(@vitest/browser-playwright@4.1.8)(jsdom@27.0.1)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ version: 4.1.8(@types/node@24.7.2)(@vitest/browser-playwright@4.1.8)(jsdom@27.0.1)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
packages/express:
dependencies:
@@ -445,13 +261,13 @@ importers:
version: 6.1.3
rolldown:
specifier: 'catalog:'
- version: 1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.11.1)
+ version: 1.0.0-beta.45(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)
typescript:
specifier: 'catalog:'
version: 5.9.3
vitest:
specifier: 'catalog:'
- version: 4.1.8(@types/node@22.15.3)(@vitest/browser-playwright@4.1.8)(jsdom@27.0.1)(vite@7.3.5(@types/node@22.15.3)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ version: 4.1.8(@types/node@22.15.3)(@vitest/browser-playwright@4.1.8)(jsdom@27.0.1)(vite@8.1.0(@types/node@22.15.3)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
packages/javascript:
dependencies:
@@ -482,13 +298,13 @@ importers:
version: 6.1.3
rolldown:
specifier: 'catalog:'
- version: 1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.11.1)
+ version: 1.0.0-beta.45(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)
typescript:
specifier: 'catalog:'
version: 5.9.3
vitest:
specifier: 'catalog:'
- version: 4.1.8(@types/node@24.7.2)(@vitest/browser-playwright@4.1.8)(jsdom@27.0.1)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ version: 4.1.8(@types/node@24.7.2)(@vitest/browser-playwright@4.1.8)(jsdom@27.0.1)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
packages/nextjs:
dependencies:
@@ -522,7 +338,7 @@ importers:
version: 9.39.4(jiti@2.7.0)
next:
specifier: 15.5.18
- version: 15.5.18(@playwright/test@1.60.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ version: 15.5.18(@babel/core@7.29.7)(@playwright/test@1.60.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
prettier:
specifier: 'catalog:'
version: 3.6.2
@@ -534,13 +350,13 @@ importers:
version: 6.1.3
rolldown:
specifier: 'catalog:'
- version: 1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.11.1)
+ version: 1.0.0-beta.45(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)
typescript:
specifier: 'catalog:'
version: 5.9.3
vitest:
specifier: 'catalog:'
- version: 4.1.8(@types/node@24.7.2)(@vitest/browser-playwright@4.1.8)(jsdom@27.0.1)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ version: 4.1.8(@types/node@24.7.2)(@vitest/browser-playwright@4.1.8)(jsdom@27.0.1)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
packages/node:
dependencies:
@@ -592,13 +408,13 @@ importers:
version: 6.1.3
rolldown:
specifier: 'catalog:'
- version: 1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.11.1)
+ version: 1.0.0-beta.45(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)
typescript:
specifier: 'catalog:'
version: 5.9.3
vitest:
specifier: 'catalog:'
- version: 4.1.8(@types/node@24.7.2)(@vitest/browser-playwright@4.1.8)(jsdom@27.0.1)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ version: 4.1.8(@types/node@24.7.2)(@vitest/browser-playwright@4.1.8)(jsdom@27.0.1)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
packages/nuxt:
dependencies:
@@ -626,7 +442,7 @@ importers:
devDependencies:
'@nuxt/devtools':
specifier: 2.6.4
- version: 2.6.4(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vue@3.5.30(typescript@5.9.3))
+ version: 2.6.4(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vue@3.5.30(typescript@5.9.3))
'@nuxt/module-builder':
specifier: 1.0.1
version: 1.0.1(@nuxt/cli@3.36.0(@nuxt/schema@3.21.7)(cac@6.7.14)(magicast@0.5.3))(@vue/compiler-core@3.5.38)(esbuild@0.28.1)(typescript@5.9.3)(vue@3.5.30(typescript@5.9.3))
@@ -635,7 +451,7 @@ importers:
version: 3.21.7
'@nuxt/test-utils':
specifier: 3.17.2
- version: 3.17.2(@playwright/test@1.60.0)(@types/node@24.7.2)(@vue/test-utils@2.4.6)(jiti@2.7.0)(jsdom@27.0.1)(magicast@0.5.3)(playwright-core@1.60.0)(terser@5.48.0)(typescript@5.9.3)(vitest@4.1.8)(yaml@2.9.0)
+ version: 3.17.2(@playwright/test@1.60.0)(@types/node@24.7.2)(@vue/test-utils@2.4.6)(jiti@2.7.0)(jsdom@27.0.1)(lightningcss@1.32.0)(magicast@0.5.3)(playwright-core@1.60.0)(terser@5.48.0)(typescript@5.9.3)(vitest@4.1.8)(yaml@2.9.0)
'@thunderid/eslint-plugin':
specifier: 'catalog:'
version: 0.0.2(@typescript-eslint/utils@8.61.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)(vitest@4.1.8)(vue-eslint-parser@10.4.1(eslint@9.39.4(jiti@2.7.0)))
@@ -653,13 +469,13 @@ importers:
version: 1.15.11
nuxt:
specifier: 3.21.7
- version: 3.21.7(@parcel/watcher@2.5.6)(@types/node@24.7.2)(@vue/compiler-sfc@3.5.38)(cac@6.7.14)(db0@0.3.4)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.11.1)(magicast@0.5.3)(optionator@0.9.4)(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup-plugin-visualizer@7.0.1(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup@4.62.2))(rollup@4.62.2)(srvx@0.11.17)(terser@5.48.0)(typescript@5.9.3)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(yaml@2.9.0)
+ version: 3.21.7(@parcel/watcher@2.5.6)(@types/node@24.7.2)(@vue/compiler-sfc@3.5.38)(cac@6.7.14)(db0@0.3.4)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.11.1)(lightningcss@1.32.0)(magicast@0.5.3)(optionator@0.9.4)(rolldown@1.1.3)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.3)(rollup@4.62.2))(rollup@4.62.2)(srvx@0.11.17)(terser@5.48.0)(typescript@5.9.3)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(yaml@2.9.0)
typescript:
specifier: 'catalog:'
version: 5.9.3
vitest:
specifier: 'catalog:'
- version: 4.1.8(@types/node@24.7.2)(@vitest/browser-playwright@4.1.8)(jsdom@27.0.1)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ version: 4.1.8(@types/node@24.7.2)(@vitest/browser-playwright@4.1.8)(jsdom@27.0.1)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
packages/react:
dependencies:
@@ -699,7 +515,7 @@ importers:
version: 19.2.3(@types/react@19.2.14)
'@vitest/browser-playwright':
specifier: 'catalog:'
- version: 4.1.8(playwright@1.60.0)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vitest@4.1.8)
+ version: 4.1.8(playwright@1.60.0)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vitest@4.1.8)
eslint:
specifier: 'catalog:'
version: 9.39.4(jiti@2.7.0)
@@ -717,13 +533,13 @@ importers:
version: 6.1.3
rolldown:
specifier: 'catalog:'
- version: 1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.11.1)
+ version: 1.0.0-beta.45(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)
typescript:
specifier: 'catalog:'
version: 5.9.3
vitest:
specifier: 'catalog:'
- version: 4.1.8(@types/node@24.7.2)(@vitest/browser-playwright@4.1.8)(jsdom@27.0.1)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ version: 4.1.8(@types/node@24.7.2)(@vitest/browser-playwright@4.1.8)(jsdom@27.0.1)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
packages/react-router:
dependencies:
@@ -751,7 +567,7 @@ importers:
version: 19.2.14
'@vitest/browser-playwright':
specifier: 'catalog:'
- version: 4.1.8(playwright@1.60.0)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vitest@4.1.8)
+ version: 4.1.8(playwright@1.60.0)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vitest@4.1.8)
eslint:
specifier: 'catalog:'
version: 9.39.4(jiti@2.7.0)
@@ -772,13 +588,68 @@ importers:
version: 6.1.3
rolldown:
specifier: 'catalog:'
- version: 1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.11.1)
+ version: 1.0.0-beta.45(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)
+ typescript:
+ specifier: 'catalog:'
+ version: 5.9.3
+ vitest:
+ specifier: 'catalog:'
+ version: 4.1.8(@types/node@24.7.2)(@vitest/browser-playwright@4.1.8)(jsdom@27.0.1)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+
+ packages/sveltekit:
+ dependencies:
+ '@thunderid/browser':
+ specifier: workspace:^
+ version: link:../browser
+ '@thunderid/node':
+ specifier: workspace:^
+ version: link:../node
+ jose:
+ specifier: 'catalog:'
+ version: 5.2.0
+ tslib:
+ specifier: 'catalog:'
+ version: 2.8.1
+ devDependencies:
+ '@sveltejs/kit':
+ specifier: 'catalog:'
+ version: 2.68.0(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.56.4(@typescript-eslint/types@8.61.1))(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)))(svelte@5.56.4(@typescript-eslint/types@8.61.1))(typescript@5.9.3)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ '@sveltejs/package':
+ specifier: 'catalog:'
+ version: 2.5.8(svelte@5.56.4(@typescript-eslint/types@8.61.1))(typescript@5.9.3)
+ '@sveltejs/vite-plugin-svelte':
+ specifier: 'catalog:'
+ version: 6.2.4(svelte@5.56.4(@typescript-eslint/types@8.61.1))(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ '@thunderid/eslint-plugin':
+ specifier: 'catalog:'
+ version: 0.0.2(@typescript-eslint/utils@8.61.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)(vitest@4.1.8)(vue-eslint-parser@10.4.1(eslint@9.39.4(jiti@2.7.0)))
+ '@thunderid/prettier-config':
+ specifier: 'catalog:'
+ version: 0.0.2
+ '@types/node':
+ specifier: 'catalog:'
+ version: 24.7.2
+ eslint:
+ specifier: 'catalog:'
+ version: 9.39.4(jiti@2.7.0)
+ prettier:
+ specifier: 'catalog:'
+ version: 3.6.2
+ rimraf:
+ specifier: 'catalog:'
+ version: 6.1.3
+ svelte:
+ specifier: 'catalog:'
+ version: 5.56.4(@typescript-eslint/types@8.61.1)
+ svelte-check:
+ specifier: 'catalog:'
+ version: 4.7.1(picomatch@4.0.4)(svelte@5.56.4(@typescript-eslint/types@8.61.1))(typescript@5.9.3)
typescript:
specifier: 'catalog:'
version: 5.9.3
vitest:
specifier: 'catalog:'
- version: 4.1.8(@types/node@24.7.2)(@vitest/browser-playwright@4.1.8)(jsdom@27.0.1)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ version: 4.1.8(@types/node@24.7.2)(@vitest/browser-playwright@4.1.8)(jsdom@27.0.1)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
packages/tanstack-router:
dependencies:
@@ -821,13 +692,13 @@ importers:
version: 6.1.3
rolldown:
specifier: 'catalog:'
- version: 1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.11.1)
+ version: 1.0.0-beta.45(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)
typescript:
specifier: 'catalog:'
version: 5.9.3
vitest:
specifier: 'catalog:'
- version: 4.1.8(@types/node@24.7.2)(@vitest/browser-playwright@4.1.8)(jsdom@27.0.1)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ version: 4.1.8(@types/node@24.7.2)(@vitest/browser-playwright@4.1.8)(jsdom@27.0.1)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
packages/vue:
dependencies:
@@ -842,7 +713,7 @@ importers:
version: 2.8.1
vue-router:
specifier: '>=4.0.0'
- version: 5.1.0(@vue/compiler-sfc@3.5.38)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vue@3.5.30(typescript@5.9.3))
+ version: 5.1.0(@vue/compiler-sfc@3.5.38)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vue@3.5.30(typescript@5.9.3))
devDependencies:
'@thunderid/eslint-plugin':
specifier: 'catalog:'
@@ -867,119 +738,50 @@ importers:
version: 6.1.3
rolldown:
specifier: 'catalog:'
- version: 1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.11.1)
+ version: 1.0.0-beta.45(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)
typescript:
specifier: 'catalog:'
version: 5.9.3
vitest:
specifier: 'catalog:'
- version: 4.1.8(@types/node@24.7.2)(@vitest/browser-playwright@4.1.8)(jsdom@27.0.1)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ version: 4.1.8(@types/node@24.7.2)(@vitest/browser-playwright@4.1.8)(jsdom@27.0.1)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
vue:
specifier: 3.5.30
version: 3.5.30(typescript@5.9.3)
- samples/browser/quickstart:
- dependencies:
- '@thunderid/browser':
- specifier: workspace:*
- version: link:../../../packages/browser
- devDependencies:
- vite:
- specifier: ^6.3.5
- version: 6.4.3(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
-
- samples/express/quickstart:
- dependencies:
- '@thunderid/express':
- specifier: workspace:*
- version: link:../../../packages/express
- cookie-parser:
- specifier: ^1.4.7
- version: 1.4.7
- express:
- specifier: ^4.21.2
- version: 4.22.2
-
- samples/nextjs/quickstart:
+ samples/sveltekit:
dependencies:
- '@thunderid/nextjs':
- specifier: workspace:*
- version: link:../../../packages/nextjs
- next:
- specifier: ^15.3.3
- version: 15.5.18(@playwright/test@1.60.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
- react:
- specifier: ^19.2.3
- version: 19.2.3
- react-dom:
- specifier: ^19.2.3
- version: 19.2.3(react@19.2.3)
+ '@thunderid/sveltekit':
+ specifier: workspace:^
+ version: link:../../packages/sveltekit
devDependencies:
- '@types/node':
- specifier: ^24.7.2
- version: 24.7.2
- '@types/react':
- specifier: ^19.2.14
- version: 19.2.14
- '@types/react-dom':
- specifier: ^19.2.3
- version: 19.2.3(@types/react@19.2.14)
+ '@sveltejs/adapter-auto':
+ specifier: ^7.0.1
+ version: 7.0.1(@sveltejs/kit@2.68.0(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.4(@typescript-eslint/types@8.61.1))(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)))(svelte@5.56.4(@typescript-eslint/types@8.61.1))(typescript@6.0.3)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)))
+ '@sveltejs/kit':
+ specifier: ^2.63.0
+ version: 2.68.0(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.4(@typescript-eslint/types@8.61.1))(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)))(svelte@5.56.4(@typescript-eslint/types@8.61.1))(typescript@6.0.3)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ '@sveltejs/vite-plugin-svelte':
+ specifier: ^7.1.2
+ version: 7.1.2(svelte@5.56.4(@typescript-eslint/types@8.61.1))(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ prettier:
+ specifier: ^3.8.3
+ version: 3.9.4
+ prettier-plugin-svelte:
+ specifier: ^4.1.0
+ version: 4.1.1(prettier@3.9.4)(svelte@5.56.4(@typescript-eslint/types@8.61.1))
+ svelte:
+ specifier: ^5.56.1
+ version: 5.56.4(@typescript-eslint/types@8.61.1)
+ svelte-check:
+ specifier: ^4.6.0
+ version: 4.7.1(picomatch@4.0.4)(svelte@5.56.4(@typescript-eslint/types@8.61.1))(typescript@6.0.3)
typescript:
- specifier: ^5.9.3
- version: 5.9.3
-
- samples/nuxt/quickstart:
- dependencies:
- '@thunderid/nuxt':
- specifier: workspace:*
- version: link:../../../packages/nuxt
- nuxt:
- specifier: ^4.4.8
- version: 4.4.8(@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7))(@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7))(@parcel/watcher@2.5.6)(@types/node@24.7.2)(@vue/compiler-sfc@3.5.38)(cac@6.7.14)(db0@0.3.4)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.11.1)(magicast@0.5.3)(optionator@0.9.4)(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup-plugin-visualizer@7.0.1(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup@4.62.2))(rollup@4.62.2)(terser@5.48.0)(typescript@5.9.3)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(yaml@2.9.0)
- vue:
- specifier: ^3.5.13
- version: 3.5.30(typescript@5.9.3)
-
- samples/react/quickstart:
- dependencies:
- '@thunderid/react':
- specifier: workspace:*
- version: link:../../../packages/react
- '@thunderid/react-router':
- specifier: workspace:*
- version: link:../../../packages/react-router
- react:
- specifier: ^19.2.3
- version: 19.2.3
- react-dom:
- specifier: ^19.2.3
- version: 19.2.3(react@19.2.3)
- react-router:
- specifier: ^7.6.2
- version: 7.15.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
- devDependencies:
- '@vitejs/plugin-react':
- specifier: ^4.5.2
- version: 4.7.0(vite@6.4.3(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
- vite:
- specifier: ^6.3.5
- version: 6.4.3(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
-
- samples/vue/quickstart:
- dependencies:
- '@thunderid/vue':
- specifier: workspace:*
- version: link:../../../packages/vue
- vue:
- specifier: ^3.5.13
- version: 3.5.30(typescript@5.9.3)
- devDependencies:
- '@vitejs/plugin-vue':
- specifier: ^5.2.3
- version: 5.2.4(vite@6.4.3(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vue@3.5.30(typescript@5.9.3))
+ specifier: ^6.0.3
+ version: 6.0.3
vite:
- specifier: ^6.3.5
- version: 6.4.3(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
+ specifier: ^8.0.16
+ version: 8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
packages:
@@ -1108,18 +910,6 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-react-jsx-self@7.29.7':
- resolution: {integrity: sha512-TL0hMc9xzy86VD31nUiwzd5otRAcyEPcsegCxolO0PvcXuH1v0kECe/UIznYFihpkvU5wg/jk4v0TTEFfm53fw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
- '@babel/plugin-transform-react-jsx-source@7.29.7':
- resolution: {integrity: sha512-06IyK09H3wi4cGbhDBwp5gUGo0IKtnYa8tyTiephirPCK6fbobVGiXMMI5zLQ4aKEYP3wZ3ArU44o+8KMrSG/Q==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
'@babel/plugin-transform-typescript@7.29.7':
resolution: {integrity: sha512-jK52h8LaLc7JarhQV2ofeFMts4H7vnOXnqZNA6fYglBTZewRBE51KWt3BUltW1P+KoPsYkHoJeXePuz4zo2LMw==}
engines: {node: '>=6.9.0'}
@@ -1229,6 +1019,9 @@ packages:
'@emnapi/core@1.10.0':
resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==}
+ '@emnapi/core@1.11.1':
+ resolution: {integrity: sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==}
+
'@emnapi/runtime@1.10.0':
resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==}
@@ -1238,6 +1031,9 @@ packages:
'@emnapi/wasi-threads@1.2.1':
resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==}
+ '@emnapi/wasi-threads@1.2.2':
+ resolution: {integrity: sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==}
+
'@emotion/babel-plugin@11.13.5':
resolution: {integrity: sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==}
@@ -2015,6 +1811,12 @@ packages:
'@emnapi/core': ^1.7.1
'@emnapi/runtime': ^1.7.1
+ '@napi-rs/wasm-runtime@1.1.6':
+ resolution: {integrity: sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg==}
+ peerDependencies:
+ '@emnapi/core': ^1.7.1
+ '@emnapi/runtime': ^1.7.1
+
'@next/env@15.5.18':
resolution: {integrity: sha512-hAV85Ckd9QR6RvH04MEKwsfLTksvFpO47j9xwtoIuvuPnlwecpSi+uZTtm8HirVbtlI2Fnz//xpcSTjFdyJk+g==}
@@ -2151,30 +1953,10 @@ packages:
peerDependencies:
nuxt: ^3.21.7
- '@nuxt/nitro-server@4.4.8':
- resolution: {integrity: sha512-cc1fxgSx34Htesx3JBO+hMhbqd6VljXDC06P+UOA5z53cR224TmEFYT/MUuZDkrtt4qLnSG8yq0IxhEM3NCUlw==}
- engines: {node: ^22.12.0 || ^24.11.0 || >=26.0.0}
- peerDependencies:
- '@babel/plugin-proposal-decorators': ^7.25.0
- '@babel/plugin-syntax-typescript': ^7.25.0
- '@rollup/plugin-babel': ^6.0.0 || ^7.0.0
- nuxt: ^4.4.8
- peerDependenciesMeta:
- '@babel/plugin-proposal-decorators':
- optional: true
- '@babel/plugin-syntax-typescript':
- optional: true
- '@rollup/plugin-babel':
- optional: true
-
'@nuxt/schema@3.21.7':
resolution: {integrity: sha512-H35IqlFu4YHXnW0Aw24yCpRuWOJjd9iwS6u9vinsopJo8rrM1/2aKMajX3l9ifhni1XN8nqcKo622z+5ZCQM4w==}
engines: {node: ^14.18.0 || >=16.10.0}
- '@nuxt/schema@4.4.8':
- resolution: {integrity: sha512-igfWuMF0x0Pmx/XwhPwH/bcXgbuwNnjUjqxCAsY6VQhmGKo0e9soJq3Q0ohj+rBkBfX6o2ysTP1/t2M82aK4qA==}
- engines: {node: ^14.18.0 || >=16.10.0}
-
'@nuxt/telemetry@2.8.0':
resolution: {integrity: sha512-zAwXY24KYvpLTmiV+osagd2EHkfs5IF+7oDZYTQoit5r0kPlwaCNlzHp5I/wUAWT4LBw6lG8gZ6bWidAdv/erQ==}
engines: {node: '>=18.12.0'}
@@ -2232,26 +2014,6 @@ packages:
rollup-plugin-visualizer:
optional: true
- '@nuxt/vite-builder@4.4.8':
- resolution: {integrity: sha512-54M/k6qVY85Qeoe1m/lPZ0SANGJEbI50r5uYgh3XT942ENve3K5Nk6TMYp8i5wGGC4TWvPea+1mlCrp8rjsXag==}
- engines: {node: ^22.12.0 || ^24.11.0 || >=26.0.0}
- peerDependencies:
- '@babel/plugin-proposal-decorators': ^7.25.0
- '@babel/plugin-syntax-jsx': ^7.25.0
- nuxt: 4.4.8
- rolldown: ^1.0.0-beta.38
- rollup-plugin-visualizer: ^6.0.0 || ^7.0.1
- vue: ^3.3.4
- peerDependenciesMeta:
- '@babel/plugin-proposal-decorators':
- optional: true
- '@babel/plugin-syntax-jsx':
- optional: true
- rolldown:
- optional: true
- rollup-plugin-visualizer:
- optional: true
-
'@one-ini/wasm@0.1.1':
resolution: {integrity: sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==}
@@ -2261,84 +2023,42 @@ packages:
cpu: [arm]
os: [android]
- '@oxc-minify/binding-android-arm-eabi@0.133.0':
- resolution: {integrity: sha512-D8M1+nqwLaACHZsld/t6f+cE4N97XOu5iQ88f1ZaYH4ptFzFrXo5N7wUKACTI4xmNUD+6W0Y4Apk5U2r8HLdBQ==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm]
- os: [android]
-
'@oxc-minify/binding-android-arm64@0.132.0':
resolution: {integrity: sha512-XYogHG1aSjNEMKWUfWmBWtN9rnpQ2nA4MiecdiAOfofDHTQiU5ybrPH6VvDAtRXf2kr8WtPNX7eenhC3uWFWoA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [android]
- '@oxc-minify/binding-android-arm64@0.133.0':
- resolution: {integrity: sha512-dnQUJdpOEh/nZfQtvGGN61VcCCcPJ2aCm+ndl8GIA2lk2GpmIBgZ9h+phLVhgUFGt2es+2AQc0xvtK7RFNsViw==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [android]
-
'@oxc-minify/binding-darwin-arm64@0.132.0':
resolution: {integrity: sha512-gm/M5dgm7IvA/g9tweMqiFyD15yKrxGUX3myjFP+EYIYVW+RYuvwU5MAIZUOxXY0GnjU1/iRN/JkLhwvhZVsDQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [darwin]
- '@oxc-minify/binding-darwin-arm64@0.133.0':
- resolution: {integrity: sha512-K6+aXlOlsCcibpTiTitQYNXWGGwea0fEKF/kGHCNB+MNqOLCkdC7wesycaABYcXcyr58DhDoJnVb8E4Hq95iVw==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [darwin]
-
'@oxc-minify/binding-darwin-x64@0.132.0':
resolution: {integrity: sha512-s7ecbOJeLccy3nqQlkiq9cV0D0q8j1OyHmxRz22m8qZlcKrc3s4gmhwj5ertipA8ePn3FOXv4azf8b5gatDDug==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [darwin]
- '@oxc-minify/binding-darwin-x64@0.133.0':
- resolution: {integrity: sha512-BFEXHxYNwThyaO63p1VE5MOOXNGkHsHfkmajOCKXH40TfllTHQenXhpJ9mHDoF7EhaQjArpPjlDY88BuPjhurw==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [x64]
- os: [darwin]
-
'@oxc-minify/binding-freebsd-x64@0.132.0':
resolution: {integrity: sha512-pdYVNmY9NgKetEWzXlVIUlPm4Z3Gz979nTbZUpHlqpjU/rtulpm0fgROo6rlTk+W0HhZCCZ0Jzy1LBKgn5g3mg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [freebsd]
- '@oxc-minify/binding-freebsd-x64@0.133.0':
- resolution: {integrity: sha512-oT5dbcXnS/cbpdXCpudAeVg/fqH1XnKhLUE/vkuRTuocjOd/GA2MoNMMhLWUvqNXO0xJnYmo2ISmDxShkItfOQ==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [x64]
- os: [freebsd]
-
'@oxc-minify/binding-linux-arm-gnueabihf@0.132.0':
resolution: {integrity: sha512-QdV2II2mrbygZO/D+umhb+jMs+kmNO2pvQ+kahY8DN7qZVvaR2CiWBQaAxi3yuI0JvmymcUBEFhRrXsaL/lUqg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm]
os: [linux]
- '@oxc-minify/binding-linux-arm-gnueabihf@0.133.0':
- resolution: {integrity: sha512-tJ3B+b7DOuTsIMXSmu5xHHCakrBqqcrp4COYd/lelOdDvkbFoDRGnwH91POUOSUEOI/WLzIMkDqAH2SZ3N2jhQ==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm]
- os: [linux]
-
'@oxc-minify/binding-linux-arm-musleabihf@0.132.0':
resolution: {integrity: sha512-6OJMBb53luST+xxNSzzg/rRkxMnR4NFQegdu3PCuDEUtP2OEgjmpvvBrHghITpzRsUqnQ/YTl/ItDiLVeoslUA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm]
os: [linux]
- '@oxc-minify/binding-linux-arm-musleabihf@0.133.0':
- resolution: {integrity: sha512-XMUHfdilk1KTtOM2vA1bwDso07/wkLm/GgDOO9z/ioxrZoQyjXnJRW665VXa08z2BqEgwHRc1zH9p7s6sKPQbg==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm]
- os: [linux]
-
'@oxc-minify/binding-linux-arm64-gnu@0.132.0':
resolution: {integrity: sha512-ND2GZp6StGQWhSBwOfX13kCCG7O/Z6sEL/dBsWSIgZaetEDUPLOWtKIm2f+TuYUSSmU5nJTSSE5psh9kGcCweQ==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -2346,13 +2066,6 @@ packages:
os: [linux]
libc: [glibc]
- '@oxc-minify/binding-linux-arm64-gnu@0.133.0':
- resolution: {integrity: sha512-UEff2jopbwJ4SndmxK06uqXrOpwWiJERJPdgDTBywwXP9QgW0p1YkQnBNt4+jK0I/hdLpbbyaCLLuUPKbaU70w==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [linux]
- libc: [glibc]
-
'@oxc-minify/binding-linux-arm64-musl@0.132.0':
resolution: {integrity: sha512-3k8ezEKmxs9Wel4N4vfF/8u764mA57j065P8nB4cU2PO/lLKloN0OA41ynfDUrSM1f5jBuF8+mLOj++aNnu4OA==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -2360,13 +2073,6 @@ packages:
os: [linux]
libc: [musl]
- '@oxc-minify/binding-linux-arm64-musl@0.133.0':
- resolution: {integrity: sha512-yqskeIapQvx7Tu/OLsepLPcGsHGzfYy9PX6gIbhaOHfF+LA2zHBKnKb587FGx+lQjHLQR0llfmoSuXQ6q2EN+A==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [linux]
- libc: [musl]
-
'@oxc-minify/binding-linux-ppc64-gnu@0.132.0':
resolution: {integrity: sha512-vM6jZIxoHoIS5rPb3K3Di0IureL4oU+wOWBy6tLSrjwW2IHqy0442CzO/Ks2U9VCuHV1q0bUGCF0H6AxCEjJHQ==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -2374,13 +2080,6 @@ packages:
os: [linux]
libc: [glibc]
- '@oxc-minify/binding-linux-ppc64-gnu@0.133.0':
- resolution: {integrity: sha512-r7PnUNxRB9D/gQjCVeasoieJVUF48n43rvk/jYbGAw9sRfYGoEo/rOs0GyTZU9ttss8HzjBaerAbADbAL8K8vw==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [ppc64]
- os: [linux]
- libc: [glibc]
-
'@oxc-minify/binding-linux-riscv64-gnu@0.132.0':
resolution: {integrity: sha512-KburrmtWpeZg58uo275QRwy5bbNOXQd1WDI2tGxkY2dJBlO7N5V9+Uthvqn6KI/6RBtjd2T5NO4dCC0fgUxGvw==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -2388,13 +2087,6 @@ packages:
os: [linux]
libc: [glibc]
- '@oxc-minify/binding-linux-riscv64-gnu@0.133.0':
- resolution: {integrity: sha512-omXWC8I9lAMMjQIeadfItP5H4VDAiuU2BiVCtHMH3ktTbFq04sxscZhK4NFUUuw3fApDdXmfd7LW18q0JBHarg==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [riscv64]
- os: [linux]
- libc: [glibc]
-
'@oxc-minify/binding-linux-riscv64-musl@0.132.0':
resolution: {integrity: sha512-MnahA2MNEtEdxWdUy24JXkMUNgGPqH285GL2L22Zz7k9ixsguFD+bTbbcR88pNqdb075nazozzv3edF83+azCA==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -2402,13 +2094,6 @@ packages:
os: [linux]
libc: [musl]
- '@oxc-minify/binding-linux-riscv64-musl@0.133.0':
- resolution: {integrity: sha512-LtFA3Hi8LVD/zuiPLKy9Aiz7N1IOj8rRhdXiW38GKQ9mAhj+Ko6IHGcTk2A7yNDA1DZBl7r+Qd4PEGWgVelPPw==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [riscv64]
- os: [linux]
- libc: [musl]
-
'@oxc-minify/binding-linux-s390x-gnu@0.132.0':
resolution: {integrity: sha512-VE99UPZyQO2MAG4gLGXzrBumD5PGNaiWe+EakaROGCVbT0YH/d9z2ByYqbdWAMEBiTHjthyZp6UUEFVda+LnpQ==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -2416,13 +2101,6 @@ packages:
os: [linux]
libc: [glibc]
- '@oxc-minify/binding-linux-s390x-gnu@0.133.0':
- resolution: {integrity: sha512-rFsPDsT1j3beSInbrFukAAlTg101PcqdVMXDioR9AgJ1180tZ8s8D+pNDpQTRmPd3956mnpAE+Cs77Xoo/QZAQ==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [s390x]
- os: [linux]
- libc: [glibc]
-
'@oxc-minify/binding-linux-x64-gnu@0.132.0':
resolution: {integrity: sha512-FKxBkYrSAWNF4V6MacAJ/1E2SJobKKQ2CtW6Aq+pLzzEOjgk2SmxnK7I0bATlFH/O70tbTKDzWb17bySGYRcog==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -2430,13 +2108,6 @@ packages:
os: [linux]
libc: [glibc]
- '@oxc-minify/binding-linux-x64-gnu@0.133.0':
- resolution: {integrity: sha512-xlrtAmDWZI8BEmsaXMYfblWuLIY5UnnRkit1VLkmVDb5ceZRZf4oEXK1QeYf5Z33dT0WK1Ek++P+TL/ZMCpyGQ==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [x64]
- os: [linux]
- libc: [glibc]
-
'@oxc-minify/binding-linux-x64-musl@0.132.0':
resolution: {integrity: sha512-W8IqA2XRvg/b6l/f+2SdV45/KKmpmwTabrjiMtpg/wzJU5cmKUoHihtJXPc9NA0Ls9S/oP0wB3PMCRQoNr5J1A==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -2444,155 +2115,77 @@ packages:
os: [linux]
libc: [musl]
- '@oxc-minify/binding-linux-x64-musl@0.133.0':
- resolution: {integrity: sha512-kd36CDkTkZDMNfVceNTSfpWnitE1+GjZmzJCeq8yaxsgvs/MXg8aauI2RgFjElYZIHSMyZku4pQ7Jtl3ZEYI6w==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [x64]
- os: [linux]
- libc: [musl]
-
'@oxc-minify/binding-openharmony-arm64@0.132.0':
resolution: {integrity: sha512-X1BL65pI9bfOesLdVUcErjbEAUA3qmzjXCwXPCYsFZT7ela7SsK85+sN3m2TJNxmX1mrFKNg5g8bH+d2zHresw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [openharmony]
- '@oxc-minify/binding-openharmony-arm64@0.133.0':
- resolution: {integrity: sha512-pI38dJBqfkNbFoL/GEarAzGDjKGVCZTdg0a8NKh1PP9GqWleXT6HLtXE4CZ+54e+2u68qVYVBwhbWAiRfwlUZA==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [openharmony]
-
'@oxc-minify/binding-wasm32-wasi@0.132.0':
resolution: {integrity: sha512-QcIiwBOj+bV5ub5x39Xb+v0boviykxUtVvVJaIEbG/IH97avFzZcBXec8awYlemLDvgG4WKQwr17x7COR5zwFg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [wasm32]
- '@oxc-minify/binding-wasm32-wasi@0.133.0':
- resolution: {integrity: sha512-AkLr+d+LLY4/55J/TrE0srNBUpZPzyU+cygdse7yZ9AhCndryNqe2y6e8naVK0TV7n8lxBd2OGGJAkho6blAkw==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [wasm32]
-
'@oxc-minify/binding-win32-arm64-msvc@0.132.0':
resolution: {integrity: sha512-ahFMaa84QVTIROWpLhZcS9jKIv+CXzsJaMmgje7JtlVp1Kaar6tzVCt3EH2aPhSc8RvbGqfmnGdQu/kGwPAZVA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [win32]
- '@oxc-minify/binding-win32-arm64-msvc@0.133.0':
- resolution: {integrity: sha512-V92v7397t2073g+mSfaLHnPeoz6hA/1U4JNLeUBP87eWGZgVxDZ2qz3t3wFyYqXGJ/0VoEwdP8yrHLQQ7QzAOQ==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [win32]
-
'@oxc-minify/binding-win32-ia32-msvc@0.132.0':
resolution: {integrity: sha512-tpBkLklqOnaYtlIh6gjmL60pP0Kn2hwaw1Fw3sJyIKwdkCPHsOPy/MRgBUpM0a/SeGFbsZRQkHnWfZXS1GTbbQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [ia32]
os: [win32]
- '@oxc-minify/binding-win32-ia32-msvc@0.133.0':
- resolution: {integrity: sha512-2DP5RbG/SSaRVtmuwgTH6Ati4+uuOJjoI88dQnC5hD0zCC90EVDXZSXyJQ5i/OxLE1UAy58Wo2DJot/OrUspzA==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [ia32]
- os: [win32]
-
'@oxc-minify/binding-win32-x64-msvc@0.132.0':
resolution: {integrity: sha512-a69yKrBl2p9O8cdAHbHih56eKhcpKJRVkRu/S+CwCdR2Zsh4nnqYIllF96Lxg3jDjRQNL3t0xZNdYBDG5Vgq+w==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [win32]
- '@oxc-minify/binding-win32-x64-msvc@0.133.0':
- resolution: {integrity: sha512-PJ75c6PlBx87tau0W35J43eGCv4wrDmdZ+4ddTZAnGtZqEeCVsLdmDPOEMe2DepogqlSVUF2kGBWtnFUJ5c7Rw==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [x64]
- os: [win32]
-
'@oxc-parser/binding-android-arm-eabi@0.132.0':
resolution: {integrity: sha512-KrLaPWa5c9Y7LkW+rKkaUE3y7DBDrQtaf7rlsSDfv6KAHUjgzAIRA761Lrrp6//Yd/Rlie/yEOt9YENCoJnOcw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm]
os: [android]
- '@oxc-parser/binding-android-arm-eabi@0.133.0':
- resolution: {integrity: sha512-l/44caGse+VpnY9gx0yvvc5QnnG3yG1FO3KZgYvNL1GZrfK86zIwAOgGEVlxDyRymzrU/KHiblPFpevKOmJmUA==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm]
- os: [android]
-
'@oxc-parser/binding-android-arm64@0.132.0':
resolution: {integrity: sha512-SThDrSeamB/kG2+NxcJ5/wSLcV6dUqDknrPLqFYQ0ST/55mtBP4M7Q/f3QbubH6aAd11wpzZn/nwbVRSdobOpg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [android]
- '@oxc-parser/binding-android-arm64@0.133.0':
- resolution: {integrity: sha512-KUHmPMziLBp4u+zbrLdB7iWS7KshuZe+RAp7ELnY9SI9nNXBZ+dp8fiBqWOxhXqn+FQg3a4UcQhwmsJOKV8Jjg==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [android]
-
'@oxc-parser/binding-darwin-arm64@0.132.0':
resolution: {integrity: sha512-Lc0f/TYoKBghE5/2Gsv7bLXk+TJZunx2Tf61X8hG4ARXdc8UYI26dCGccFSd1AyFbK3jfaNXtMnupggDbjPXdQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [darwin]
- '@oxc-parser/binding-darwin-arm64@0.133.0':
- resolution: {integrity: sha512-q8dWmnU/8ea2tga9w2f1PinQ5rcMPDUGkF64T189b65YMjUomET4oy5oRldOr4AwOQkneOG/Zttnz1Dvrc62wg==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [darwin]
-
'@oxc-parser/binding-darwin-x64@0.132.0':
resolution: {integrity: sha512-RG2eJIpf7C21z9HSSXFw1bTArdpKe7Y4fwcJTwRq1yCSe1vSavaN9GA1sm9KqzemTLAGVktQ+7qBTGp0vQeUZg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [darwin]
- '@oxc-parser/binding-darwin-x64@0.133.0':
- resolution: {integrity: sha512-cOKeIELIB2bJnCKwqx4Rdj+1Lss/U6uCbLxRySZrhyOOQa1flKhwZFjEHRHxk8fU1NKmhK5OnTdPQ4CpjuFuVw==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [x64]
- os: [darwin]
-
'@oxc-parser/binding-freebsd-x64@0.132.0':
resolution: {integrity: sha512-wQIPntPLtJ8NcBpvKPbEv3NqzV6k8eP8tP/jE9Rg8HTg/j7urZGFSsTCPCW5k77Qfw2DM4vRvc9p3I4yq/Shvw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [freebsd]
- '@oxc-parser/binding-freebsd-x64@0.133.0':
- resolution: {integrity: sha512-OpaSv4pW3KgFrMYQxTaS0aOE4T1DQF3qZE/4B6uqqv1KgPWWd4UQhJALi8PJPX1RRV5K7ThKXRfF7qGg2+3l1A==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [x64]
- os: [freebsd]
-
'@oxc-parser/binding-linux-arm-gnueabihf@0.132.0':
resolution: {integrity: sha512-PixKEpeSe3yxQWqNyOCBALRYc72+Tj7ILDofUl3iXo25cVOzLA6jHUhmOINRtWIPh7dbUie3QNeabwaQpZTw6w==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm]
os: [linux]
- '@oxc-parser/binding-linux-arm-gnueabihf@0.133.0':
- resolution: {integrity: sha512-JGK1wlGrGwxBIlVSF7KWTX1/ru6BEtf28fRROztDRkLfiW+Kxa4onnriezMIiogfn9hVw2KzYcKiLjkLR2ns8A==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm]
- os: [linux]
-
'@oxc-parser/binding-linux-arm-musleabihf@0.132.0':
resolution: {integrity: sha512-sCR+DzGHlyHKnbA2z9zWjTUhIo8Sy0enJl4RDsBwPmkxYynPatpwOAWe8W5127SlW0boqUWHGtr1NWn5UwIhXQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm]
os: [linux]
- '@oxc-parser/binding-linux-arm-musleabihf@0.133.0':
- resolution: {integrity: sha512-yuZO533Ftonxn/iyoqQzURzLQHMspvsIyfiCSNi1t/ER4eIQaR0SsmUOUm5b/lmSig7IWIUa5/BrbEkAPwcilQ==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm]
- os: [linux]
-
'@oxc-parser/binding-linux-arm64-gnu@0.132.0':
resolution: {integrity: sha512-sQBix5P2cW+IpzTcCwYxnh9yALrKSIkKJThspBvMGcygSMnbzkSvhN7SfuX1hvBk8y1XEChsdkU3ET0V5DmzUw==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -2600,13 +2193,6 @@ packages:
os: [linux]
libc: [glibc]
- '@oxc-parser/binding-linux-arm64-gnu@0.133.0':
- resolution: {integrity: sha512-hvpbqT5pN2rR+3+xtWeizwfR/aZ0vGceg6TqYMl+ToxMpk9/tmnX7kSvQnfEUkoua8mhogzvIKsAkn0wxgblBA==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [linux]
- libc: [glibc]
-
'@oxc-parser/binding-linux-arm64-musl@0.132.0':
resolution: {integrity: sha512-WozHg3Kc//8Sk756HXXgMbEAvqtG+Lzb9JOojwQzIGDtN78Az2dLttkb71akWYUF/8IgYfDSlfKh4Uot8is5Vw==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -2614,13 +2200,6 @@ packages:
os: [linux]
libc: [musl]
- '@oxc-parser/binding-linux-arm64-musl@0.133.0':
- resolution: {integrity: sha512-wJQGamIosQBoJHW9+S5XxrtKRo3eyJxsnS1XCPrqN0LHi8uw1pTqqTfn3t/NVuvbBg7Pumn4ez9Eidgcn0xbEg==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [linux]
- libc: [musl]
-
'@oxc-parser/binding-linux-ppc64-gnu@0.132.0':
resolution: {integrity: sha512-CmX/ulNBOEwWTyVRmcpYKAcAizW6+OjtLJgo7fXoL9OqQvjF4VER8tPomv44vwzfSCy1BHbsB0ZlZYzYJNj4cA==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -2628,13 +2207,6 @@ packages:
os: [linux]
libc: [glibc]
- '@oxc-parser/binding-linux-ppc64-gnu@0.133.0':
- resolution: {integrity: sha512-Koaz32/O5+abIfrNGdyndgRvdOZ9jEf5/z3Ep9h3h2QWpdDiUQpVwgH0OcMXCs+l9aXxPLtkupqyVig9W6FDKw==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [ppc64]
- os: [linux]
- libc: [glibc]
-
'@oxc-parser/binding-linux-riscv64-gnu@0.132.0':
resolution: {integrity: sha512-j9oQS+hM90SdhviNGWbPgT4+Rlq+ac++q/zjgwPD1mVHgxHzATvoRGtDx0sXGmFOQ9J9YkwAhYGb5MAHL6TAsA==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -2642,13 +2214,6 @@ packages:
os: [linux]
libc: [glibc]
- '@oxc-parser/binding-linux-riscv64-gnu@0.133.0':
- resolution: {integrity: sha512-R4vOjWzxhnNWHnVLeiB6jNuIifdy9vcMXZGPc7StXcxBovI+U2zg1QhZ9o8OjV80oGivs1lX5NfPLzk4IPqlRA==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [riscv64]
- os: [linux]
- libc: [glibc]
-
'@oxc-parser/binding-linux-riscv64-musl@0.132.0':
resolution: {integrity: sha512-bLz+Xi+Agnfmd7kWPEsSVwCn2k4EyIalZkNBcQ0OGIv9rqn8VgCPLNd03tM9mKX/5TdlvDXalz0q71BIrOPNqg==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -2656,13 +2221,6 @@ packages:
os: [linux]
libc: [musl]
- '@oxc-parser/binding-linux-riscv64-musl@0.133.0':
- resolution: {integrity: sha512-iwgBNUTHiMdxARLYuM0SBlnYeb19iw1Ea5M+4ERZupCsBMLArti6FyZ6UfFjJxIiTDr2oW2DGQFxlQVQ/dW9rA==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [riscv64]
- os: [linux]
- libc: [musl]
-
'@oxc-parser/binding-linux-s390x-gnu@0.132.0':
resolution: {integrity: sha512-U6t2qbJU0ypTfyj9QV3W1Y6mITDTL8ai/OR6NUn85vyHthOvobKWgXzU4tu0EskSzlpuVFz1g0jFGulDIUKHxQ==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -2670,13 +2228,6 @@ packages:
os: [linux]
libc: [glibc]
- '@oxc-parser/binding-linux-s390x-gnu@0.133.0':
- resolution: {integrity: sha512-ZwZNo8FZmB/gVfboQl+wXilBigGl+6nQQs+nITOeAP/HcAOjiHl6XZJL9F/KXNEspODQcbjAiyjUbeCJd9a0fA==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [s390x]
- os: [linux]
- libc: [glibc]
-
'@oxc-parser/binding-linux-x64-gnu@0.132.0':
resolution: {integrity: sha512-WcEaSNHFk8yz5YFlQQAlhq6jOFmZBB/RKE7uzhyCIf+pF1Lmv9gUH4221mle2Gd9iHyWT3ySNph8yZgb1xYdWg==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -2684,13 +2235,6 @@ packages:
os: [linux]
libc: [glibc]
- '@oxc-parser/binding-linux-x64-gnu@0.133.0':
- resolution: {integrity: sha512-govCvWx1dBlED3uu4qXctxpRcouu9I8Kn+DBktGCl760JtlGJzc9l/OmPJKlYWSbrRqKkMZehNeZ/4Wfma7uSA==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [x64]
- os: [linux]
- libc: [glibc]
-
'@oxc-parser/binding-linux-x64-musl@0.132.0':
resolution: {integrity: sha512-iQrV4iJzQgRwK3BWRmQl1C3C6g3wYpXN2WLdQdyR+efoUnncdShZAVp9OgcojtlD3MDRbuOMGG3SjxF4fL4nlQ==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -2698,76 +2242,40 @@ packages:
os: [linux]
libc: [musl]
- '@oxc-parser/binding-linux-x64-musl@0.133.0':
- resolution: {integrity: sha512-ssTlpXD5Mq9uCssDJPzlRWqBt4Y7Zzd9i+XZhWmK/9Y6KUIuAxVYTYiI8lxcGWi0+3/Cz4A8q9UrD4NK9Y2j7g==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [x64]
- os: [linux]
- libc: [musl]
-
'@oxc-parser/binding-openharmony-arm64@0.132.0':
resolution: {integrity: sha512-FWzmUGrZ6GUby4U7WIwcCtab6tdmlTO3xTRRKyb5kjIJVEiaUAT8animUG/nK8ZCA8gkRkPOTId4rl6uTqUmJQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [openharmony]
- '@oxc-parser/binding-openharmony-arm64@0.133.0':
- resolution: {integrity: sha512-51aByfXhPtLEdWG4a2Ihdw6cPWV1ei1AarALpFdDP8MLWDLE2NuUMgbo3DERR2Kt8fT/ok1GUvBiLxVGke9uUQ==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [openharmony]
-
'@oxc-parser/binding-wasm32-wasi@0.132.0':
resolution: {integrity: sha512-TlbMppxJI5CjWDes0QaP6G3aneVg1yikBu5QYI+DUShF9WDL66ccgKFNNGmi/Wybtszw6hxwAvv76T4DaPKnHw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [wasm32]
- '@oxc-parser/binding-wasm32-wasi@0.133.0':
- resolution: {integrity: sha512-2e16tkKp+wDO2GTAmXfxbBcCmGEaFPIJEIRBBmVKNVXSc8/fJsSIaBGyFTPHM9ST5GNWgJcYIt94rDTks+PLwA==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [wasm32]
-
'@oxc-parser/binding-win32-arm64-msvc@0.132.0':
resolution: {integrity: sha512-RH/NbFjGKqdUAUi7Oh3LQPxUk2hsWFEEQ38HSnbRQT8QjBZFKqL1fMbmsB3N4jy/KPh9iX94+9dmkEMBBbambw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [win32]
- '@oxc-parser/binding-win32-arm64-msvc@0.133.0':
- resolution: {integrity: sha512-KPTNDKbxH1cglrqTyVeXHb4Pk4oksz8EcE1/v8zqU7N4UXbiHfA/IwtXZ2U77fnRAWBbgVkl/lZbL7o3hRdejg==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [win32]
-
'@oxc-parser/binding-win32-ia32-msvc@0.132.0':
resolution: {integrity: sha512-JUr4jQY9jxoIB/YTLXr6XofSi5xikj6p5/Ns1h0VOBDT0j1jKU+kMsv2xxv51RwnETcXpA1Yw/9oUAfcqfaqEA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [ia32]
os: [win32]
- '@oxc-parser/binding-win32-ia32-msvc@0.133.0':
- resolution: {integrity: sha512-Una1bNYv9zCavQrfnDR9wuZVB3itLjCEH4Oz7i6CwAJN/Xq9b+zbbcxmvdkKvvJt4Ngc/MBmIYlbLo3zS4TQ0A==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [ia32]
- os: [win32]
-
'@oxc-parser/binding-win32-x64-msvc@0.132.0':
resolution: {integrity: sha512-2dapgHpA5X8DSXF4AU36hJWYf6zP0tKjMXFRAZFBD62pkevW/uhFDXoFH9Y/3Fd2EtDrw5ByNnR1wVE9X9y0SQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [win32]
- '@oxc-parser/binding-win32-x64-msvc@0.133.0':
- resolution: {integrity: sha512-kjBhCiOGSYTwDJQuuZa7a94JbP8htWu7J0X1KwH74kV2K5eYf6eyJRYmkpCDvr0XEL8tMxYI4WU1VekblFCLgg==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [x64]
- os: [win32]
-
'@oxc-project/types@0.132.0':
resolution: {integrity: sha512-FESMOxil5Se014ui/Eq8fT5uHJo6nIRwH0PfJrZJXs6Gek3ZVFOrpUv3YIZT20m+extU98Hg1Ym72U58rlsxUQ==}
- '@oxc-project/types@0.133.0':
- resolution: {integrity: sha512-KzkdCd6Uxqnf6l3HOw1xfatAlUURA0g14cvBYFyJ5SaNOQbOUvBr9PKArcPcrNIeRsBdgcUzOGrhKveVpvOIGA==}
+ '@oxc-project/types@0.137.0':
+ resolution: {integrity: sha512-WT+Gb24i8hmvo85AIv2oEYouEXkRlKAlT9WaCa3TfLgNCN+GhrJOGZuIlMouAh38Qe4QOx26eUOVsq70qXrywA==}
'@oxc-project/types@0.95.0':
resolution: {integrity: sha512-vACy7vhpMPhjEJhULNxrdR0D943TkA/MigMpJCHmBHvMXxRStRi/dPtTlfQ3uDwWSzRpT8z+7ImjZVf8JWBocQ==}
@@ -2778,84 +2286,42 @@ packages:
cpu: [arm]
os: [android]
- '@oxc-transform/binding-android-arm-eabi@0.133.0':
- resolution: {integrity: sha512-2A79NBpyBKgHJ0FwgC8D1hzp3x2ujyvqq/kG+M76YyDMMkxLhX6A3vjnAnfEKycOoZxuKhwYu8BF9hKq67ykIA==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm]
- os: [android]
-
'@oxc-transform/binding-android-arm64@0.132.0':
resolution: {integrity: sha512-sr2BbEHtc5OkAN2nt5BpWGg/MnDkyQKf6tSjaZZ6k7Bb2FOa2CzZDy2pvH6tYdg+Ch/p/OGXXhENFVV9GU7ASw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [android]
- '@oxc-transform/binding-android-arm64@0.133.0':
- resolution: {integrity: sha512-dynEph/hyoSgBzd2XbNlW37NK97nU6tZMs5jrhObUxSasBV/Gv9THZrWj9AlbWiMXR07WFYE82C9axjntYyBSw==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [android]
-
'@oxc-transform/binding-darwin-arm64@0.132.0':
resolution: {integrity: sha512-yjL1GbN9Bb1HqjE8CS8NSwoZtDWgUGy43VbuFhmT4LEDx4Ph0guzVAyUKhc2CqqA4/x60qDvcH6QxwrguaqEVA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [darwin]
- '@oxc-transform/binding-darwin-arm64@0.133.0':
- resolution: {integrity: sha512-4hGgKOG+dZSN3xjcgNWpcihekRG7/YbbAdjyz07yv0HjzA6kdqYAhGrn84374UPO2h6etYJwsCBoM9iJHHvJ8w==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [darwin]
-
'@oxc-transform/binding-darwin-x64@0.132.0':
resolution: {integrity: sha512-e3vVXEbNw93aHr3si8eVpUgl+jWF6Ry8RgUihgSxiI+2c/VMxiPsEDghkqPcjujqsMYDRdISWJi23xk+PP72ow==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [darwin]
- '@oxc-transform/binding-darwin-x64@0.133.0':
- resolution: {integrity: sha512-7J11/9PFkznmKuANkCAjt3znV1BcDFXQSgDiBvDxXT3Wm6995/zxrJD5zmo+5XSgY4sm+2V8/ED6ZSD3mKOC5A==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [x64]
- os: [darwin]
-
'@oxc-transform/binding-freebsd-x64@0.132.0':
resolution: {integrity: sha512-dIhAhkX8/It4IaKI944fN3jmfzunqv2sEG2G4fQdP5/1psycdqUHoVaY23DbpuYRIu4sWAdn/e1zQFP0GMkQOQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [freebsd]
- '@oxc-transform/binding-freebsd-x64@0.133.0':
- resolution: {integrity: sha512-5EMAO0vzCpUfhn6aSjIUeJeRI2ztevHwSVr/M8sZ2VBYc79UuOfjjMCQ67LtUbgpvQtpBWkzeAHCP3L7JFYmlg==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [x64]
- os: [freebsd]
-
'@oxc-transform/binding-linux-arm-gnueabihf@0.132.0':
resolution: {integrity: sha512-eR0dfj1us7DNbGZ6eBdAqWnLZRkLqHFqewSHudX4gV7di3By8E05+M+qsGTB/zq/78Z0BYJeK1zGWu9un6jocw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm]
os: [linux]
- '@oxc-transform/binding-linux-arm-gnueabihf@0.133.0':
- resolution: {integrity: sha512-z6XT8tmo9sPmCIYaFIxDelBU4wXLwwWMX2VNCMIY6bkQp5r+kRtVXYS3yLbJHMKEhRKvw/g+Z7fO9aadsGGEAw==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm]
- os: [linux]
-
'@oxc-transform/binding-linux-arm-musleabihf@0.132.0':
resolution: {integrity: sha512-naNx0WaV70hKtgQ5LUS/jzRTy6XEQZ1krK7KTFZQLI1mEz+GqLrwsLCqEmtrQ6HcqLhvGvA6GAWfFrc/0mWryA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm]
os: [linux]
- '@oxc-transform/binding-linux-arm-musleabihf@0.133.0':
- resolution: {integrity: sha512-GQDpEV2VhHG8hT5BviDv+emi9oHYhfv+JJJWROYp+eGgWjiQMp4QZVb6Bu3kwVMzkwy0r200ToA1KThYTq53ug==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm]
- os: [linux]
-
'@oxc-transform/binding-linux-arm64-gnu@0.132.0':
resolution: {integrity: sha512-TWk1p0tbtE1tkMEABftfgXhMEfuoz3QieqBtMBXXyijizw/2YKNzbVSndG+vV73cSZgbyfoZ346pmuz0tQMzyw==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -2863,13 +2329,6 @@ packages:
os: [linux]
libc: [glibc]
- '@oxc-transform/binding-linux-arm64-gnu@0.133.0':
- resolution: {integrity: sha512-VstR+NEQAJb80ysWk2vPjEvg0JzwEjKn2hDbC/joa5zGXkCnVVCWgAGG8c6o23S981a7XRpCMcClBgeD1q9H2A==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [linux]
- libc: [glibc]
-
'@oxc-transform/binding-linux-arm64-musl@0.132.0':
resolution: {integrity: sha512-LxURDI0Wm2KCQm/3ynNlI+nTgPdfmAfmrl54XPx+gaIqty8S/XWNCCTvLJWaCb0e5eKqnzrcTuhMDOdawqoYIA==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -2877,13 +2336,6 @@ packages:
os: [linux]
libc: [musl]
- '@oxc-transform/binding-linux-arm64-musl@0.133.0':
- resolution: {integrity: sha512-Ec7xJdDrnukgiz20E3iDNzAIgx1XXn8cVVsNNUpgEIAvNlXZaocqlQT8Zalk0Lv3fbkxcJ+9BuWB0ndBRHQtzg==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [linux]
- libc: [musl]
-
'@oxc-transform/binding-linux-ppc64-gnu@0.132.0':
resolution: {integrity: sha512-eKEeG6SLtj01iDvi5QgMNzyEXt/K2BNWafZ0jGECmvqTWWaO2l4qBxUW+X+sAXp5vZBoT2WO3ZnshvIWXWjtKw==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -2891,13 +2343,6 @@ packages:
os: [linux]
libc: [glibc]
- '@oxc-transform/binding-linux-ppc64-gnu@0.133.0':
- resolution: {integrity: sha512-6YX38grimcigz20eYpyz6e4c9rDKzwK3i+tcDpgwYj0bWreaAOwrABmSmKplPJOorkDVlbT69wPCN+d11irBQw==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [ppc64]
- os: [linux]
- libc: [glibc]
-
'@oxc-transform/binding-linux-riscv64-gnu@0.132.0':
resolution: {integrity: sha512-Kz6tg1Msra7+2iGV8K5xANLO2SmpP6n+91/Yy+JJh9EagU4hvMm7loReszzz2bwhs6Xs4HPrglxIngMdqnHpXw==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -2905,13 +2350,6 @@ packages:
os: [linux]
libc: [glibc]
- '@oxc-transform/binding-linux-riscv64-gnu@0.133.0':
- resolution: {integrity: sha512-WxMIzItRJR66lgaAyyqj0FFwLMpcuCV9mTFcUMQpIz8+Hey1Enk8xuv+7QpSsqCR5zRlwNr092dsFkz5cbvtrw==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [riscv64]
- os: [linux]
- libc: [glibc]
-
'@oxc-transform/binding-linux-riscv64-musl@0.132.0':
resolution: {integrity: sha512-dtUSp80ElrxUhfBNmFWGkFQQ51j3tRoZkKBXxEWh+hb+S6bbEdZCW/VuCYo/gCTH3DywwyTeWiG+dtZfJiHKvg==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -2919,13 +2357,6 @@ packages:
os: [linux]
libc: [musl]
- '@oxc-transform/binding-linux-riscv64-musl@0.133.0':
- resolution: {integrity: sha512-+x6dnO87986rjVNjcF0tg8wVS0e/SH8nzLa/X0Wsh7jtEniN7buvR8iqZm8pnsfaZ8DH5F4GCSZpoPRrd9jJ6w==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [riscv64]
- os: [linux]
- libc: [musl]
-
'@oxc-transform/binding-linux-s390x-gnu@0.132.0':
resolution: {integrity: sha512-9qVyCbYSs8dwVPpqKKWxuUAnLJ1+LyC5A4oNMZTzymRhuQr3coqAP/XWfJ8LlhQqI9GvhK0SWCOK0iM3HFUAnA==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -2933,13 +2364,6 @@ packages:
os: [linux]
libc: [glibc]
- '@oxc-transform/binding-linux-s390x-gnu@0.133.0':
- resolution: {integrity: sha512-oEyQudXIwWM/+v0vZzPbAi25YMWyvjtQYYjuSrhMEQwe7ZEMDXscX7U1j6alrVdZq2DtCMeror3X/Dv7p/JUwg==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [s390x]
- os: [linux]
- libc: [glibc]
-
'@oxc-transform/binding-linux-x64-gnu@0.132.0':
resolution: {integrity: sha512-dUtJkDCYndDaxcuiSMyRoSb7sXmTbcJ61rDsUjIakghP6BkKwH57lyHYvSUhT1ZswXWwCjf3ksxlT8nA0iU6ag==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -2947,13 +2371,6 @@ packages:
os: [linux]
libc: [glibc]
- '@oxc-transform/binding-linux-x64-gnu@0.133.0':
- resolution: {integrity: sha512-G8P/OadKTbyUHz5TK63sDDtUHwn2SXG/o0oGo4GGTzBu70xmUSN5/ZUgpyl6ypAmbshoyw8nC7+msb3BjzHxaA==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [x64]
- os: [linux]
- libc: [glibc]
-
'@oxc-transform/binding-linux-x64-musl@0.132.0':
resolution: {integrity: sha512-I7BkkktnrriiO7o1dF3RDgKZoSmFKX9IE0W2LE1WdfmpZcAa3fbv5BW6oVbzk40iD29hWSP69A65WT9l6dxuzg==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -2961,71 +2378,35 @@ packages:
os: [linux]
libc: [musl]
- '@oxc-transform/binding-linux-x64-musl@0.133.0':
- resolution: {integrity: sha512-Oi/fyOzZ+aytmmsRND5pGgvux4n++v9cG4qNFiXj7qFwSqBKWZHBq7cJLXqbH1I81pyI3kvU1Za+1qk3afXuwg==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [x64]
- os: [linux]
- libc: [musl]
-
'@oxc-transform/binding-openharmony-arm64@0.132.0':
resolution: {integrity: sha512-yiXaRYqgySJguURNZUFLDzSI1NTkP1jJKrowr8lQCKwY5N8DsESbQJ1RpSlEbeXGiy201puA+QC2fdr+ywQM/A==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [openharmony]
- '@oxc-transform/binding-openharmony-arm64@0.133.0':
- resolution: {integrity: sha512-/ZElgq+/tcga27X2G2AUpxcYX0baX94Gz658w6Zz2P+6Kr06bfYSrdtC0P7oPrbu3Gy/6kpiSoJPgZy8R2IjYQ==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [openharmony]
-
'@oxc-transform/binding-wasm32-wasi@0.132.0':
resolution: {integrity: sha512-KNago0Mv+zl2yl5hK2G9V4Yb7Tgpn+z6lgzgaHXkGp7S+iuUtN3av+QqPCD/J+Odq6EjjyXJrFPfmyjbXXbf4Q==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [wasm32]
- '@oxc-transform/binding-wasm32-wasi@0.133.0':
- resolution: {integrity: sha512-GANcoEa8Nzza7saxdb4qWO24U6jk4nK6G+g87lGp8TTU45CUvWf1Igdze2+NrebgiwOy6F1/h6Esag4DM3JTtQ==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [wasm32]
-
'@oxc-transform/binding-win32-arm64-msvc@0.132.0':
resolution: {integrity: sha512-3fprECrLHwPP809a1SRzszDxp8Fpp8IOg0V2EO49wS+3JmRFOo090h5c37faZvym5VnRZ12DH2tkT6ZVXwlOsA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [win32]
- '@oxc-transform/binding-win32-arm64-msvc@0.133.0':
- resolution: {integrity: sha512-2+uDo/+ZvGQu10J8xryg/l5PdBt2vXPtf+0aIosVKJavqCaKcBDdo95OUaEulx0bqvoytAQ4yyz2gcPZ40mjcQ==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [win32]
-
'@oxc-transform/binding-win32-ia32-msvc@0.132.0':
resolution: {integrity: sha512-n616QqZ3hXasHytVoFjo6pLzIfo6hQwBEir0kOcaObKaAw0ZbncIe1h5a6IMnCOJGLP30WwnhwLW20tIV78MAA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [ia32]
os: [win32]
- '@oxc-transform/binding-win32-ia32-msvc@0.133.0':
- resolution: {integrity: sha512-zpPIZ1S3JHmSEFyyGyPYCwhOiNLyfaPifYxK8BQY21JXyHglu/wUr3/ESFrXb+XegEy/iBlWbzr3FzPtcq1MUw==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [ia32]
- os: [win32]
-
'@oxc-transform/binding-win32-x64-msvc@0.132.0':
resolution: {integrity: sha512-P7A4Cz/0C0Oxa2zH/oCruzA/5EHr5RRz0x6KXYz3wwhS+dFqIBxP9yo8FKjXhKXHRKa+M+QHo+bqYiqqlVsEQg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [win32]
- '@oxc-transform/binding-win32-x64-msvc@0.133.0':
- resolution: {integrity: sha512-cADrfLvc/VeyvpvQS+t5ktqfyqyyGANZC5NHp++JAElacfXqq/+k8bYkjqMWzNZ3HxkJtL1qDHfZZCA9+4hlSQ==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [x64]
- os: [win32]
-
'@package-json/types@0.0.12':
resolution: {integrity: sha512-uu43FGU34B5VM9mCNjXCwLaGHYjXdNincqKLaraaCW+7S2+SmiBg1Nv8bPnmschrIfZmfKNY9f3fC376MRrObw==}
@@ -3150,30 +2531,60 @@ packages:
cpu: [arm64]
os: [android]
+ '@rolldown/binding-android-arm64@1.1.3':
+ resolution: {integrity: sha512-DT6Z3PhvioeHMvxo+xHc3KtqggrI7CCTXCmC2h/5zUlp5jVitv7XEy+9q5/7v8IolhlioawpMo8Kg0EEBy7J0g==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [android]
+
'@rolldown/binding-darwin-arm64@1.0.0-beta.45':
resolution: {integrity: sha512-xjCv4CRVsSnnIxTuyH1RDJl5OEQ1c9JYOwfDAHddjJDxCw46ZX9q80+xq7Eok7KC4bRSZudMJllkvOKv0T9SeA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [darwin]
+ '@rolldown/binding-darwin-arm64@1.1.3':
+ resolution: {integrity: sha512-0NwgwsjM7LrsuVnXMK3koTpagBNOhloc/BNjKqZjv4V5zI5r13qx69uVhRx+o5Z0yy4Hzq+lpy7TAgUG/ocvrw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [darwin]
+
'@rolldown/binding-darwin-x64@1.0.0-beta.45':
resolution: {integrity: sha512-ddcO9TD3D/CLUa/l8GO8LHzBOaZqWg5ClMy3jICoxwCuoz47h9dtqPsIeTiB6yR501LQTeDsjA4lIFd7u3Ljfw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [darwin]
+ '@rolldown/binding-darwin-x64@1.1.3':
+ resolution: {integrity: sha512-YtiBp4disu6V560loT6PjMdiRaWmVvDNrUunAalbiFx2ggeJwxdAsgZMcoGP17uyAsTwAj5V1niksxlHnVQ1Sw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [darwin]
+
'@rolldown/binding-freebsd-x64@1.0.0-beta.45':
resolution: {integrity: sha512-MBTWdrzW9w+UMYDUvnEuh0pQvLENkl2Sis15fHTfHVW7ClbGuez+RWopZudIDEGkpZXdeI4CkRXk+vdIIebrmg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [freebsd]
+ '@rolldown/binding-freebsd-x64@1.1.3':
+ resolution: {integrity: sha512-yD3EkEdXk2LypPxnf/kSZHirarsI8gcPzc62SukhR9VJTyvV+F9Q/GxWNuCojc7sXyuVC4DxRGhdDK4X8VSsbw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [freebsd]
+
'@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.45':
resolution: {integrity: sha512-4YgoCFiki1HR6oSg+GxxfzfnVCesQxLF1LEnw9uXS/MpBmuog0EOO2rYfy69rWP4tFZL9IWp6KEfGZLrZ7aUog==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm]
os: [linux]
+ '@rolldown/binding-linux-arm-gnueabihf@1.1.3':
+ resolution: {integrity: sha512-c+8vieQbsD7HNAHKIA34w0GJ9FedFFuJGD+7E6vz7Q3uqAIugL5p45fhlsj4UaAsHpcmlqugBWMhA0/j7o0sIg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm]
+ os: [linux]
+
'@rolldown/binding-linux-arm64-gnu@1.0.0-beta.45':
resolution: {integrity: sha512-LE1gjAwQRrbCOorJJ7LFr10s5vqYf5a00V5Ea9wXcT2+56n5YosJkcp8eQ12FxRBv2YX8dsdQJb+ZTtYJwb6XQ==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -3181,6 +2592,13 @@ packages:
os: [linux]
libc: [glibc]
+ '@rolldown/binding-linux-arm64-gnu@1.1.3':
+ resolution: {integrity: sha512-50jD0uUwLvur7Zz9LHz17kaAdTPjn5wN93hEgjvmYFRZwiR7ZJYovTd5ipyWJDAnXKvZ+wgc+/Ika6dwSF5OcA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
'@rolldown/binding-linux-arm64-musl@1.0.0-beta.45':
resolution: {integrity: sha512-tdy8ThO/fPp40B81v0YK3QC+KODOmzJzSUOO37DinQxzlTJ026gqUSOM8tzlVixRbQJltgVDCTYF8HNPRErQTA==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -3188,6 +2606,27 @@ packages:
os: [linux]
libc: [musl]
+ '@rolldown/binding-linux-arm64-musl@1.1.3':
+ resolution: {integrity: sha512-BO9+oPL8K9poZJBfYPsXNtYjPE5uM3qeehT3aFcW4LITOl+iSqhp0abzjR2nWBUNjIZeKXjAEWBZ64WjNoHd6w==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@rolldown/binding-linux-ppc64-gnu@1.1.3':
+ resolution: {integrity: sha512-f3VpLB1vQ0Eo6ecr/6cekLnvYMFF4YBFoVGkfkvPLq1bAkbAwHYQPZKoAmG6OJyTcxxoC+AvezGx/S1obNC0Mw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [ppc64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rolldown/binding-linux-s390x-gnu@1.1.3':
+ resolution: {integrity: sha512-AmurZ26Pqx/RI9N1gzEOCklkKXl927yjfXWUUS0O7Puh8ARM/Ob8qfrD3qnWksScdw6cSrW5PSHE9DyLu7+PtA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [s390x]
+ os: [linux]
+ libc: [glibc]
+
'@rolldown/binding-linux-x64-gnu@1.0.0-beta.45':
resolution: {integrity: sha512-lS082ROBWdmOyVY/0YB3JmsiClaWoxvC+dA8/rbhyB9VLkvVEaihLEOr4CYmrMse151C4+S6hCw6oa1iewox7g==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -3195,6 +2634,13 @@ packages:
os: [linux]
libc: [glibc]
+ '@rolldown/binding-linux-x64-gnu@1.1.3':
+ resolution: {integrity: sha512-JJpqs8bRGITDOdbkNKnlojzBabbOHrqjSvDr0IVsZObE1lBcPjxItUEY9eWIDbxaJ3cGrXPWGfGkIxFijg/URg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
'@rolldown/binding-linux-x64-musl@1.0.0-beta.45':
resolution: {integrity: sha512-Hi73aYY0cBkr1/SvNQqH8Cd+rSV6S9RB5izCv0ySBcRnd/Wfn5plguUoGYwBnhHgFbh6cPw9m2dUVBR6BG1gxA==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -3202,23 +2648,47 @@ packages:
os: [linux]
libc: [musl]
+ '@rolldown/binding-linux-x64-musl@1.1.3':
+ resolution: {integrity: sha512-rSJcdjPxzA/by/6/rYs+v+bXU7UjvnbUWz8MJb6kh6+knqB1dCrtHg0uu7C/4haqJvqdkYHQ5IGn+tCH9GLW/g==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
'@rolldown/binding-openharmony-arm64@1.0.0-beta.45':
resolution: {integrity: sha512-fljEqbO7RHHogNDxYtTzr+GNjlfOx21RUyGmF+NrkebZ8emYYiIqzPxsaMZuRx0rgZmVmliOzEp86/CQFDKhJQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [openharmony]
+ '@rolldown/binding-openharmony-arm64@1.1.3':
+ resolution: {integrity: sha512-hQ3/PYkDJICgevvyNcVrihVeqq7k1Pp3VZ9lY+dauAYUJKO+auqApvANhvR1An9BhmqYKvW2Mu1F9u4DXSMLxQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [openharmony]
+
'@rolldown/binding-wasm32-wasi@1.0.0-beta.45':
resolution: {integrity: sha512-ZJDB7lkuZE9XUnWQSYrBObZxczut+8FZ5pdanm8nNS1DAo8zsrPuvGwn+U3fwU98WaiFsNrA4XHngesCGr8tEQ==}
engines: {node: '>=14.0.0'}
cpu: [wasm32]
+ '@rolldown/binding-wasm32-wasi@1.1.3':
+ resolution: {integrity: sha512-Elcv/BtML9lXrV6JuKITc/grN2kYV9gjsQpW8Jfw4ioK0TOkjBjye0nnyqQNy9STNaI20lXNaQBRrD5gSgR0Yg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [wasm32]
+
'@rolldown/binding-win32-arm64-msvc@1.0.0-beta.45':
resolution: {integrity: sha512-zyzAjItHPUmxg6Z8SyRhLdXlJn3/D9KL5b9mObUrBHhWS/GwRH4665xCiFqeuktAhhWutqfc+rOV2LjK4VYQGQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [win32]
+ '@rolldown/binding-win32-arm64-msvc@1.1.3':
+ resolution: {integrity: sha512-2DrEfhluH9yhiaFApmsjsjwrSYbNcY1oFTzYSP1a535jDbV98zCFanA/96TBUd0iDFcxGmw9QRExwGCXz3U+/g==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [win32]
+
'@rolldown/binding-win32-ia32-msvc@1.0.0-beta.45':
resolution: {integrity: sha512-wODcGzlfxqS6D7BR0srkJk3drPwXYLu7jPHN27ce2c4PUnVVmJnp9mJzUQGT4LpmHmmVdMZ+P6hKvyTGBzc1CA==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -3231,8 +2701,11 @@ packages:
cpu: [x64]
os: [win32]
- '@rolldown/pluginutils@1.0.0-beta.27':
- resolution: {integrity: sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==}
+ '@rolldown/binding-win32-x64-msvc@1.1.3':
+ resolution: {integrity: sha512-OL4OMk7UPXOeVGGd3qo5zJyPIljf4AFgk5QAkPPS+OoLuOOozhuaQGC18MxVTnw/06q93gShAJzlwnSCY9YtqA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [win32]
'@rolldown/pluginutils@1.0.0-beta.45':
resolution: {integrity: sha512-Le9ulGCrD8ggInzWw/k2J8QcbPz7eGIOWqfJ2L+1R0Opm7n6J37s2hiDWlh6LJN0Lk9L5sUzMvRHKW7UxBZsQA==}
@@ -3488,6 +2961,65 @@ packages:
'@standard-schema/spec@1.1.0':
resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==}
+ '@sveltejs/acorn-typescript@1.0.10':
+ resolution: {integrity: sha512-4WfKk68eTih+MiJD4fSbxN7E8kVBmTMPWHUPYjvl2N0rMs53YLTT8/YjKU5Dtnz5LqDjl7LEw4U7lXR2W3J5WA==}
+ peerDependencies:
+ acorn: ^8.9.0
+
+ '@sveltejs/adapter-auto@7.0.1':
+ resolution: {integrity: sha512-dvuPm1E7M9NI/+canIQ6KKQDU2AkEefEZ2Dp7cY6uKoPq9Z/PhOXABe526UdW2mN986gjVkuSLkOYIBnS/M2LQ==}
+ peerDependencies:
+ '@sveltejs/kit': ^2.0.0
+
+ '@sveltejs/kit@2.68.0':
+ resolution: {integrity: sha512-PdKiWsqinAoubVsSiRgVFkg3MHzGhQPnwQ8VxnGQKpZYijpapZ3UHHBje0GeByt2TvfjHPw+kxV+dNK2RIZg9g==}
+ engines: {node: '>=18.13'}
+ hasBin: true
+ peerDependencies:
+ '@opentelemetry/api': ^1.0.0
+ '@sveltejs/vite-plugin-svelte': ^3.0.0 || ^4.0.0-next.1 || ^5.0.0 || ^6.0.0-next.0 || ^7.0.0
+ svelte: ^4.0.0 || ^5.0.0-next.0
+ typescript: ^5.3.3 || ^6.0.0
+ vite: ^5.0.3 || ^6.0.0 || ^7.0.0-beta.0 || ^8.0.0
+ peerDependenciesMeta:
+ '@opentelemetry/api':
+ optional: true
+ typescript:
+ optional: true
+
+ '@sveltejs/load-config@0.2.0':
+ resolution: {integrity: sha512-1LgZ/qUqSoq+QorD83lk2hka79Px0wXNW2q5V1nZlxGhQgw1jrsIbVz5YiCeucVLo4XvFLjXukUaQjIiqowkcg==}
+ engines: {node: '>= 18.0.0'}
+
+ '@sveltejs/package@2.5.8':
+ resolution: {integrity: sha512-zeBbsXYvHiBu56v4gJaGQoEHzg96w0E1j3dOMX8vo56s6vI5eQ57ZEZhudjwjnegnVitRRu5MrmhO0eNvaonIw==}
+ engines: {node: ^16.14 || >=18}
+ hasBin: true
+ peerDependencies:
+ svelte: ^3.44.0 || ^4.0.0 || ^5.0.0-next.1
+
+ '@sveltejs/vite-plugin-svelte-inspector@5.0.2':
+ resolution: {integrity: sha512-TZzRTcEtZffICSAoZGkPSl6Etsj2torOVrx6Uw0KpXxrec9Gg6jFWQ60Q3+LmNGfZSxHRCZL7vXVZIWmuV50Ig==}
+ engines: {node: ^20.19 || ^22.12 || >=24}
+ peerDependencies:
+ '@sveltejs/vite-plugin-svelte': ^6.0.0-next.0
+ svelte: ^5.0.0
+ vite: ^6.3.0 || ^7.0.0
+
+ '@sveltejs/vite-plugin-svelte@6.2.4':
+ resolution: {integrity: sha512-ou/d51QSdTyN26D7h6dSpusAKaZkAiGM55/AKYi+9AGZw7q85hElbjK3kEyzXHhLSnRISHOYzVge6x0jRZ7DXA==}
+ engines: {node: ^20.19 || ^22.12 || >=24}
+ peerDependencies:
+ svelte: ^5.0.0
+ vite: ^6.3.0 || ^7.0.0
+
+ '@sveltejs/vite-plugin-svelte@7.1.2':
+ resolution: {integrity: sha512-DrUBA2UXRfDmUX/ZTiEopd3X40yavsJF1FX2RygcuIScHL7o5YX1fMvoYnDhjeJQC4weCOklirpNWlcb2NiSeA==}
+ engines: {node: ^20.19 || ^22.12 || >=24}
+ peerDependencies:
+ svelte: ^5.46.4
+ vite: ^8.0.0-beta.7 || ^8.0.0
+
'@swc/helpers@0.5.15':
resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==}
@@ -3579,21 +3111,12 @@ packages:
'@tybys/wasm-util@0.10.2':
resolution: {integrity: sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==}
+ '@tybys/wasm-util@0.10.3':
+ resolution: {integrity: sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==}
+
'@types/aria-query@5.0.4':
resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==}
- '@types/babel__core@7.20.5':
- resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
-
- '@types/babel__generator@7.27.0':
- resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==}
-
- '@types/babel__template@7.4.4':
- resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
-
- '@types/babel__traverse@7.28.0':
- resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==}
-
'@types/body-parser@1.19.6':
resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==}
@@ -3608,6 +3131,9 @@ packages:
peerDependencies:
'@types/express': '*'
+ '@types/cookie@0.6.0':
+ resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==}
+
'@types/deep-eql@4.0.2':
resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==}
@@ -3893,12 +3419,6 @@ packages:
engines: {node: '>=20'}
hasBin: true
- '@vitejs/plugin-react@4.7.0':
- resolution: {integrity: sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==}
- engines: {node: ^14.18.0 || >=16.0.0}
- peerDependencies:
- vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0
-
'@vitejs/plugin-vue-jsx@5.1.5':
resolution: {integrity: sha512-jIAsvHOEtWpslLOI2MeElGFxH7M8pM83BU/Tor4RLyiwH0FM4nUW3xdvbw20EeU9wc5IspQwMq225K3CMnJEpA==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -3906,13 +3426,6 @@ packages:
vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0
vue: ^3.0.0
- '@vitejs/plugin-vue@5.2.4':
- resolution: {integrity: sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==}
- engines: {node: ^18.0.0 || >=20.0.0}
- peerDependencies:
- vite: ^5.0.0 || ^6.0.0
- vue: ^3.2.25
-
'@vitejs/plugin-vue@6.0.7':
resolution: {integrity: sha512-km+p+XdSz9Sxm5rqUbqcSfZYaAniKxWBj1KURl+Jr7UaPvvX7BmaWMdP69I5rrFDeQGyxAG7NXdc57vz+snhWg==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -4111,10 +3624,6 @@ packages:
resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==}
engines: {node: '>=6.5'}
- accepts@1.3.8:
- resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
- engines: {node: '>= 0.6'}
-
accepts@2.0.0:
resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==}
engines: {node: '>= 0.6'}
@@ -4186,6 +3695,10 @@ packages:
aria-query@5.3.0:
resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
+ aria-query@5.3.1:
+ resolution: {integrity: sha512-Z/ZeOgVl7bcSYZ/u/rh0fOpvEpq//LZmdbkXyc7syVzjPAhfOa9ebsdTSjEBDU4vs5nC98Kfduj1uFo0qyET3g==}
+ engines: {node: '>= 0.4'}
+
aria-query@5.3.2:
resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==}
engines: {node: '>= 0.4'}
@@ -4194,9 +3707,6 @@ packages:
resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==}
engines: {node: '>= 0.4'}
- array-flatten@1.1.1:
- resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
-
array-includes@3.1.9:
resolution: {integrity: sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==}
engines: {node: '>= 0.4'}
@@ -4353,10 +3863,6 @@ packages:
birpc@4.0.0:
resolution: {integrity: sha512-LShSxJP0KTmd101b6DRyGBj57LZxSDYWKitQNW/mi8GRMvZb078Uf9+pveax1DrVL89vm7mWe+TovdI/UDOuPw==}
- body-parser@1.20.5:
- resolution: {integrity: sha512-3grm+/2tUOvu2cjJkvsIxrv/wVpfXQW4PsQHYm7yk4vfpu7Ekl6nEsYBoJUL6qDwZUx8wUhQ8tR2qz+ad9c9OA==}
- engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
-
body-parser@2.3.0:
resolution: {integrity: sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw==}
engines: {node: '>=18'}
@@ -4432,9 +3938,6 @@ packages:
caniuse-api@3.0.0:
resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==}
- caniuse-api@4.0.0:
- resolution: {integrity: sha512-B0hQ1OLyJuHTQSOWXvwibWqM6DCoqJdvBA6X1S/53bd4XU7LJ1yurIPlrsouol3mw1jh9pGI4ivubSpmJeIqCA==}
-
caniuse-lite@1.0.30001799:
resolution: {integrity: sha512-hG1bReV+OUU+MOqK4t/ZWI0tZOyz3rqS9XuhOUz1cIcbwBKjOyJEJuw9ER5JuNyqxNk8u/JUVbGibBOL1yrjFw==}
@@ -4471,6 +3974,10 @@ packages:
resolution: {integrity: sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==}
engines: {node: '>=20'}
+ clsx@2.1.1:
+ resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
+ engines: {node: '>=6'}
+
cluster-key-slot@1.1.1:
resolution: {integrity: sha512-rwHwUfXL40Chm1r08yrhU3qpUvdVlgkKNeyeGPOxnW8/SyVDvgRaed/Uz54AqWNaTCAThlj6QAs3TZcKI0xDEw==}
engines: {node: '>=0.10.0'}
@@ -4523,10 +4030,6 @@ packages:
resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==}
engines: {node: ^14.18.0 || >=16.10.0}
- content-disposition@0.5.4:
- resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
- engines: {node: '>= 0.6'}
-
content-disposition@1.1.0:
resolution: {integrity: sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==}
engines: {node: '>=18'}
@@ -4554,20 +4057,14 @@ packages:
cookie-es@3.1.1:
resolution: {integrity: sha512-UaXxwISYJPTr9hwQxMFYZ7kNhSXboMXP+Z3TRX6f1/NyaGPfuNUZOWP1pUEb75B2HjfklIYLVRfWiFZJyC6Npg==}
- cookie-parser@1.4.7:
- resolution: {integrity: sha512-nGUvgXnotP3BsjiLX2ypbQnWoGUPIIfHQNZkkC668ntrzGWEZVW70HDEB1qnNGMicPje6EttlIgzo51YSwNQGw==}
- engines: {node: '>= 0.8.0'}
-
- cookie-signature@1.0.6:
- resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==}
-
- cookie-signature@1.0.7:
- resolution: {integrity: sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==}
-
cookie-signature@1.2.2:
resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==}
engines: {node: '>=6.6.0'}
+ cookie@0.6.0:
+ resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==}
+ engines: {node: '>= 0.6'}
+
cookie@0.7.2:
resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==}
engines: {node: '>= 0.6'}
@@ -4653,36 +4150,18 @@ packages:
peerDependencies:
postcss: ^8.5.13
- cssnano-preset-default@8.0.2:
- resolution: {integrity: sha512-+jQAqIKCqMmBjZs7741XkilU93ITZ/EW8gjAkMmujdCzfDkfjrDBv2VqkSu29Fzeig/0rZ3S9IAwfPLlmXEUfQ==}
- engines: {node: ^22.11.0 || ^24.11.0 || >=26.0}
- peerDependencies:
- postcss: ^8.5.15
-
cssnano-utils@5.0.3:
resolution: {integrity: sha512-ynIREMICLxkxm7e9bCR9sh75s4Q5drICi0ua1yxo5jH2XPBqSKkl4dOh4EbFqtUmnTMhRffHgYL0EKKkMjtJTg==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
postcss: ^8.5.13
- cssnano-utils@6.0.1:
- resolution: {integrity: sha512-zk65GIxA8tCjqVk7nTm1mE+ZKxtnxAvU5JSUaBLXbAr3ZF7IOvz3fbPOnEDvZKhnS7GOIitXTS5BgehLzNoc8Q==}
- engines: {node: ^22.11.0 || ^24.11.0 || >=26.0}
- peerDependencies:
- postcss: ^8.5.15
-
cssnano@7.1.9:
resolution: {integrity: sha512-uPR75+5Dk/WJ/YSPR1/YDHdwMM9c5FsaARljfKWgeCKLKOtJ0we21xy/RcCjn53fZnD/f6yYEIZ8pu18+GnbNQ==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
postcss: ^8.5.13
- cssnano@8.0.2:
- resolution: {integrity: sha512-K+a76gA1v0/CsYgcsE95HGGyIuPKxpQSetwSwz4nHEM8fFXqSkzq2JzEXFL8v5+CCjxzVVVhPcTK3Oo8SaF/xA==}
- engines: {node: ^22.11.0 || ^24.11.0 || >=26.0}
- peerDependencies:
- postcss: ^8.5.15
-
csso@5.0.5:
resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==}
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
@@ -4736,14 +4215,6 @@ packages:
sqlite3:
optional: true
- debug@2.6.9:
- resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
-
debug@4.4.3:
resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==}
engines: {node: '>=6.0'}
@@ -4756,6 +4227,9 @@ packages:
decimal.js@10.6.0:
resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==}
+ dedent-js@1.0.1:
+ resolution: {integrity: sha512-OUepMozQULMLUmhxS95Vudo0jb0UchLimi3+pQ2plj61Fcy8axbP9hbiD4Sz6DPqn6XG3kfmziVfQ1rSys5AJQ==}
+
deep-is@0.1.4:
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
@@ -4804,10 +4278,6 @@ packages:
destr@2.0.5:
resolution: {integrity: sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==}
- destroy@1.2.0:
- resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
- engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
-
detect-libc@2.1.2:
resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
engines: {node: '>=8'}
@@ -5099,6 +4569,9 @@ packages:
jiti:
optional: true
+ esm-env@1.2.2:
+ resolution: {integrity: sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==}
+
espree@10.4.0:
resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -5111,6 +4584,14 @@ packages:
resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==}
engines: {node: '>=0.10'}
+ esrap@2.2.13:
+ resolution: {integrity: sha512-m8jH5hZgJE2RRUK/jjkGPcJEDAV+dYnZYFkosQaPTcE+Yw4xynXHOo6FUdwaWBtdR3b1MMa7wEDTSHeR2VWsGA==}
+ peerDependencies:
+ '@typescript-eslint/types': ^8.2.0
+ peerDependenciesMeta:
+ '@typescript-eslint/types':
+ optional: true
+
esrecurse@4.3.0:
resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
engines: {node: '>=4.0'}
@@ -5152,10 +4633,6 @@ packages:
resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==}
engines: {node: '>=12.0.0'}
- express@4.22.2:
- resolution: {integrity: sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==}
- engines: {node: '>= 0.10.0'}
-
express@5.2.1:
resolution: {integrity: sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==}
engines: {node: '>= 18'}
@@ -5228,10 +4705,6 @@ packages:
resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
engines: {node: '>=8'}
- finalhandler@1.3.2:
- resolution: {integrity: sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==}
- engines: {node: '>= 0.8'}
-
finalhandler@2.1.1:
resolution: {integrity: sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==}
engines: {node: '>= 18.0.0'}
@@ -5268,10 +4741,6 @@ packages:
fraction.js@5.3.4:
resolution: {integrity: sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==}
- fresh@0.5.2:
- resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
- engines: {node: '>= 0.6'}
-
fresh@2.0.0:
resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==}
engines: {node: '>= 0.8'}
@@ -5477,10 +4946,6 @@ packages:
resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
engines: {node: '>=16.17.0'}
- iconv-lite@0.4.24:
- resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
- engines: {node: '>=0.10.0'}
-
iconv-lite@0.6.3:
resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
engines: {node: '>=0.10.0'}
@@ -5651,6 +5116,9 @@ packages:
is-reference@1.2.1:
resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==}
+ is-reference@3.0.3:
+ resolution: {integrity: sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==}
+
is-regex@1.2.1:
resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==}
engines: {node: '>= 0.4'}
@@ -5831,6 +5299,80 @@ packages:
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
engines: {node: '>= 0.8.0'}
+ lightningcss-android-arm64@1.32.0:
+ resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [android]
+
+ lightningcss-darwin-arm64@1.32.0:
+ resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [darwin]
+
+ lightningcss-darwin-x64@1.32.0:
+ resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [darwin]
+
+ lightningcss-freebsd-x64@1.32.0:
+ resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [freebsd]
+
+ lightningcss-linux-arm-gnueabihf@1.32.0:
+ resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm]
+ os: [linux]
+
+ lightningcss-linux-arm64-gnu@1.32.0:
+ resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ lightningcss-linux-arm64-musl@1.32.0:
+ resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ lightningcss-linux-x64-gnu@1.32.0:
+ resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ lightningcss-linux-x64-musl@1.32.0:
+ resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ lightningcss-win32-arm64-msvc@1.32.0:
+ resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [win32]
+
+ lightningcss-win32-x64-msvc@1.32.0:
+ resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [win32]
+
+ lightningcss@1.32.0:
+ resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==}
+ engines: {node: '>= 12.0.0'}
+
lilconfig@3.1.3:
resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==}
engines: {node: '>=14'}
@@ -5846,6 +5388,9 @@ packages:
resolution: {integrity: sha512-++gUqRDEvcnN6Zhqrr+y/CkVEHhlrR96vZn3nZZPYzMcBUyBtTKzB9NadClFIsIVSsu+3i9tfk/erqy9kAmt7Q==}
engines: {node: '>=14'}
+ locate-character@3.0.0:
+ resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==}
+
locate-path@6.0.0:
resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
engines: {node: '>=10'}
@@ -5909,10 +5454,6 @@ packages:
mdn-data@2.27.1:
resolution: {integrity: sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==}
- media-typer@0.3.0:
- resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
- engines: {node: '>= 0.6'}
-
media-typer@1.1.0:
resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==}
engines: {node: '>= 0.8'}
@@ -5920,9 +5461,6 @@ packages:
memory-cache@0.2.0:
resolution: {integrity: sha512-OcjA+jzjOYzKmKS6IQVALHLVz+rNTMPoJvCztFaZxwG14wtAW7VRZjwTQu06vKCYOxh4jVnik7ya0SXTB0W+xA==}
- merge-descriptors@1.0.3:
- resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==}
-
merge-descriptors@2.0.0:
resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==}
engines: {node: '>=18'}
@@ -5934,35 +5472,18 @@ packages:
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
engines: {node: '>= 8'}
- methods@1.1.2:
- resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
- engines: {node: '>= 0.6'}
-
micromatch@4.0.8:
resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
engines: {node: '>=8.6'}
- mime-db@1.52.0:
- resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
- engines: {node: '>= 0.6'}
-
mime-db@1.54.0:
resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==}
engines: {node: '>= 0.6'}
- mime-types@2.1.35:
- resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
- engines: {node: '>= 0.6'}
-
mime-types@3.0.2:
resolution: {integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==}
engines: {node: '>=18'}
- mime@1.6.0:
- resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
- engines: {node: '>=4'}
- hasBin: true
-
mime@4.1.0:
resolution: {integrity: sha512-X5ju04+cAzsojXKes0B/S4tcYtFAJ6tTMuSPBEn9CPGlrWr8Fiw7qYeLT0XyH80HSoAoqWCaz+MWKh22P7G1cw==}
engines: {node: '>=16'}
@@ -6028,13 +5549,14 @@ packages:
mocked-exports@0.1.1:
resolution: {integrity: sha512-aF7yRQr/Q0O2/4pIXm6PZ5G+jAd7QS4Yu8m+WEeEHGnbo+7mE36CbLSDQiXYV8bVL3NfmdeqPJct0tUlnjVSnA==}
+ mri@1.2.0:
+ resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
+ engines: {node: '>=4'}
+
mrmime@2.0.1:
resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==}
engines: {node: '>=10'}
- ms@2.0.0:
- resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
-
ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
@@ -6062,10 +5584,6 @@ packages:
natural-compare@1.4.0:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
- negotiator@0.6.3:
- resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
- engines: {node: '>= 0.6'}
-
negotiator@1.0.0:
resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==}
engines: {node: '>= 0.6'}
@@ -6157,29 +5675,16 @@ packages:
resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==}
engines: {node: '>=18'}
- nth-check@2.1.1:
- resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
-
- nuxt@3.21.7:
- resolution: {integrity: sha512-S3QBFlFnZ+e0j2qw4h8Fzc8qzZxRaOaUl3/6zgy3oIrj8l65NmnW7lhMhbCGA44PLIEcukNTvx9jZ4K7IPNV2Q==}
- engines: {node: ^20.19.0 || >=22.12.0}
- hasBin: true
- peerDependencies:
- '@parcel/watcher': ^2.1.0
- '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0
- peerDependenciesMeta:
- '@parcel/watcher':
- optional: true
- '@types/node':
- optional: true
+ nth-check@2.1.1:
+ resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
- nuxt@4.4.8:
- resolution: {integrity: sha512-r/DGE4cNkEDclOw9tbJ18zqu+ix3me+7QCfumPdl5lBXGWgCajskzuq/HzDkHKfIZsn7ACVEjMLRNA2teh++bQ==}
- engines: {node: ^22.12.0 || ^24.11.0 || >=26.0.0}
+ nuxt@3.21.7:
+ resolution: {integrity: sha512-S3QBFlFnZ+e0j2qw4h8Fzc8qzZxRaOaUl3/6zgy3oIrj8l65NmnW7lhMhbCGA44PLIEcukNTvx9jZ4K7IPNV2Q==}
+ engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
peerDependencies:
'@parcel/watcher': ^2.1.0
- '@types/node': '>=18.12.0'
+ '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0
peerDependenciesMeta:
'@parcel/watcher':
optional: true
@@ -6263,26 +5768,14 @@ packages:
resolution: {integrity: sha512-7h3fOlgDwkIYxxKfGwCNejaLhH90Pvx+fttdPN7nRbWHxm6QSYcxW3IKjfxQVUeg+z1X2HZdOSY3rHkVqgxH1g==}
engines: {node: ^20.19.0 || >=22.12.0}
- oxc-minify@0.133.0:
- resolution: {integrity: sha512-6bNsYU+5WNIaNHB16zHnL24cUaJuKiPzUvjENoMale3+U8ZBMbGYgdgt//frx0ge7UcgEGIpqtukGGNPT0kxfQ==}
- engines: {node: ^20.19.0 || >=22.12.0}
-
oxc-parser@0.132.0:
resolution: {integrity: sha512-+0LAPHaqtfQlvWdpaAa09SmOaZZgP8C552xosEkGJ4+ruEwP1Vgx+sqBgcBCNfR6KDCmagGOZTde8wmAvcI/Hg==}
engines: {node: ^20.19.0 || >=22.12.0}
- oxc-parser@0.133.0:
- resolution: {integrity: sha512-661RSx+ZcjBmjBYid+Fpp/2F5EbtildpeoZh5HdgnGs+jZ03nqQEQW8yGkt4BGyOC3OMPDQQRl8M5kqD2/g6jw==}
- engines: {node: ^20.19.0 || >=22.12.0}
-
oxc-transform@0.132.0:
resolution: {integrity: sha512-DmP0+4kzpXoMvv08qPCD4aI6mAIzrEq15Yt9e6wXCNtOz6jEDHPpueusDa2/pvjRAqtNV37YxUUeX7cfCI4dpA==}
engines: {node: ^20.19.0 || >=22.12.0}
- oxc-transform@0.133.0:
- resolution: {integrity: sha512-9lt2b+hkG6yqe0fUDMHhMk7rgI9uTjNxU9wauQiYnHzc4kZI8JP/OhBqXTIJQTrqRJ8CkSH3O5AhQ13ke28yNg==}
- engines: {node: ^20.19.0 || >=22.12.0}
-
oxc-walker@1.0.0:
resolution: {integrity: sha512-eMsHflAGfOskpWxtp9xP/f5b96XLEU8ifTd2gOOCkdux9HMxKGy5S1ru0Gh1B3aPu+YbfmWUUVkcb7MrZz3XyQ==}
peerDependencies:
@@ -6346,9 +5839,6 @@ packages:
resolution: {integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==}
engines: {node: 18 || 20 || >=22}
- path-to-regexp@0.1.13:
- resolution: {integrity: sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==}
-
path-to-regexp@8.4.2:
resolution: {integrity: sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==}
@@ -6415,144 +5905,72 @@ packages:
peerDependencies:
postcss: ^8.5.13
- postcss-colormin@8.0.1:
- resolution: {integrity: sha512-qBY4ABQ6d8/mk5RRZHwMllrZMxeMey3azVY2dZUEk+RgiUC4ARdPR3/AITzNqqKTbvW/3y/MJKinDrzwqn8RDQ==}
- engines: {node: ^22.11.0 || ^24.11.0 || >=26.0}
- peerDependencies:
- postcss: ^8.5.15
-
postcss-convert-values@7.0.12:
resolution: {integrity: sha512-xurKu5qqk4viR3Cp3p4xBR4KfnZm4w4ys6+UBwBmeuBSNkH7+DtLnYOYnOffgtE4yx8sH9S1VZ6RAAvROXzP2Q==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
postcss: ^8.5.13
- postcss-convert-values@8.0.1:
- resolution: {integrity: sha512-IdOSIX3BzfMvCc1TAHIha2gfy17xnb5vfML8e2BIKARnFOghksESfaSAB/3CXgyLfMozZAbTRPVQF5dbuKOidw==}
- engines: {node: ^22.11.0 || ^24.11.0 || >=26.0}
- peerDependencies:
- postcss: ^8.5.15
-
postcss-discard-comments@7.0.8:
resolution: {integrity: sha512-CvvS5S9WrXblFXCEJ9nVo+4z+eA7zSC7Z88V1HEJuwlQhlFnYTIjg1xJY+BCUiG2bvICap2tXii4mP22BD108Q==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
postcss: ^8.5.13
- postcss-discard-comments@8.0.1:
- resolution: {integrity: sha512-FDvzm3tXlEsQBO2XQgnta5ugsAqwBrgWH+j5QgXpegEIDYA0VPnZg2aP7LtmWtC49POskeIhXesFiU/k3NyFHA==}
- engines: {node: ^22.11.0 || ^24.11.0 || >=26.0}
- peerDependencies:
- postcss: ^8.5.15
-
postcss-discard-duplicates@7.0.4:
resolution: {integrity: sha512-VBNn1+EuMZkeGVVtz0gRfbNGtx9IFgAsAV+E2pHtXPrp4qfGBkhTIiAuE/wrb+Y6Pakg9NewAlfTpYIFAWODtw==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
postcss: ^8.5.13
- postcss-discard-duplicates@8.0.1:
- resolution: {integrity: sha512-stTDXkI8YkCUfADurQhp03oq5ynsgSx6Qrw5B1swds6oTHtAeOZ9I0SHGK8cY/VpWUsIYFDWMs3IWf9jIEfFvA==}
- engines: {node: ^22.11.0 || ^24.11.0 || >=26.0}
- peerDependencies:
- postcss: ^8.5.15
-
postcss-discard-empty@7.0.3:
resolution: {integrity: sha512-M2pyjQCU+/7cMHVtL6bKTHjv0lZnPLMpicgr67Dlth7AbuV9gjVTtUqaRwn6Pp6BwSDspUzhz8SaUrRykJU5Dw==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
postcss: ^8.5.13
- postcss-discard-empty@8.0.1:
- resolution: {integrity: sha512-Zv4fM1Yfhk71tbt6gfiptbL6jDHi+7apSnaMeaO9n1uET+1embrXQw5m93Zp5x28UyQSuv+AVkFY193jdwZ33w==}
- engines: {node: ^22.11.0 || ^24.11.0 || >=26.0}
- peerDependencies:
- postcss: ^8.5.15
-
postcss-discard-overridden@7.0.3:
resolution: {integrity: sha512-aNovXo9UsZuRNLzHJtp13lHIvinDPfiXBPePpXkSjCbgp++iU2FqE+YxvjIsg6EdyPZsASFbfu+JcBFVsErXIQ==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
postcss: ^8.5.13
- postcss-discard-overridden@8.0.1:
- resolution: {integrity: sha512-ykt4fvrC7yYGzbxKyqBVjDCbsjF/11JgWK8enrdkobRyqqEtb/uDUCbKOGdvrK8X7BrShW8Lv5cCRNbdkNHGkQ==}
- engines: {node: ^22.11.0 || ^24.11.0 || >=26.0}
- peerDependencies:
- postcss: ^8.5.15
-
postcss-merge-longhand@7.0.7:
resolution: {integrity: sha512-b3mfYUxR388u5Pt0HPcVIUtUDn/k15UfTY9M+ORW+meCR6JLNxoZffiYvXyOYQoRYQNZyX/UFkMCM/mNHxe1qA==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
postcss: ^8.5.13
- postcss-merge-longhand@8.0.1:
- resolution: {integrity: sha512-huTfSYgQ13O81SFvAuOi7GWnO48vvybjj3xF+X3qUoPjzvvaLpJH5DcUqqXcwOEulZUcvaV4s0V9WtWs+IAQPA==}
- engines: {node: ^22.11.0 || ^24.11.0 || >=26.0}
- peerDependencies:
- postcss: ^8.5.15
-
postcss-merge-rules@7.0.11:
resolution: {integrity: sha512-SJUPM18g2BmPhf8BVlbwqWz4aK3pLu6u6xjfwEzra7xL6IBR10sUaiB++EzqcVfadPHrKBSMlNdP+XieykhI+Q==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
postcss: ^8.5.13
- postcss-merge-rules@8.0.1:
- resolution: {integrity: sha512-o3rk4UpnPNg469tklYwbR/NtvKc/f/wJiVDTnNQ/EFPw/LeiPOHUCvV1GIBQIZHGrBAYdPjToK6a+ojYprsrxQ==}
- engines: {node: ^22.11.0 || ^24.11.0 || >=26.0}
- peerDependencies:
- postcss: ^8.5.15
-
postcss-minify-font-values@7.0.3:
resolution: {integrity: sha512-yilG/VOaNI74IylQvAQQxm3/wZVBkXyYUqNUAdxqwtbWUXPsbK1q8Ms0mL83v+f8YicgcyfYCRZtWACUdYajpA==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
postcss: ^8.5.13
- postcss-minify-font-values@8.0.1:
- resolution: {integrity: sha512-L8Nzs/PRlBSPrLdY/7rAiU5ZN5800+2J/4LRbfyG8SJnPljmgMaXVmQiCklvRS+yObfVRNtvmk/Ean/eoYcSeg==}
- engines: {node: ^22.11.0 || ^24.11.0 || >=26.0}
- peerDependencies:
- postcss: ^8.5.15
-
postcss-minify-gradients@7.0.5:
resolution: {integrity: sha512-YraROyQRg3BI1+Hg8E05B/JPdnTm8EDSVu4P2BxdM+CRiOyfmou809+chGIqo6fQqwjPGQ947nbGncSjmTU1WQ==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
postcss: ^8.5.13
- postcss-minify-gradients@8.0.1:
- resolution: {integrity: sha512-qf+4s/hZMqTwpWN2teqf6+1yvR/SZK5HgHqXYuACeJXV7ABe7AXtBEomgxagUzcN4bSnmqBh5vnIml0dYqykYg==}
- engines: {node: ^22.11.0 || ^24.11.0 || >=26.0}
- peerDependencies:
- postcss: ^8.5.15
-
postcss-minify-params@7.0.9:
resolution: {integrity: sha512-R8itbB8BhlpoYyBm1ou0dD+vJnQ3F6adQipR4UnkCHUwlo+S9WXJaDRg1RHjC8YVAtIdrQzSWvJl40HnGDTKjA==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
postcss: ^8.5.13
- postcss-minify-params@8.0.1:
- resolution: {integrity: sha512-L0h3H59deFfFg0wQN1NVaS/8E/LfGvaMuZKGO7siwlG995zo3OshtQyRkqKdVqcBwAORBvZ1nDZrKPLRapYkQw==}
- engines: {node: ^22.11.0 || ^24.11.0 || >=26.0}
- peerDependencies:
- postcss: ^8.5.15
-
postcss-minify-selectors@7.1.2:
resolution: {integrity: sha512-aQtrEWKwqafNlExcKHQvPGsXR2+vlUqqJtf5XsCQcgsSb5PL4wlujWBYDJuWsP4UnQX1YHDHU8qRlD+1PzTQ+Q==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
postcss: ^8.5.13
- postcss-minify-selectors@8.0.2:
- resolution: {integrity: sha512-3icdxc/zght5UAizdwqZBDE2KOWHf1jMQCxET6iLACeNlRxfTPyXS0/COpGk8CQ2cECyaEKTRUd/i/k8Gxmz4g==}
- engines: {node: ^22.11.0 || ^24.11.0 || >=26.0}
- peerDependencies:
- postcss: ^8.5.15
-
postcss-nested@7.0.2:
resolution: {integrity: sha512-5osppouFc0VR9/VYzYxO03VaDa3e8F23Kfd6/9qcZTUI8P58GIYlArOET2Wq0ywSl2o2PjELhYOFI4W7l5QHKw==}
engines: {node: '>=18.0'}
@@ -6565,144 +5983,72 @@ packages:
peerDependencies:
postcss: ^8.5.13
- postcss-normalize-charset@8.0.1:
- resolution: {integrity: sha512-xzqr36F8UeIZOvOHsf3aul+RVJCADvSwuwpMLgizqKjisHZpBfztgW0XFLBfJvz9pJgaStaOXAtGb0zLqT6B0w==}
- engines: {node: ^22.11.0 || ^24.11.0 || >=26.0}
- peerDependencies:
- postcss: ^8.5.15
-
postcss-normalize-display-values@7.0.3:
resolution: {integrity: sha512-ldsCX0QIt05pKIOobZtVQ48wXJecr+czw4+e1/YjVhLMqslShgpVxgPtI2CefURR8oyVoYaU/l829MMwExDMLw==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
postcss: ^8.5.13
- postcss-normalize-display-values@8.0.1:
- resolution: {integrity: sha512-ZDWOijOK1FFMlpgiQCUO9fCNKd7HJ9L7z9HWEq4iyubnUFWzdTSwm/LcrMbNW6iZ1oAtqeLYA0WA3xHszOI08g==}
- engines: {node: ^22.11.0 || ^24.11.0 || >=26.0}
- peerDependencies:
- postcss: ^8.5.15
-
postcss-normalize-positions@7.0.4:
resolution: {integrity: sha512-VEvlpeGd3Ju1Hqa/oN4jaP3+ms4laYwkEL9N9u+B6k54PZjXbW1n6wI+aVprf1BQXlCYpS5+1pl/7/vHiKgARg==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
postcss: ^8.5.13
- postcss-normalize-positions@8.0.1:
- resolution: {integrity: sha512-uuivan2poSqbE48ST4do20dGaFUeXey9/H8rhHzoyVHB2I6BmkoVLZ/C9+BRjUlpaAFYVOoDY7epkiidzaYbvA==}
- engines: {node: ^22.11.0 || ^24.11.0 || >=26.0}
- peerDependencies:
- postcss: ^8.5.15
-
postcss-normalize-repeat-style@7.0.4:
resolution: {integrity: sha512-6mPKlY/8cSaDHxX502wERADarJsccwlky6yIrOapHH2ZgfoKAV94SbiTKfKEs4EEpdazuc3J72WsqeYk7hp9+Q==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
postcss: ^8.5.13
- postcss-normalize-repeat-style@8.0.1:
- resolution: {integrity: sha512-q2hq5fmKxk29K6DjKA3nZ17Q2dtjhLYFNmFweKALmooUqx6UWAHF1bBoWTu/EqlJ88josb82A/J0Atj9LJUmpQ==}
- engines: {node: ^22.11.0 || ^24.11.0 || >=26.0}
- peerDependencies:
- postcss: ^8.5.15
-
postcss-normalize-string@7.0.3:
resolution: {integrity: sha512-HnEQPUchi1eznmDKEYrKUTqrprEq97SrpUYClgUkv7V2zRODD9DFoUsYU+m9ZOetmD5ku7fEMZB/lwy8IT6xVQ==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
postcss: ^8.5.13
- postcss-normalize-string@8.0.1:
- resolution: {integrity: sha512-+Wf+kQJhm1WgSGEAuUaswE9rdpR9QbrKRVemcVHs6rhOoOTVIdAbgaicftfYA6vLM346P8onRzkEVbFN29ktKQ==}
- engines: {node: ^22.11.0 || ^24.11.0 || >=26.0}
- peerDependencies:
- postcss: ^8.5.15
-
postcss-normalize-timing-functions@7.0.3:
resolution: {integrity: sha512-zmEzHdvpZBZu0OKlbJSfgASQvaayyAoVuWtvyr34IJ/LyS+DaOKvvR3EvFJ9RWWtNIx+CMvO125OVophaxNYew==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
postcss: ^8.5.13
- postcss-normalize-timing-functions@8.0.1:
- resolution: {integrity: sha512-W8/tvwRlm3T+yjGkg0IRTF4bvHj0vILYr/LOogCrJKHz2ey2HFRwfsAA8Bk9N4BGR7z7WmmDu/KzzwhJ6FoGPQ==}
- engines: {node: ^22.11.0 || ^24.11.0 || >=26.0}
- peerDependencies:
- postcss: ^8.5.15
-
postcss-normalize-unicode@7.0.9:
resolution: {integrity: sha512-DRAdWfeh/TjmhLJsw91vdiWCnUod9iwvM7xyS02/nF/sLsCR3A8l3pztrSUrWG8DSBqfX7yEk9FM0USaVJ2mSg==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
postcss: ^8.5.13
- postcss-normalize-unicode@8.0.1:
- resolution: {integrity: sha512-Ad0YHNRBp4WHEOYUM/4wL/8MoL2fimEF8se/0q+Rt/owMzYpbxsypC1P8fN/oluwoRmRKdNVX7X2oycEobPWcQ==}
- engines: {node: ^22.11.0 || ^24.11.0 || >=26.0}
- peerDependencies:
- postcss: ^8.5.15
-
postcss-normalize-url@7.0.3:
resolution: {integrity: sha512-CL93wmloq5qsffmFv+bw24MIRbmhHrp53qoh1LDAb/5TtjWEXI/np4xcP/Gw9oWCb2XyWnqHYLDUwiKRoJBA1Q==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
postcss: ^8.5.13
- postcss-normalize-url@8.0.1:
- resolution: {integrity: sha512-tkYcip6pCDY806xuxpJYqMW2M3/623jzGFJmz3m5Us47q8P28+gbRZxaea3Rr/CmwwLUiVlh+BTGYwQ6gvaP8A==}
- engines: {node: ^22.11.0 || ^24.11.0 || >=26.0}
- peerDependencies:
- postcss: ^8.5.15
-
postcss-normalize-whitespace@7.0.3:
resolution: {integrity: sha512-FdHjjn+Ht5Z2ZRjNOmeCbNq6lq09sUYKpmlF/Aq0XjVNSLTL6fmHlA/3swN2wP2caY9GV/tjSDcIIyS7aN7W0A==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
postcss: ^8.5.13
- postcss-normalize-whitespace@8.0.1:
- resolution: {integrity: sha512-XzORadNfSrKWDZZpgAEHPKINKx8r9r9RIfE9c70g/HThdpbmPHhDYCodHSVESDxmKeySAYw1p4liuBCf7j6LyA==}
- engines: {node: ^22.11.0 || ^24.11.0 || >=26.0}
- peerDependencies:
- postcss: ^8.5.15
-
postcss-ordered-values@7.0.4:
resolution: {integrity: sha512-nubSi49hDHQk4E8KIj+IbLY8Bg+8OcSUEhgyolgM+atnOvXjV7EjaR6bac4YGZoFyPa9mWoAF3EaYbWdFkKqVg==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
postcss: ^8.5.13
- postcss-ordered-values@8.0.1:
- resolution: {integrity: sha512-OLXq5lR1yk3KWQ1FPK6aWjFFdktHE9f9kb8cnt4LmIw7w30DnzgD9+sOVYJc5HenkWCX8i1MJhhFwmqc/GYqLg==}
- engines: {node: ^22.11.0 || ^24.11.0 || >=26.0}
- peerDependencies:
- postcss: ^8.5.15
-
postcss-reduce-initial@7.0.9:
resolution: {integrity: sha512-ztTNPdIxXTxtBcG03E9u8v44M4ElXbMIRT7pf2onlquGula0Y83nKKxqM22FA/hMgkfCjN7ohevkVlaNwI8iOQ==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
postcss: ^8.5.13
- postcss-reduce-initial@8.0.1:
- resolution: {integrity: sha512-+aQsR6+61KRoIfcFNLP3v9RM7+0iYOTtPnjl1wr6JqMW1zx6S+t2ktHRefXwacFdHIDj5+ETG0KY7K3+SGQ4Nw==}
- engines: {node: ^22.11.0 || ^24.11.0 || >=26.0}
- peerDependencies:
- postcss: ^8.5.15
-
postcss-reduce-transforms@7.0.3:
resolution: {integrity: sha512-FXsnN9ZwcZTT8Yf8cAHA8qIGUXcX6WfLd9JoYhrdDfmvsVhhfqkkv7m4AC3rwFOfz+GzkUa87OCKF9dUcicd+g==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
postcss: ^8.5.13
- postcss-reduce-transforms@8.0.1:
- resolution: {integrity: sha512-x71slHVykiFi5RuKEXM0wgYpY2PngC78x6R8TnZhHF3lhqt+u/w3MGwYLX+2t5O87ssRiMfEAhQH+3J4QwVzCw==}
- engines: {node: ^22.11.0 || ^24.11.0 || >=26.0}
- peerDependencies:
- postcss: ^8.5.15
-
postcss-selector-parser@7.1.4:
resolution: {integrity: sha512-HeP7D2wyhkR+XaK6v4W8oRF62Dsz4flyuczALJp61GckGm42u1saSSJ/0auvcBqxs3jMRFEcPK34At/0JBKdOg==}
engines: {node: '>=4'}
@@ -6713,24 +6059,12 @@ packages:
peerDependencies:
postcss: ^8.5.13
- postcss-svgo@8.0.1:
- resolution: {integrity: sha512-HpnvWii7W0/FPrsejJa6ZTi0kNtTJP/Iba7CUMPX0xPV6QpnndOp+SDP74tFtgjA2cYKYNWJPOlmLXMsvi/9yA==}
- engines: {node: ^22.11.0 || ^24.11.0 || >=26.0}
- peerDependencies:
- postcss: ^8.5.15
-
postcss-unique-selectors@7.0.7:
resolution: {integrity: sha512-d+sCkaRnSefghOUdH8CMJZV9yUQhj2ojpe8Nw/lA+LV1UOfeleGkLTl6XdCFFSai9UJ+DJPb69FFuqthXYsY8w==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
postcss: ^8.5.13
- postcss-unique-selectors@8.0.1:
- resolution: {integrity: sha512-+xvKI5+/Cl8yYQwxDV39Uhuc4WV951xngFvPPjiPj2NIbIfm6vbbRTXblyw0FioLkIoGlw+7qUcY1h2YhaZYgw==}
- engines: {node: ^22.11.0 || ^24.11.0 || >=26.0}
- peerDependencies:
- postcss: ^8.5.15
-
postcss-value-parser@4.2.0:
resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
@@ -6750,11 +6084,23 @@ packages:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
+ prettier-plugin-svelte@4.1.1:
+ resolution: {integrity: sha512-wXvbXMjSvb4C9ENWTHXyd+ihakKCsJ6rJhLP6/8HFNj4GkZr48jqL9PoKsl2sk7SyCZRTnJ7O2TTowUpOxP/KA==}
+ engines: {node: '>=20'}
+ peerDependencies:
+ prettier: ^3.0.0
+ svelte: ^5.0.0
+
prettier@3.6.2:
resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==}
engines: {node: '>=14'}
hasBin: true
+ prettier@3.9.4:
+ resolution: {integrity: sha512-yWG/o/4oJfo036EKAfK6ACAoDOfHeRHx4tuxkfBZiauURiaSmYwlpOr5LQqKtIkRD2z1PLteme2WoxEnj4tHTg==}
+ engines: {node: '>=14'}
+ hasBin: true
+
pretty-bytes@7.1.0:
resolution: {integrity: sha512-nODzvTiYVRGRqAOvE84Vk5JDPyyxsVk0/fbA/bq7RqlnhksGpset09XTxbpvLTIjoaF7K8Z8DG8yHtKGTPSYRw==}
engines: {node: '>=20'}
@@ -6811,10 +6157,6 @@ packages:
resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
engines: {node: '>= 0.6'}
- raw-body@2.5.3:
- resolution: {integrity: sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==}
- engines: {node: '>= 0.8'}
-
raw-body@3.0.2:
resolution: {integrity: sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==}
engines: {node: '>= 0.10'}
@@ -6833,10 +6175,6 @@ packages:
react-is@17.0.2:
resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==}
- react-refresh@0.17.0:
- resolution: {integrity: sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==}
- engines: {node: '>=0.10.0'}
-
react-router@7.15.1:
resolution: {integrity: sha512-R8rl9HhgikFYoPJymnUtPXWbnDb3oget6lQnfIoupbt61aT9aOhRkDsY2XRhZRyX1Z/8a5sL74fXmFNm3NRK5A==}
engines: {node: '>=20.0.0'}
@@ -6939,6 +6277,11 @@ packages:
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
+ rolldown@1.1.3:
+ resolution: {integrity: sha512-1F1eEtUBtFvcGm1HQ9TiUIUHPQG7mSAODrhIzjxoUEFuo8OcbrGLiVLkevNgj84TE4lnHvnumwFjhJO5Eu135g==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ hasBin: true
+
rollup-plugin-dts@6.4.1:
resolution: {integrity: sha512-l//F3Zf7ID5GoOfLfD8kroBjQKEKpy1qfhtAdnpibFZMffPaylrg1CoDC2vGkPeTeyxUe4bVFCln2EFuL7IGGg==}
engines: {node: '>=20'}
@@ -6981,6 +6324,10 @@ packages:
run-parallel@1.2.0:
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
+ sade@1.8.1:
+ resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
+ engines: {node: '>=6'}
+
safe-array-concat@1.1.4:
resolution: {integrity: sha512-wtZlHyOje6OZTGqAoaDKxFkgRtkF9CnHAVnCHKfuj200wAgL+bSJhdsCD2l0Qx/2ekEXjPWcyKkfGb5CPboslg==}
engines: {node: '>=0.4'}
@@ -7033,10 +6380,6 @@ packages:
engines: {node: '>=10'}
hasBin: true
- send@0.19.2:
- resolution: {integrity: sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==}
- engines: {node: '>= 0.8.0'}
-
send@1.2.1:
resolution: {integrity: sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==}
engines: {node: '>= 18'}
@@ -7058,10 +6401,6 @@ packages:
serve-placeholder@2.0.2:
resolution: {integrity: sha512-/TMG8SboeiQbZJWRlfTCqMs2DD3SZgWp0kDQePz9yUuCnDfDh/92gf7/PxGhzXTKBIPASIHxFcZndoNbp6QOLQ==}
- serve-static@1.16.3:
- resolution: {integrity: sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==}
- engines: {node: '>= 0.8.0'}
-
serve-static@2.2.1:
resolution: {integrity: sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==}
engines: {node: '>= 18'}
@@ -7069,6 +6408,9 @@ packages:
set-cookie-parser@2.7.2:
resolution: {integrity: sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==}
+ set-cookie-parser@3.1.1:
+ resolution: {integrity: sha512-vM9SUhjsUYs6UeJUmygc5Ofm5eQGe85riob5ju6XCgFGJI5PLV4nrDAQpQjd+LkFBpAkADn5BQQpZ9EUNkyLuA==}
+
set-function-length@1.2.2:
resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
engines: {node: '>= 0.4'}
@@ -7287,12 +6629,6 @@ packages:
peerDependencies:
postcss: ^8.5.13
- stylehacks@8.0.1:
- resolution: {integrity: sha512-Gv095oTD0N+BdJALNFDsxZpETHZLTxbOl5RyIO7y6VAE6sR3z0MnV3Nix7N0IATNldNTrkvSASp2KR1Yt526HA==}
- engines: {node: ^22.11.0 || ^24.11.0 || >=26.0}
- peerDependencies:
- postcss: ^8.5.15
-
stylis@4.2.0:
resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==}
@@ -7312,6 +6648,24 @@ packages:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'}
+ svelte-check@4.7.1:
+ resolution: {integrity: sha512-FGUOmAqxXdN/H9Zm8slrqO7SLtFisXRB7rfOsHNJ3MLTD2po/+Stg8XyErkpumPHbuUiYTcqrEIzxpVWKTLqtg==}
+ engines: {node: '>= 18.0.0'}
+ hasBin: true
+ peerDependencies:
+ svelte: ^4.0.0 || ^5.0.0-next.0
+ typescript: '>=5.0.0'
+
+ svelte2tsx@0.7.57:
+ resolution: {integrity: sha512-nQo0xEfUpSVjfkxan2UmC6Wl9UZVe9+/pglUiyBNMJ7KDQ9DDooucmXdToBOvzSfgYjj/kMYwf6CTTDz/z048w==}
+ peerDependencies:
+ svelte: ^3.55 || ^4.0.0-next.0 || ^4.0 || ^5.0.0-next.0
+ typescript: ^4.9.4 || ^5.0.0 || ^6.0.0
+
+ svelte@5.56.4:
+ resolution: {integrity: sha512-/d0QHehmRuJW8gVz395MTkPcPozxzdjBMBE8oEYGz8O3b9KTMzzQ9ZHJQLuFKOHOPQbU6kx/X4iid/EBBzH7iw==}
+ engines: {node: '>=18'}
+
svgo@4.0.1:
resolution: {integrity: sha512-XDpWUOPC6FEibaLzjfe0ucaV0YrOjYotGJO1WpF0Zd+n6ZGEQUsSugaoLq9QkEZtAfQIxT42UChcssDVPP3+/w==}
engines: {node: '>=16'}
@@ -7439,10 +6793,6 @@ packages:
resolution: {integrity: sha512-1URUxUqfHFM1c+zfSPsa3gnkO7Aq21qyH75SIduNYz4SzY964rn1X2vCMQaHSHhktiw+0kPa2iyb6PUpXqB6Vg==}
engines: {node: '>=20'}
- type-is@1.6.18:
- resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
- engines: {node: '>= 0.6'}
-
type-is@2.1.0:
resolution: {integrity: sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==}
engines: {node: '>= 18'}
@@ -7478,6 +6828,11 @@ packages:
engines: {node: '>=14.17'}
hasBin: true
+ typescript@6.0.3:
+ resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==}
+ engines: {node: '>=14.17'}
+ hasBin: true
+
ufo@1.6.4:
resolution: {integrity: sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA==}
@@ -7565,9 +6920,6 @@ packages:
resolution: {integrity: sha512-0Mqk3AT2TZCXWKdcoaufeXNukv2mTrEZExeXlHIOZXdqYoHHr4n51pymnwV8x2BOVxwXbK2HLlI7usrqMpycdg==}
engines: {node: ^20.19.0 || >=22.12.0}
- unrouting@0.1.7:
- resolution: {integrity: sha512-+0hfD+CVWtD636rc5Fn9VEjjTEDhdqgMpbwAuVoUmydSHDaMNiFW93SJG4LV++RoGSEAyvQN5uABAscYpDphpQ==}
-
unrs-resolver@1.12.2:
resolution: {integrity: sha512-dmlRxBJJayXjqTwC+JtF1HhJmgf3ftQ3YejFcZrf4+KKtJv0qDsK1pjqaaVjG7wJ5NJ6UVP1OqRMQ71Z4C3rxQ==}
@@ -7664,10 +7016,6 @@ packages:
util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
- utils-merge@1.0.1:
- resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
- engines: {node: '>= 0.4.0'}
-
uuid@11.1.1:
resolution: {integrity: sha512-vIYxrBCC/N/K+Js3qSN88go7kIfNPssr/hHCesKCQNAjmgvYS2oqr69kIufEG+O4+PfezOH4EbIeHCfFov8ZgQ==}
hasBin: true
@@ -7728,37 +7076,6 @@ packages:
vue-tsc:
optional: true
- vite-plugin-checker@0.14.4:
- resolution: {integrity: sha512-Tw0U9UgHIRiZ+Yoe4Gh0RrYoBiCVmO9j4tomVdYr0KUjUsqXMPhqW8ouoSWmOzGp5Iimipbl3bNXZcK7OeP7Qg==}
- engines: {node: '>=20.19.0'}
- peerDependencies:
- '@biomejs/biome': '>=2.4.12'
- eslint: '>=9.39.4'
- meow: ^13.2.0 || ^14.0.0
- optionator: ^0.9.4
- oxlint: '>=1'
- stylelint: '>=16.26.1'
- typescript: '*'
- vite: '>=5.4.21'
- vue-tsc: ~2.2.10 || ^3.0.0
- peerDependenciesMeta:
- '@biomejs/biome':
- optional: true
- eslint:
- optional: true
- meow:
- optional: true
- optionator:
- optional: true
- oxlint:
- optional: true
- stylelint:
- optional: true
- typescript:
- optional: true
- vue-tsc:
- optional: true
-
vite-plugin-inspect@11.4.1:
resolution: {integrity: sha512-ShOFe2PURXGvRS5OrgmOLZOCwDTD7dEBVt0tMpFPKb9AsvqXKCRGM8QgKrUbRbJYFXScHvDPpGRd28rYidC0tA==}
engines: {node: '>=14'}
@@ -7855,6 +7172,57 @@ packages:
yaml:
optional: true
+ vite@8.1.0:
+ resolution: {integrity: sha512-BuJcQK/56NQTWDGn4ABea3q4SSBdNPWwNZKTkkUpcMPnLoquSYH8llRtSUIgoL1KSCpHt5eghLShn50mH36y7Q==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ hasBin: true
+ peerDependencies:
+ '@types/node': ^20.19.0 || >=22.12.0
+ '@vitejs/devtools': ^0.3.0
+ esbuild: ^0.27.0 || ^0.28.0
+ jiti: '>=1.21.0'
+ less: ^4.0.0
+ sass: ^1.70.0
+ sass-embedded: ^1.70.0
+ stylus: '>=0.54.8'
+ sugarss: ^5.0.0
+ terser: ^5.16.0
+ tsx: ^4.8.1
+ yaml: ^2.4.2
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ '@vitejs/devtools':
+ optional: true
+ esbuild:
+ optional: true
+ jiti:
+ optional: true
+ less:
+ optional: true
+ sass:
+ optional: true
+ sass-embedded:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+ tsx:
+ optional: true
+ yaml:
+ optional: true
+
+ vitefu@1.1.3:
+ resolution: {integrity: sha512-ub4okH7Z5KLjb6hDyjqrGXqWtWvoYdU3IGm/NorpgHncKoLTCfRIbvlhBm7r0YstIaQRYlp4yEbFqDcKSzXSSg==}
+ peerDependencies:
+ vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0
+ peerDependenciesMeta:
+ vite:
+ optional: true
+
vitest-environment-nuxt@1.0.1:
resolution: {integrity: sha512-eBCwtIQriXW5/M49FjqNKfnlJYlG2LWMSNFsRVKomc8CaMqmhQPBS5LZ9DlgYL9T8xIVsiA6RZn2lk7vxov3Ow==}
@@ -8118,6 +7486,9 @@ packages:
youch@4.1.1:
resolution: {integrity: sha512-mxW3qiSnl+GRxXsaUMzv2Mbada1Y8CDltET9UxejDQe6DBYlSekghl5U5K0ReAikcHDi0G1vKZEmmo/NWAGKLA==}
+ zimmerframe@1.1.4:
+ resolution: {integrity: sha512-B58NGBEoc8Y9MWWCQGl/gq9xBCe4IiKM0a2x7GZdQKOW5Exr8S1W24J6OgM1njK8xCRGvAJIL/MxXHf6SkmQKQ==}
+
zip-stream@6.0.1:
resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==}
engines: {node: '>= 14'}
@@ -8301,16 +7672,6 @@ snapshots:
'@babel/core': 7.29.7
'@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-react-jsx-self@7.29.7(@babel/core@7.29.7)':
- dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.29.7
-
- '@babel/plugin-transform-react-jsx-source@7.29.7(@babel/core@7.29.7)':
- dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.29.7
-
'@babel/plugin-transform-typescript@7.29.7(@babel/core@7.29.7)':
dependencies:
'@babel/core': 7.29.7
@@ -8419,6 +7780,12 @@ snapshots:
tslib: 2.8.1
optional: true
+ '@emnapi/core@1.11.1':
+ dependencies:
+ '@emnapi/wasi-threads': 1.2.2
+ tslib: 2.8.1
+ optional: true
+
'@emnapi/runtime@1.10.0':
dependencies:
tslib: 2.8.1
@@ -8434,6 +7801,11 @@ snapshots:
tslib: 2.8.1
optional: true
+ '@emnapi/wasi-threads@1.2.2':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
'@emotion/babel-plugin@11.13.5':
dependencies:
'@babel/helper-module-imports': 7.29.7
@@ -8973,13 +8345,27 @@ snapshots:
'@tybys/wasm-util': 0.10.2
optional: true
- '@napi-rs/wasm-runtime@1.1.5(@emnapi/core@1.10.0)(@emnapi/runtime@1.11.1)':
+ '@napi-rs/wasm-runtime@1.1.5(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)':
dependencies:
- '@emnapi/core': 1.10.0
+ '@emnapi/core': 1.11.1
'@emnapi/runtime': 1.11.1
'@tybys/wasm-util': 0.10.2
optional: true
+ '@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)':
+ dependencies:
+ '@emnapi/core': 1.10.0
+ '@emnapi/runtime': 1.10.0
+ '@tybys/wasm-util': 0.10.3
+ optional: true
+
+ '@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)':
+ dependencies:
+ '@emnapi/core': 1.11.1
+ '@emnapi/runtime': 1.11.1
+ '@tybys/wasm-util': 0.10.3
+ optional: true
+
'@next/env@15.5.18': {}
'@next/swc-darwin-arm64@15.5.18':
@@ -9000,63 +8386,25 @@ snapshots:
'@next/swc-linux-x64-musl@15.5.18':
optional: true
- '@next/swc-win32-arm64-msvc@15.5.18':
- optional: true
-
- '@next/swc-win32-x64-msvc@15.5.18':
- optional: true
-
- '@nodelib/fs.scandir@2.1.5':
- dependencies:
- '@nodelib/fs.stat': 2.0.5
- run-parallel: 1.2.0
-
- '@nodelib/fs.stat@2.0.5': {}
-
- '@nodelib/fs.walk@1.2.8':
- dependencies:
- '@nodelib/fs.scandir': 2.1.5
- fastq: 1.20.1
-
- '@nuxt/cli@3.36.0(@nuxt/schema@3.21.7)(cac@6.7.14)(magicast@0.5.3)':
- dependencies:
- '@bomb.sh/tab': 0.0.16(cac@6.7.14)(citty@0.2.2)
- '@clack/prompts': 1.6.0
- c12: 3.3.4(magicast@0.5.3)
- citty: 0.2.2
- confbox: 0.2.4
- consola: 3.4.2
- debug: 4.4.3
- defu: 6.1.7
- exsolve: 1.0.8
- fuse.js: 7.4.2
- fzf: 0.5.2
- giget: 3.3.0
- jiti: 2.7.0
- listhen: 1.10.0(srvx@0.11.17)
- nypm: 0.6.7
- ofetch: 1.5.1
- ohash: 2.0.11
- pathe: 2.0.3
- perfect-debounce: 2.1.0
- pkg-types: 2.3.1
- scule: 1.3.0
- semver: 7.8.5
- srvx: 0.11.17
- std-env: 4.1.0
- tinyclip: 0.1.14
- tinyexec: 1.2.4
- ufo: 1.6.4
- youch: 4.1.1
- optionalDependencies:
- '@nuxt/schema': 3.21.7
- transitivePeerDependencies:
- - cac
- - commander
- - magicast
- - supports-color
+ '@next/swc-win32-arm64-msvc@15.5.18':
+ optional: true
+
+ '@next/swc-win32-x64-msvc@15.5.18':
+ optional: true
+
+ '@nodelib/fs.scandir@2.1.5':
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ run-parallel: 1.2.0
+
+ '@nodelib/fs.stat@2.0.5': {}
+
+ '@nodelib/fs.walk@1.2.8':
+ dependencies:
+ '@nodelib/fs.scandir': 2.1.5
+ fastq: 1.20.1
- '@nuxt/cli@3.36.0(@nuxt/schema@4.4.8)(cac@6.7.14)(magicast@0.5.3)':
+ '@nuxt/cli@3.36.0(@nuxt/schema@3.21.7)(cac@6.7.14)(magicast@0.5.3)':
dependencies:
'@bomb.sh/tab': 0.0.16(cac@6.7.14)(citty@0.2.2)
'@clack/prompts': 1.6.0
@@ -9087,7 +8435,7 @@ snapshots:
ufo: 1.6.4
youch: 4.1.1
optionalDependencies:
- '@nuxt/schema': 4.4.8
+ '@nuxt/schema': 3.21.7
transitivePeerDependencies:
- cac
- commander
@@ -9096,19 +8444,19 @@ snapshots:
'@nuxt/devalue@2.0.2': {}
- '@nuxt/devtools-kit@2.6.4(magicast@0.3.5)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))':
+ '@nuxt/devtools-kit@2.6.4(magicast@0.3.5)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))':
dependencies:
'@nuxt/kit': 3.21.7(magicast@0.3.5)
execa: 8.0.1
- vite: 7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
+ vite: 8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
transitivePeerDependencies:
- magicast
- '@nuxt/devtools-kit@3.2.4(magicast@0.5.3)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))':
+ '@nuxt/devtools-kit@3.2.4(magicast@0.5.3)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))':
dependencies:
'@nuxt/kit': 4.4.8(magicast@0.5.3)
execa: 8.0.1
- vite: 7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
+ vite: 8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
transitivePeerDependencies:
- magicast
@@ -9134,12 +8482,12 @@ snapshots:
pkg-types: 2.3.1
semver: 7.8.5
- '@nuxt/devtools@2.6.4(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vue@3.5.30(typescript@5.9.3))':
+ '@nuxt/devtools@2.6.4(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vue@3.5.30(typescript@5.9.3))':
dependencies:
- '@nuxt/devtools-kit': 2.6.4(magicast@0.3.5)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ '@nuxt/devtools-kit': 2.6.4(magicast@0.3.5)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
'@nuxt/devtools-wizard': 2.6.4
'@nuxt/kit': 3.21.7(magicast@0.3.5)
- '@vue/devtools-core': 7.7.9(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vue@3.5.30(typescript@5.9.3))
+ '@vue/devtools-core': 7.7.9(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vue@3.5.30(typescript@5.9.3))
'@vue/devtools-kit': 7.7.9
birpc: 2.9.0
consola: 3.4.2
@@ -9164,9 +8512,9 @@ snapshots:
sirv: 3.0.2
structured-clone-es: 1.0.0
tinyglobby: 0.2.17
- vite: 7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
- vite-plugin-inspect: 11.4.1(@nuxt/kit@3.21.7(magicast@0.5.3))(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
- vite-plugin-vue-tracer: 1.4.0(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vue@3.5.30(typescript@5.9.3))
+ vite: 8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
+ vite-plugin-inspect: 11.4.1(@nuxt/kit@3.21.7(magicast@0.5.3))(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ vite-plugin-vue-tracer: 1.4.0(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vue@3.5.30(typescript@5.9.3))
which: 5.0.0
ws: 8.21.0
transitivePeerDependencies:
@@ -9175,9 +8523,9 @@ snapshots:
- utf-8-validate
- vue
- '@nuxt/devtools@3.2.4(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vue@3.5.38(typescript@5.9.3))':
+ '@nuxt/devtools@3.2.4(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vue@3.5.38(typescript@5.9.3))':
dependencies:
- '@nuxt/devtools-kit': 3.2.4(magicast@0.5.3)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ '@nuxt/devtools-kit': 3.2.4(magicast@0.5.3)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
'@nuxt/devtools-wizard': 3.2.4
'@nuxt/kit': 4.4.8(magicast@0.5.3)
'@vue/devtools-core': 8.1.3(vue@3.5.38(typescript@5.9.3))
@@ -9205,9 +8553,9 @@ snapshots:
sirv: 3.0.2
structured-clone-es: 2.0.0
tinyglobby: 0.2.17
- vite: 7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
- vite-plugin-inspect: 11.4.1(@nuxt/kit@4.4.8(magicast@0.5.3))(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
- vite-plugin-vue-tracer: 1.4.0(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vue@3.5.38(typescript@5.9.3))
+ vite: 8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
+ vite-plugin-inspect: 11.4.1(@nuxt/kit@4.4.8(magicast@0.5.3))(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ vite-plugin-vue-tracer: 1.4.0(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vue@3.5.38(typescript@5.9.3))
which: 6.0.1
ws: 8.21.0
transitivePeerDependencies:
@@ -9316,7 +8664,7 @@ snapshots:
- vue
- vue-tsc
- '@nuxt/nitro-server@3.21.7(db0@0.3.4)(ioredis@5.11.1)(magicast@0.5.3)(nuxt@3.21.7(@parcel/watcher@2.5.6)(@types/node@24.7.2)(@vue/compiler-sfc@3.5.38)(cac@6.7.14)(db0@0.3.4)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.11.1)(magicast@0.5.3)(optionator@0.9.4)(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup-plugin-visualizer@7.0.1(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup@4.62.2))(rollup@4.62.2)(srvx@0.11.17)(terser@5.48.0)(typescript@5.9.3)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(yaml@2.9.0))(oxc-parser@0.132.0)(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(srvx@0.11.17)(typescript@5.9.3)':
+ '@nuxt/nitro-server@3.21.7(db0@0.3.4)(ioredis@5.11.1)(magicast@0.5.3)(nuxt@3.21.7(@parcel/watcher@2.5.6)(@types/node@24.7.2)(@vue/compiler-sfc@3.5.38)(cac@6.7.14)(db0@0.3.4)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.11.1)(lightningcss@1.32.0)(magicast@0.5.3)(optionator@0.9.4)(rolldown@1.1.3)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.3)(rollup@4.62.2))(rollup@4.62.2)(srvx@0.11.17)(terser@5.48.0)(typescript@5.9.3)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(yaml@2.9.0))(oxc-parser@0.132.0)(rolldown@1.1.3)(srvx@0.11.17)(typescript@5.9.3)':
dependencies:
'@nuxt/devalue': 2.0.2
'@nuxt/kit': 3.21.7(magicast@0.5.3)
@@ -9333,8 +8681,8 @@ snapshots:
impound: 1.1.5
klona: 2.0.6
mocked-exports: 0.1.1
- nitropack: 2.13.4(oxc-parser@0.132.0)(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(srvx@0.11.17)
- nuxt: 3.21.7(@parcel/watcher@2.5.6)(@types/node@24.7.2)(@vue/compiler-sfc@3.5.38)(cac@6.7.14)(db0@0.3.4)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.11.1)(magicast@0.5.3)(optionator@0.9.4)(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup-plugin-visualizer@7.0.1(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup@4.62.2))(rollup@4.62.2)(srvx@0.11.17)(terser@5.48.0)(typescript@5.9.3)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(yaml@2.9.0)
+ nitropack: 2.13.4(oxc-parser@0.132.0)(rolldown@1.1.3)(srvx@0.11.17)
+ nuxt: 3.21.7(@parcel/watcher@2.5.6)(@types/node@24.7.2)(@vue/compiler-sfc@3.5.38)(cac@6.7.14)(db0@0.3.4)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.11.1)(lightningcss@1.32.0)(magicast@0.5.3)(optionator@0.9.4)(rolldown@1.1.3)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.3)(rollup@4.62.2))(rollup@4.62.2)(srvx@0.11.17)(terser@5.48.0)(typescript@5.9.3)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(yaml@2.9.0)
ohash: 2.0.11
pathe: 2.0.3
pkg-types: 2.3.1
@@ -9384,76 +8732,6 @@ snapshots:
- uploadthing
- xml2js
- '@nuxt/nitro-server@4.4.8(@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7))(db0@0.3.4)(ioredis@5.11.1)(magicast@0.5.3)(nuxt@4.4.8(@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7))(@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7))(@parcel/watcher@2.5.6)(@types/node@24.7.2)(@vue/compiler-sfc@3.5.38)(cac@6.7.14)(db0@0.3.4)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.11.1)(magicast@0.5.3)(optionator@0.9.4)(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup-plugin-visualizer@7.0.1(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup@4.62.2))(rollup@4.62.2)(terser@5.48.0)(typescript@5.9.3)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(yaml@2.9.0))(oxc-parser@0.133.0)(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(typescript@5.9.3)':
- dependencies:
- '@nuxt/devalue': 2.0.2
- '@nuxt/kit': 4.4.8(magicast@0.5.3)
- '@unhead/vue': 2.1.15(vue@3.5.38(typescript@5.9.3))
- '@vue/shared': 3.5.38
- consola: 3.4.2
- defu: 6.1.7
- destr: 2.0.5
- devalue: 5.8.1
- errx: 0.1.0
- escape-string-regexp: 5.0.0
- exsolve: 1.0.8
- h3: 1.15.11
- impound: 1.1.5
- klona: 2.0.6
- mocked-exports: 0.1.1
- nitropack: 2.13.4(oxc-parser@0.133.0)(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))
- nuxt: 4.4.8(@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7))(@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7))(@parcel/watcher@2.5.6)(@types/node@24.7.2)(@vue/compiler-sfc@3.5.38)(cac@6.7.14)(db0@0.3.4)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.11.1)(magicast@0.5.3)(optionator@0.9.4)(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup-plugin-visualizer@7.0.1(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup@4.62.2))(rollup@4.62.2)(terser@5.48.0)(typescript@5.9.3)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(yaml@2.9.0)
- nypm: 0.6.7
- ohash: 2.0.11
- pathe: 2.0.3
- rou3: 0.8.1
- std-env: 4.1.0
- ufo: 1.6.4
- unctx: 2.5.0
- unstorage: 1.17.5(db0@0.3.4)(ioredis@5.11.1)
- vue: 3.5.38(typescript@5.9.3)
- vue-bundle-renderer: 2.2.0
- vue-devtools-stub: 0.1.0
- optionalDependencies:
- '@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.7)
- transitivePeerDependencies:
- - '@azure/app-configuration'
- - '@azure/cosmos'
- - '@azure/data-tables'
- - '@azure/identity'
- - '@azure/keyvault-secrets'
- - '@azure/storage-blob'
- - '@capacitor/preferences'
- - '@deno/kv'
- - '@electric-sql/pglite'
- - '@libsql/client'
- - '@netlify/blobs'
- - '@planetscale/database'
- - '@upstash/redis'
- - '@vercel/blob'
- - '@vercel/functions'
- - '@vercel/kv'
- - aws4fetch
- - bare-abort-controller
- - bare-buffer
- - better-sqlite3
- - db0
- - drizzle-orm
- - encoding
- - idb-keyval
- - ioredis
- - magicast
- - mysql2
- - oxc-parser
- - react-native-b4a
- - rolldown
- - sqlite3
- - srvx
- - supports-color
- - typescript
- - uploadthing
- - xml2js
-
'@nuxt/schema@3.21.7':
dependencies:
'@vue/shared': 3.5.38
@@ -9462,14 +8740,6 @@ snapshots:
pkg-types: 2.3.1
std-env: 4.1.0
- '@nuxt/schema@4.4.8':
- dependencies:
- '@vue/shared': 3.5.38
- defu: 6.1.7
- pathe: 2.0.3
- pkg-types: 2.3.1
- std-env: 4.1.0
-
'@nuxt/telemetry@2.8.0(@nuxt/kit@3.21.7(magicast@0.5.3))':
dependencies:
'@nuxt/kit': 3.21.7(magicast@0.5.3)
@@ -9479,16 +8749,7 @@ snapshots:
rc9: 3.0.1
std-env: 4.1.0
- '@nuxt/telemetry@2.8.0(@nuxt/kit@4.4.8(magicast@0.5.3))':
- dependencies:
- '@nuxt/kit': 4.4.8(magicast@0.5.3)
- citty: 0.2.2
- consola: 3.4.2
- ofetch: 2.0.0-alpha.3
- rc9: 3.0.1
- std-env: 4.1.0
-
- '@nuxt/test-utils@3.17.2(@playwright/test@1.60.0)(@types/node@24.7.2)(@vue/test-utils@2.4.6)(jiti@2.7.0)(jsdom@27.0.1)(magicast@0.5.3)(playwright-core@1.60.0)(terser@5.48.0)(typescript@5.9.3)(vitest@4.1.8)(yaml@2.9.0)':
+ '@nuxt/test-utils@3.17.2(@playwright/test@1.60.0)(@types/node@24.7.2)(@vue/test-utils@2.4.6)(jiti@2.7.0)(jsdom@27.0.1)(lightningcss@1.32.0)(magicast@0.5.3)(playwright-core@1.60.0)(terser@5.48.0)(typescript@5.9.3)(vitest@4.1.8)(yaml@2.9.0)':
dependencies:
'@nuxt/kit': 3.21.7(magicast@0.5.3)
'@nuxt/schema': 3.21.7
@@ -9513,15 +8774,15 @@ snapshots:
tinyexec: 0.3.2
ufo: 1.6.4
unplugin: 2.3.11
- vite: 6.4.3(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
- vitest-environment-nuxt: 1.0.1(@playwright/test@1.60.0)(@types/node@24.7.2)(@vue/test-utils@2.4.6)(jiti@2.7.0)(jsdom@27.0.1)(magicast@0.5.3)(playwright-core@1.60.0)(terser@5.48.0)(typescript@5.9.3)(vitest@4.1.8)(yaml@2.9.0)
+ vite: 6.4.3(@types/node@24.7.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.48.0)(yaml@2.9.0)
+ vitest-environment-nuxt: 1.0.1(@playwright/test@1.60.0)(@types/node@24.7.2)(@vue/test-utils@2.4.6)(jiti@2.7.0)(jsdom@27.0.1)(lightningcss@1.32.0)(magicast@0.5.3)(playwright-core@1.60.0)(terser@5.48.0)(typescript@5.9.3)(vitest@4.1.8)(yaml@2.9.0)
vue: 3.5.30(typescript@5.9.3)
optionalDependencies:
'@playwright/test': 1.60.0
'@vue/test-utils': 2.4.6
jsdom: 27.0.1
playwright-core: 1.60.0
- vitest: 4.1.8(@types/node@24.7.2)(@vitest/browser-playwright@4.1.8)(jsdom@27.0.1)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ vitest: 4.1.8(@types/node@24.7.2)(@vitest/browser-playwright@4.1.8)(jsdom@27.0.1)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
transitivePeerDependencies:
- '@types/node'
- jiti
@@ -9537,12 +8798,12 @@ snapshots:
- typescript
- yaml
- '@nuxt/vite-builder@3.21.7(@types/node@24.7.2)(eslint@9.39.4(jiti@2.7.0))(magicast@0.5.3)(nuxt@3.21.7(@parcel/watcher@2.5.6)(@types/node@24.7.2)(@vue/compiler-sfc@3.5.38)(cac@6.7.14)(db0@0.3.4)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.11.1)(magicast@0.5.3)(optionator@0.9.4)(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup-plugin-visualizer@7.0.1(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup@4.62.2))(rollup@4.62.2)(srvx@0.11.17)(terser@5.48.0)(typescript@5.9.3)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(yaml@2.9.0))(optionator@0.9.4)(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup-plugin-visualizer@7.0.1(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup@4.62.2))(rollup@4.62.2)(terser@5.48.0)(typescript@5.9.3)(vue@3.5.38(typescript@5.9.3))(yaml@2.9.0)':
+ '@nuxt/vite-builder@3.21.7(@types/node@24.7.2)(eslint@9.39.4(jiti@2.7.0))(lightningcss@1.32.0)(magicast@0.5.3)(nuxt@3.21.7(@parcel/watcher@2.5.6)(@types/node@24.7.2)(@vue/compiler-sfc@3.5.38)(cac@6.7.14)(db0@0.3.4)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.11.1)(lightningcss@1.32.0)(magicast@0.5.3)(optionator@0.9.4)(rolldown@1.1.3)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.3)(rollup@4.62.2))(rollup@4.62.2)(srvx@0.11.17)(terser@5.48.0)(typescript@5.9.3)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(yaml@2.9.0))(optionator@0.9.4)(rolldown@1.1.3)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.3)(rollup@4.62.2))(rollup@4.62.2)(terser@5.48.0)(typescript@5.9.3)(vue@3.5.38(typescript@5.9.3))(yaml@2.9.0)':
dependencies:
'@nuxt/kit': 3.21.7(magicast@0.5.3)
'@rollup/plugin-replace': 6.0.3(rollup@4.62.2)
- '@vitejs/plugin-vue': 6.0.7(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vue@3.5.38(typescript@5.9.3))
- '@vitejs/plugin-vue-jsx': 5.1.5(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vue@3.5.38(typescript@5.9.3))
+ '@vitejs/plugin-vue': 6.0.7(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.48.0)(yaml@2.9.0))(vue@3.5.38(typescript@5.9.3))
+ '@vitejs/plugin-vue-jsx': 5.1.5(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.48.0)(yaml@2.9.0))(vue@3.5.38(typescript@5.9.3))
autoprefixer: 10.5.0(postcss@8.5.15)
consola: 3.4.2
cssnano: 7.1.9(postcss@8.5.15)
@@ -9556,7 +8817,7 @@ snapshots:
magic-string: 0.30.21
mlly: 1.8.2
mocked-exports: 0.1.1
- nuxt: 3.21.7(@parcel/watcher@2.5.6)(@types/node@24.7.2)(@vue/compiler-sfc@3.5.38)(cac@6.7.14)(db0@0.3.4)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.11.1)(magicast@0.5.3)(optionator@0.9.4)(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup-plugin-visualizer@7.0.1(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup@4.62.2))(rollup@4.62.2)(srvx@0.11.17)(terser@5.48.0)(typescript@5.9.3)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(yaml@2.9.0)
+ nuxt: 3.21.7(@parcel/watcher@2.5.6)(@types/node@24.7.2)(@vue/compiler-sfc@3.5.38)(cac@6.7.14)(db0@0.3.4)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.11.1)(lightningcss@1.32.0)(magicast@0.5.3)(optionator@0.9.4)(rolldown@1.1.3)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.3)(rollup@4.62.2))(rollup@4.62.2)(srvx@0.11.17)(terser@5.48.0)(typescript@5.9.3)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(yaml@2.9.0)
nypm: 0.6.7
ohash: 2.0.11
pathe: 2.0.3
@@ -9567,14 +8828,14 @@ snapshots:
std-env: 4.1.0
ufo: 1.6.4
unenv: 2.0.0-rc.24
- vite: 7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
- vite-node: 5.3.0(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
- vite-plugin-checker: 0.13.0(eslint@9.39.4(jiti@2.7.0))(optionator@0.9.4)(typescript@5.9.3)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ vite: 7.3.5(@types/node@24.7.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.48.0)(yaml@2.9.0)
+ vite-node: 5.3.0(@types/node@24.7.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.48.0)(yaml@2.9.0)
+ vite-plugin-checker: 0.13.0(eslint@9.39.4(jiti@2.7.0))(optionator@0.9.4)(typescript@5.9.3)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.48.0)(yaml@2.9.0))
vue: 3.5.38(typescript@5.9.3)
vue-bundle-renderer: 2.2.0
optionalDependencies:
- rolldown: 1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)
- rollup-plugin-visualizer: 7.0.1(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup@4.62.2)
+ rolldown: 1.1.3
+ rollup-plugin-visualizer: 7.0.1(rolldown@1.1.3)(rollup@4.62.2)
transitivePeerDependencies:
- '@biomejs/biome'
- '@types/node'
@@ -9600,163 +8861,56 @@ snapshots:
- vue-tsc
- yaml
- '@nuxt/vite-builder@4.4.8(5e770e72ca055b8ebf51d504a3c88ac6)':
- dependencies:
- '@nuxt/kit': 4.4.8(magicast@0.5.3)
- '@rollup/plugin-replace': 6.0.3(rollup@4.62.2)
- '@vitejs/plugin-vue': 6.0.7(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vue@3.5.38(typescript@5.9.3))
- '@vitejs/plugin-vue-jsx': 5.1.5(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vue@3.5.38(typescript@5.9.3))
- autoprefixer: 10.5.0(postcss@8.5.15)
- consola: 3.4.2
- cssnano: 8.0.2(postcss@8.5.15)
- defu: 6.1.7
- escape-string-regexp: 5.0.0
- exsolve: 1.0.8
- get-port-please: 3.2.0
- jiti: 2.7.0
- knitwork: 1.3.0
- magic-string: 0.30.21
- mlly: 1.8.2
- mocked-exports: 0.1.1
- nuxt: 4.4.8(@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7))(@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7))(@parcel/watcher@2.5.6)(@types/node@24.7.2)(@vue/compiler-sfc@3.5.38)(cac@6.7.14)(db0@0.3.4)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.11.1)(magicast@0.5.3)(optionator@0.9.4)(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup-plugin-visualizer@7.0.1(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup@4.62.2))(rollup@4.62.2)(terser@5.48.0)(typescript@5.9.3)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(yaml@2.9.0)
- nypm: 0.6.7
- pathe: 2.0.3
- pkg-types: 2.3.1
- postcss: 8.5.15
- seroval: 1.5.4
- std-env: 4.1.0
- ufo: 1.6.4
- unenv: 2.0.0-rc.24
- vite: 7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
- vite-node: 5.3.0(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
- vite-plugin-checker: 0.14.4(eslint@9.39.4(jiti@2.7.0))(optionator@0.9.4)(typescript@5.9.3)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
- vue: 3.5.38(typescript@5.9.3)
- vue-bundle-renderer: 2.2.0
- optionalDependencies:
- '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7)
- rolldown: 1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)
- rollup-plugin-visualizer: 7.0.1(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup@4.62.2)
- transitivePeerDependencies:
- - '@biomejs/biome'
- - '@types/node'
- - eslint
- - less
- - lightningcss
- - magicast
- - meow
- - optionator
- - oxlint
- - rollup
- - sass
- - sass-embedded
- - stylelint
- - stylus
- - sugarss
- - supports-color
- - terser
- - tsx
- - typescript
- - vue-tsc
- - yaml
-
'@one-ini/wasm@0.1.1': {}
'@oxc-minify/binding-android-arm-eabi@0.132.0':
optional: true
- '@oxc-minify/binding-android-arm-eabi@0.133.0':
- optional: true
-
'@oxc-minify/binding-android-arm64@0.132.0':
optional: true
- '@oxc-minify/binding-android-arm64@0.133.0':
- optional: true
-
'@oxc-minify/binding-darwin-arm64@0.132.0':
optional: true
- '@oxc-minify/binding-darwin-arm64@0.133.0':
- optional: true
-
'@oxc-minify/binding-darwin-x64@0.132.0':
optional: true
- '@oxc-minify/binding-darwin-x64@0.133.0':
- optional: true
-
'@oxc-minify/binding-freebsd-x64@0.132.0':
optional: true
- '@oxc-minify/binding-freebsd-x64@0.133.0':
- optional: true
-
'@oxc-minify/binding-linux-arm-gnueabihf@0.132.0':
optional: true
- '@oxc-minify/binding-linux-arm-gnueabihf@0.133.0':
- optional: true
-
'@oxc-minify/binding-linux-arm-musleabihf@0.132.0':
optional: true
- '@oxc-minify/binding-linux-arm-musleabihf@0.133.0':
- optional: true
-
'@oxc-minify/binding-linux-arm64-gnu@0.132.0':
optional: true
- '@oxc-minify/binding-linux-arm64-gnu@0.133.0':
- optional: true
-
'@oxc-minify/binding-linux-arm64-musl@0.132.0':
optional: true
- '@oxc-minify/binding-linux-arm64-musl@0.133.0':
- optional: true
-
'@oxc-minify/binding-linux-ppc64-gnu@0.132.0':
optional: true
- '@oxc-minify/binding-linux-ppc64-gnu@0.133.0':
- optional: true
-
'@oxc-minify/binding-linux-riscv64-gnu@0.132.0':
optional: true
- '@oxc-minify/binding-linux-riscv64-gnu@0.133.0':
- optional: true
-
'@oxc-minify/binding-linux-riscv64-musl@0.132.0':
optional: true
- '@oxc-minify/binding-linux-riscv64-musl@0.133.0':
- optional: true
-
'@oxc-minify/binding-linux-s390x-gnu@0.132.0':
optional: true
- '@oxc-minify/binding-linux-s390x-gnu@0.133.0':
- optional: true
-
'@oxc-minify/binding-linux-x64-gnu@0.132.0':
optional: true
- '@oxc-minify/binding-linux-x64-gnu@0.133.0':
- optional: true
-
'@oxc-minify/binding-linux-x64-musl@0.132.0':
optional: true
- '@oxc-minify/binding-linux-x64-musl@0.133.0':
- optional: true
-
'@oxc-minify/binding-openharmony-arm64@0.132.0':
optional: true
- '@oxc-minify/binding-openharmony-arm64@0.133.0':
- optional: true
-
'@oxc-minify/binding-wasm32-wasi@0.132.0':
dependencies:
'@emnapi/core': 1.10.0
@@ -9764,127 +8918,63 @@ snapshots:
'@napi-rs/wasm-runtime': 1.1.5(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)
optional: true
- '@oxc-minify/binding-wasm32-wasi@0.133.0':
- dependencies:
- '@emnapi/core': 1.10.0
- '@emnapi/runtime': 1.10.0
- '@napi-rs/wasm-runtime': 1.1.5(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)
- optional: true
-
'@oxc-minify/binding-win32-arm64-msvc@0.132.0':
optional: true
- '@oxc-minify/binding-win32-arm64-msvc@0.133.0':
- optional: true
-
'@oxc-minify/binding-win32-ia32-msvc@0.132.0':
optional: true
- '@oxc-minify/binding-win32-ia32-msvc@0.133.0':
- optional: true
-
'@oxc-minify/binding-win32-x64-msvc@0.132.0':
optional: true
- '@oxc-minify/binding-win32-x64-msvc@0.133.0':
- optional: true
-
'@oxc-parser/binding-android-arm-eabi@0.132.0':
optional: true
- '@oxc-parser/binding-android-arm-eabi@0.133.0':
- optional: true
-
'@oxc-parser/binding-android-arm64@0.132.0':
optional: true
- '@oxc-parser/binding-android-arm64@0.133.0':
- optional: true
-
'@oxc-parser/binding-darwin-arm64@0.132.0':
optional: true
- '@oxc-parser/binding-darwin-arm64@0.133.0':
- optional: true
-
'@oxc-parser/binding-darwin-x64@0.132.0':
optional: true
- '@oxc-parser/binding-darwin-x64@0.133.0':
- optional: true
-
'@oxc-parser/binding-freebsd-x64@0.132.0':
optional: true
- '@oxc-parser/binding-freebsd-x64@0.133.0':
- optional: true
-
'@oxc-parser/binding-linux-arm-gnueabihf@0.132.0':
optional: true
- '@oxc-parser/binding-linux-arm-gnueabihf@0.133.0':
- optional: true
-
'@oxc-parser/binding-linux-arm-musleabihf@0.132.0':
optional: true
- '@oxc-parser/binding-linux-arm-musleabihf@0.133.0':
- optional: true
-
'@oxc-parser/binding-linux-arm64-gnu@0.132.0':
optional: true
- '@oxc-parser/binding-linux-arm64-gnu@0.133.0':
- optional: true
-
'@oxc-parser/binding-linux-arm64-musl@0.132.0':
optional: true
- '@oxc-parser/binding-linux-arm64-musl@0.133.0':
- optional: true
-
'@oxc-parser/binding-linux-ppc64-gnu@0.132.0':
optional: true
- '@oxc-parser/binding-linux-ppc64-gnu@0.133.0':
- optional: true
-
'@oxc-parser/binding-linux-riscv64-gnu@0.132.0':
optional: true
- '@oxc-parser/binding-linux-riscv64-gnu@0.133.0':
- optional: true
-
'@oxc-parser/binding-linux-riscv64-musl@0.132.0':
optional: true
- '@oxc-parser/binding-linux-riscv64-musl@0.133.0':
- optional: true
-
'@oxc-parser/binding-linux-s390x-gnu@0.132.0':
optional: true
- '@oxc-parser/binding-linux-s390x-gnu@0.133.0':
- optional: true
-
'@oxc-parser/binding-linux-x64-gnu@0.132.0':
optional: true
- '@oxc-parser/binding-linux-x64-gnu@0.133.0':
- optional: true
-
'@oxc-parser/binding-linux-x64-musl@0.132.0':
optional: true
- '@oxc-parser/binding-linux-x64-musl@0.133.0':
- optional: true
-
'@oxc-parser/binding-openharmony-arm64@0.132.0':
optional: true
- '@oxc-parser/binding-openharmony-arm64@0.133.0':
- optional: true
-
'@oxc-parser/binding-wasm32-wasi@0.132.0':
dependencies:
'@emnapi/core': 1.10.0
@@ -9892,133 +8982,69 @@ snapshots:
'@napi-rs/wasm-runtime': 1.1.5(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)
optional: true
- '@oxc-parser/binding-wasm32-wasi@0.133.0':
- dependencies:
- '@emnapi/core': 1.10.0
- '@emnapi/runtime': 1.10.0
- '@napi-rs/wasm-runtime': 1.1.5(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)
- optional: true
-
'@oxc-parser/binding-win32-arm64-msvc@0.132.0':
optional: true
- '@oxc-parser/binding-win32-arm64-msvc@0.133.0':
- optional: true
-
'@oxc-parser/binding-win32-ia32-msvc@0.132.0':
optional: true
- '@oxc-parser/binding-win32-ia32-msvc@0.133.0':
- optional: true
-
'@oxc-parser/binding-win32-x64-msvc@0.132.0':
optional: true
- '@oxc-parser/binding-win32-x64-msvc@0.133.0':
- optional: true
-
'@oxc-project/types@0.132.0': {}
- '@oxc-project/types@0.133.0': {}
+ '@oxc-project/types@0.137.0': {}
'@oxc-project/types@0.95.0': {}
'@oxc-transform/binding-android-arm-eabi@0.132.0':
optional: true
- '@oxc-transform/binding-android-arm-eabi@0.133.0':
- optional: true
-
'@oxc-transform/binding-android-arm64@0.132.0':
optional: true
- '@oxc-transform/binding-android-arm64@0.133.0':
- optional: true
-
'@oxc-transform/binding-darwin-arm64@0.132.0':
optional: true
- '@oxc-transform/binding-darwin-arm64@0.133.0':
- optional: true
-
'@oxc-transform/binding-darwin-x64@0.132.0':
optional: true
- '@oxc-transform/binding-darwin-x64@0.133.0':
- optional: true
-
'@oxc-transform/binding-freebsd-x64@0.132.0':
optional: true
- '@oxc-transform/binding-freebsd-x64@0.133.0':
- optional: true
-
- '@oxc-transform/binding-linux-arm-gnueabihf@0.132.0':
- optional: true
-
- '@oxc-transform/binding-linux-arm-gnueabihf@0.133.0':
- optional: true
-
- '@oxc-transform/binding-linux-arm-musleabihf@0.132.0':
- optional: true
-
- '@oxc-transform/binding-linux-arm-musleabihf@0.133.0':
+ '@oxc-transform/binding-linux-arm-gnueabihf@0.132.0':
optional: true
- '@oxc-transform/binding-linux-arm64-gnu@0.132.0':
+ '@oxc-transform/binding-linux-arm-musleabihf@0.132.0':
optional: true
- '@oxc-transform/binding-linux-arm64-gnu@0.133.0':
+ '@oxc-transform/binding-linux-arm64-gnu@0.132.0':
optional: true
'@oxc-transform/binding-linux-arm64-musl@0.132.0':
optional: true
- '@oxc-transform/binding-linux-arm64-musl@0.133.0':
- optional: true
-
'@oxc-transform/binding-linux-ppc64-gnu@0.132.0':
optional: true
- '@oxc-transform/binding-linux-ppc64-gnu@0.133.0':
- optional: true
-
'@oxc-transform/binding-linux-riscv64-gnu@0.132.0':
optional: true
- '@oxc-transform/binding-linux-riscv64-gnu@0.133.0':
- optional: true
-
'@oxc-transform/binding-linux-riscv64-musl@0.132.0':
optional: true
- '@oxc-transform/binding-linux-riscv64-musl@0.133.0':
- optional: true
-
'@oxc-transform/binding-linux-s390x-gnu@0.132.0':
optional: true
- '@oxc-transform/binding-linux-s390x-gnu@0.133.0':
- optional: true
-
'@oxc-transform/binding-linux-x64-gnu@0.132.0':
optional: true
- '@oxc-transform/binding-linux-x64-gnu@0.133.0':
- optional: true
-
'@oxc-transform/binding-linux-x64-musl@0.132.0':
optional: true
- '@oxc-transform/binding-linux-x64-musl@0.133.0':
- optional: true
-
'@oxc-transform/binding-openharmony-arm64@0.132.0':
optional: true
- '@oxc-transform/binding-openharmony-arm64@0.133.0':
- optional: true
-
'@oxc-transform/binding-wasm32-wasi@0.132.0':
dependencies:
'@emnapi/core': 1.10.0
@@ -10026,31 +9052,15 @@ snapshots:
'@napi-rs/wasm-runtime': 1.1.5(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)
optional: true
- '@oxc-transform/binding-wasm32-wasi@0.133.0':
- dependencies:
- '@emnapi/core': 1.10.0
- '@emnapi/runtime': 1.10.0
- '@napi-rs/wasm-runtime': 1.1.5(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)
- optional: true
-
'@oxc-transform/binding-win32-arm64-msvc@0.132.0':
optional: true
- '@oxc-transform/binding-win32-arm64-msvc@0.133.0':
- optional: true
-
'@oxc-transform/binding-win32-ia32-msvc@0.132.0':
optional: true
- '@oxc-transform/binding-win32-ia32-msvc@0.133.0':
- optional: true
-
'@oxc-transform/binding-win32-x64-msvc@0.132.0':
optional: true
- '@oxc-transform/binding-win32-x64-msvc@0.133.0':
- optional: true
-
'@package-json/types@0.0.12': {}
'@parcel/watcher-android-arm64@2.5.6':
@@ -10142,59 +9152,98 @@ snapshots:
'@rolldown/binding-android-arm64@1.0.0-beta.45':
optional: true
+ '@rolldown/binding-android-arm64@1.1.3':
+ optional: true
+
'@rolldown/binding-darwin-arm64@1.0.0-beta.45':
optional: true
+ '@rolldown/binding-darwin-arm64@1.1.3':
+ optional: true
+
'@rolldown/binding-darwin-x64@1.0.0-beta.45':
optional: true
+ '@rolldown/binding-darwin-x64@1.1.3':
+ optional: true
+
'@rolldown/binding-freebsd-x64@1.0.0-beta.45':
optional: true
+ '@rolldown/binding-freebsd-x64@1.1.3':
+ optional: true
+
'@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.45':
optional: true
+ '@rolldown/binding-linux-arm-gnueabihf@1.1.3':
+ optional: true
+
'@rolldown/binding-linux-arm64-gnu@1.0.0-beta.45':
optional: true
+ '@rolldown/binding-linux-arm64-gnu@1.1.3':
+ optional: true
+
'@rolldown/binding-linux-arm64-musl@1.0.0-beta.45':
optional: true
+ '@rolldown/binding-linux-arm64-musl@1.1.3':
+ optional: true
+
+ '@rolldown/binding-linux-ppc64-gnu@1.1.3':
+ optional: true
+
+ '@rolldown/binding-linux-s390x-gnu@1.1.3':
+ optional: true
+
'@rolldown/binding-linux-x64-gnu@1.0.0-beta.45':
optional: true
+ '@rolldown/binding-linux-x64-gnu@1.1.3':
+ optional: true
+
'@rolldown/binding-linux-x64-musl@1.0.0-beta.45':
optional: true
+ '@rolldown/binding-linux-x64-musl@1.1.3':
+ optional: true
+
'@rolldown/binding-openharmony-arm64@1.0.0-beta.45':
optional: true
- '@rolldown/binding-wasm32-wasi@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)':
+ '@rolldown/binding-openharmony-arm64@1.1.3':
+ optional: true
+
+ '@rolldown/binding-wasm32-wasi@1.0.0-beta.45(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)':
dependencies:
- '@napi-rs/wasm-runtime': 1.1.5(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)
+ '@napi-rs/wasm-runtime': 1.1.5(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)
transitivePeerDependencies:
- '@emnapi/core'
- '@emnapi/runtime'
optional: true
- '@rolldown/binding-wasm32-wasi@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.11.1)':
+ '@rolldown/binding-wasm32-wasi@1.1.3':
dependencies:
- '@napi-rs/wasm-runtime': 1.1.5(@emnapi/core@1.10.0)(@emnapi/runtime@1.11.1)
- transitivePeerDependencies:
- - '@emnapi/core'
- - '@emnapi/runtime'
+ '@emnapi/core': 1.11.1
+ '@emnapi/runtime': 1.11.1
+ '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)
optional: true
'@rolldown/binding-win32-arm64-msvc@1.0.0-beta.45':
optional: true
+ '@rolldown/binding-win32-arm64-msvc@1.1.3':
+ optional: true
+
'@rolldown/binding-win32-ia32-msvc@1.0.0-beta.45':
optional: true
'@rolldown/binding-win32-x64-msvc@1.0.0-beta.45':
optional: true
- '@rolldown/pluginutils@1.0.0-beta.27': {}
+ '@rolldown/binding-win32-x64-msvc@1.1.3':
+ optional: true
'@rolldown/pluginutils@1.0.0-beta.45': {}
@@ -10368,6 +9417,93 @@ snapshots:
'@standard-schema/spec@1.1.0': {}
+ '@sveltejs/acorn-typescript@1.0.10(acorn@8.17.0)':
+ dependencies:
+ acorn: 8.17.0
+
+ '@sveltejs/adapter-auto@7.0.1(@sveltejs/kit@2.68.0(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.4(@typescript-eslint/types@8.61.1))(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)))(svelte@5.56.4(@typescript-eslint/types@8.61.1))(typescript@6.0.3)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)))':
+ dependencies:
+ '@sveltejs/kit': 2.68.0(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.4(@typescript-eslint/types@8.61.1))(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)))(svelte@5.56.4(@typescript-eslint/types@8.61.1))(typescript@6.0.3)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+
+ '@sveltejs/kit@2.68.0(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.56.4(@typescript-eslint/types@8.61.1))(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)))(svelte@5.56.4(@typescript-eslint/types@8.61.1))(typescript@5.9.3)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))':
+ dependencies:
+ '@standard-schema/spec': 1.1.0
+ '@sveltejs/acorn-typescript': 1.0.10(acorn@8.17.0)
+ '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.56.4(@typescript-eslint/types@8.61.1))(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ '@types/cookie': 0.6.0
+ acorn: 8.17.0
+ cookie: 0.6.0
+ devalue: 5.8.1
+ esm-env: 1.2.2
+ kleur: 4.1.5
+ magic-string: 0.30.21
+ mrmime: 2.0.1
+ set-cookie-parser: 3.1.1
+ sirv: 3.0.2
+ svelte: 5.56.4(@typescript-eslint/types@8.61.1)
+ vite: 8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
+ optionalDependencies:
+ typescript: 5.9.3
+
+ '@sveltejs/kit@2.68.0(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.4(@typescript-eslint/types@8.61.1))(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)))(svelte@5.56.4(@typescript-eslint/types@8.61.1))(typescript@6.0.3)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))':
+ dependencies:
+ '@standard-schema/spec': 1.1.0
+ '@sveltejs/acorn-typescript': 1.0.10(acorn@8.17.0)
+ '@sveltejs/vite-plugin-svelte': 7.1.2(svelte@5.56.4(@typescript-eslint/types@8.61.1))(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ '@types/cookie': 0.6.0
+ acorn: 8.17.0
+ cookie: 0.6.0
+ devalue: 5.8.1
+ esm-env: 1.2.2
+ kleur: 4.1.5
+ magic-string: 0.30.21
+ mrmime: 2.0.1
+ set-cookie-parser: 3.1.1
+ sirv: 3.0.2
+ svelte: 5.56.4(@typescript-eslint/types@8.61.1)
+ vite: 8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
+ optionalDependencies:
+ typescript: 6.0.3
+
+ '@sveltejs/load-config@0.2.0': {}
+
+ '@sveltejs/package@2.5.8(svelte@5.56.4(@typescript-eslint/types@8.61.1))(typescript@5.9.3)':
+ dependencies:
+ chokidar: 5.0.0
+ kleur: 4.1.5
+ sade: 1.8.1
+ semver: 7.8.5
+ svelte: 5.56.4(@typescript-eslint/types@8.61.1)
+ svelte2tsx: 0.7.57(svelte@5.56.4(@typescript-eslint/types@8.61.1))(typescript@5.9.3)
+ transitivePeerDependencies:
+ - typescript
+
+ '@sveltejs/vite-plugin-svelte-inspector@5.0.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.56.4(@typescript-eslint/types@8.61.1))(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)))(svelte@5.56.4(@typescript-eslint/types@8.61.1))(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))':
+ dependencies:
+ '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.56.4(@typescript-eslint/types@8.61.1))(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ obug: 2.1.3
+ svelte: 5.56.4(@typescript-eslint/types@8.61.1)
+ vite: 8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
+
+ '@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.56.4(@typescript-eslint/types@8.61.1))(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))':
+ dependencies:
+ '@sveltejs/vite-plugin-svelte-inspector': 5.0.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.56.4(@typescript-eslint/types@8.61.1))(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)))(svelte@5.56.4(@typescript-eslint/types@8.61.1))(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ deepmerge: 4.3.1
+ magic-string: 0.30.21
+ obug: 2.1.3
+ svelte: 5.56.4(@typescript-eslint/types@8.61.1)
+ vite: 8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
+ vitefu: 1.1.3(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+
+ '@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.4(@typescript-eslint/types@8.61.1))(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))':
+ dependencies:
+ deepmerge: 4.3.1
+ magic-string: 0.30.21
+ obug: 2.1.3
+ svelte: 5.56.4(@typescript-eslint/types@8.61.1)
+ vite: 8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
+ vitefu: 1.1.3(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+
'@swc/helpers@0.5.15':
dependencies:
tslib: 2.8.1
@@ -10482,28 +9618,12 @@ snapshots:
tslib: 2.8.1
optional: true
- '@types/aria-query@5.0.4': {}
-
- '@types/babel__core@7.20.5':
- dependencies:
- '@babel/parser': 7.29.7
- '@babel/types': 7.29.7
- '@types/babel__generator': 7.27.0
- '@types/babel__template': 7.4.4
- '@types/babel__traverse': 7.28.0
-
- '@types/babel__generator@7.27.0':
- dependencies:
- '@babel/types': 7.29.7
-
- '@types/babel__template@7.4.4':
+ '@tybys/wasm-util@0.10.3':
dependencies:
- '@babel/parser': 7.29.7
- '@babel/types': 7.29.7
+ tslib: 2.8.1
+ optional: true
- '@types/babel__traverse@7.28.0':
- dependencies:
- '@babel/types': 7.29.7
+ '@types/aria-query@5.0.4': {}
'@types/body-parser@1.19.6':
dependencies:
@@ -10523,6 +9643,8 @@ snapshots:
dependencies:
'@types/express': 5.0.6
+ '@types/cookie@0.6.0': {}
+
'@types/deep-eql@4.0.2': {}
'@types/esrecurse@4.3.1': {}
@@ -10581,8 +9703,7 @@ snapshots:
'@types/http-errors': 2.0.5
'@types/node': 24.7.2
- '@types/trusted-types@2.0.7':
- optional: true
+ '@types/trusted-types@2.0.7': {}
'@typescript-eslint/eslint-plugin@8.57.2(@typescript-eslint/parser@8.57.2(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)':
dependencies:
@@ -10790,7 +9911,7 @@ snapshots:
dependencies:
'@emnapi/core': 1.10.0
'@emnapi/runtime': 1.10.0
- '@napi-rs/wasm-runtime': 1.1.5(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)
+ '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)
optional: true
'@unrs/resolver-binding-win32-arm64-msvc@1.12.2':
@@ -10821,48 +9942,31 @@ snapshots:
- rollup
- supports-color
- '@vitejs/plugin-react@4.7.0(vite@6.4.3(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))':
- dependencies:
- '@babel/core': 7.29.7
- '@babel/plugin-transform-react-jsx-self': 7.29.7(@babel/core@7.29.7)
- '@babel/plugin-transform-react-jsx-source': 7.29.7(@babel/core@7.29.7)
- '@rolldown/pluginutils': 1.0.0-beta.27
- '@types/babel__core': 7.20.5
- react-refresh: 0.17.0
- vite: 6.4.3(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
- transitivePeerDependencies:
- - supports-color
-
- '@vitejs/plugin-vue-jsx@5.1.5(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vue@3.5.38(typescript@5.9.3))':
+ '@vitejs/plugin-vue-jsx@5.1.5(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.48.0)(yaml@2.9.0))(vue@3.5.38(typescript@5.9.3))':
dependencies:
'@babel/core': 7.29.7
'@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.7)
'@babel/plugin-transform-typescript': 7.29.7(@babel/core@7.29.7)
'@rolldown/pluginutils': 1.0.1
'@vue/babel-plugin-jsx': 2.0.1(@babel/core@7.29.7)
- vite: 7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
+ vite: 7.3.5(@types/node@24.7.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.48.0)(yaml@2.9.0)
vue: 3.5.38(typescript@5.9.3)
transitivePeerDependencies:
- supports-color
- '@vitejs/plugin-vue@5.2.4(vite@6.4.3(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vue@3.5.30(typescript@5.9.3))':
- dependencies:
- vite: 6.4.3(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
- vue: 3.5.30(typescript@5.9.3)
-
- '@vitejs/plugin-vue@6.0.7(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vue@3.5.38(typescript@5.9.3))':
+ '@vitejs/plugin-vue@6.0.7(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.48.0)(yaml@2.9.0))(vue@3.5.38(typescript@5.9.3))':
dependencies:
'@rolldown/pluginutils': 1.0.1
- vite: 7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
+ vite: 7.3.5(@types/node@24.7.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.48.0)(yaml@2.9.0)
vue: 3.5.38(typescript@5.9.3)
- '@vitest/browser-playwright@4.1.8(playwright@1.60.0)(vite@7.3.5(@types/node@22.15.3)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vitest@4.1.8)':
+ '@vitest/browser-playwright@4.1.8(playwright@1.60.0)(vite@8.1.0(@types/node@22.15.3)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vitest@4.1.8)':
dependencies:
- '@vitest/browser': 4.1.8(vite@7.3.5(@types/node@22.15.3)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vitest@4.1.8)
- '@vitest/mocker': 4.1.8(vite@7.3.5(@types/node@22.15.3)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ '@vitest/browser': 4.1.8(vite@8.1.0(@types/node@22.15.3)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vitest@4.1.8)
+ '@vitest/mocker': 4.1.8(vite@8.1.0(@types/node@22.15.3)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
playwright: 1.60.0
tinyrainbow: 3.1.0
- vitest: 4.1.8(@types/node@22.15.3)(@vitest/browser-playwright@4.1.8)(jsdom@27.0.1)(vite@7.3.5(@types/node@22.15.3)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ vitest: 4.1.8(@types/node@22.15.3)(@vitest/browser-playwright@4.1.8)(jsdom@27.0.1)(vite@8.1.0(@types/node@22.15.3)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
transitivePeerDependencies:
- bufferutil
- msw
@@ -10870,29 +9974,29 @@ snapshots:
- vite
optional: true
- '@vitest/browser-playwright@4.1.8(playwright@1.60.0)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vitest@4.1.8)':
+ '@vitest/browser-playwright@4.1.8(playwright@1.60.0)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vitest@4.1.8)':
dependencies:
- '@vitest/browser': 4.1.8(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vitest@4.1.8)
- '@vitest/mocker': 4.1.8(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ '@vitest/browser': 4.1.8(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vitest@4.1.8)
+ '@vitest/mocker': 4.1.8(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
playwright: 1.60.0
tinyrainbow: 3.1.0
- vitest: 4.1.8(@types/node@24.7.2)(@vitest/browser-playwright@4.1.8)(jsdom@27.0.1)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ vitest: 4.1.8(@types/node@24.7.2)(@vitest/browser-playwright@4.1.8)(jsdom@27.0.1)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
transitivePeerDependencies:
- bufferutil
- msw
- utf-8-validate
- vite
- '@vitest/browser@4.1.8(vite@7.3.5(@types/node@22.15.3)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vitest@4.1.8)':
+ '@vitest/browser@4.1.8(vite@8.1.0(@types/node@22.15.3)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vitest@4.1.8)':
dependencies:
'@blazediff/core': 1.9.1
- '@vitest/mocker': 4.1.8(vite@7.3.5(@types/node@22.15.3)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ '@vitest/mocker': 4.1.8(vite@8.1.0(@types/node@22.15.3)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
'@vitest/utils': 4.1.8
magic-string: 0.30.21
pngjs: 7.0.0
sirv: 3.0.2
tinyrainbow: 3.1.0
- vitest: 4.1.8(@types/node@22.15.3)(@vitest/browser-playwright@4.1.8)(jsdom@27.0.1)(vite@7.3.5(@types/node@22.15.3)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ vitest: 4.1.8(@types/node@22.15.3)(@vitest/browser-playwright@4.1.8)(jsdom@27.0.1)(vite@8.1.0(@types/node@22.15.3)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
ws: 8.21.0
transitivePeerDependencies:
- bufferutil
@@ -10901,16 +10005,16 @@ snapshots:
- vite
optional: true
- '@vitest/browser@4.1.8(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vitest@4.1.8)':
+ '@vitest/browser@4.1.8(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vitest@4.1.8)':
dependencies:
'@blazediff/core': 1.9.1
- '@vitest/mocker': 4.1.8(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ '@vitest/mocker': 4.1.8(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
'@vitest/utils': 4.1.8
magic-string: 0.30.21
pngjs: 7.0.0
sirv: 3.0.2
tinyrainbow: 3.1.0
- vitest: 4.1.8(@types/node@24.7.2)(@vitest/browser-playwright@4.1.8)(jsdom@27.0.1)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ vitest: 4.1.8(@types/node@24.7.2)(@vitest/browser-playwright@4.1.8)(jsdom@27.0.1)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
ws: 8.21.0
transitivePeerDependencies:
- bufferutil
@@ -10926,7 +10030,7 @@ snapshots:
optionalDependencies:
'@typescript-eslint/eslint-plugin': 8.57.2(@typescript-eslint/parser@8.57.2(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
typescript: 5.9.3
- vitest: 4.1.8(@types/node@24.7.2)(@vitest/browser-playwright@4.1.8)(jsdom@27.0.1)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ vitest: 4.1.8(@types/node@24.7.2)(@vitest/browser-playwright@4.1.8)(jsdom@27.0.1)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
transitivePeerDependencies:
- supports-color
@@ -10939,21 +10043,21 @@ snapshots:
chai: 6.2.2
tinyrainbow: 3.1.0
- '@vitest/mocker@4.1.8(vite@7.3.5(@types/node@22.15.3)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))':
+ '@vitest/mocker@4.1.8(vite@8.1.0(@types/node@22.15.3)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))':
dependencies:
'@vitest/spy': 4.1.8
estree-walker: 3.0.3
magic-string: 0.30.21
optionalDependencies:
- vite: 7.3.5(@types/node@22.15.3)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
+ vite: 8.1.0(@types/node@22.15.3)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
- '@vitest/mocker@4.1.8(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))':
+ '@vitest/mocker@4.1.8(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))':
dependencies:
'@vitest/spy': 4.1.8
estree-walker: 3.0.3
magic-string: 0.30.21
optionalDependencies:
- vite: 7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
+ vite: 8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
'@vitest/pretty-format@4.1.8':
dependencies:
@@ -11100,14 +10204,14 @@ snapshots:
dependencies:
'@vue/devtools-kit': 8.1.3
- '@vue/devtools-core@7.7.9(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vue@3.5.30(typescript@5.9.3))':
+ '@vue/devtools-core@7.7.9(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vue@3.5.30(typescript@5.9.3))':
dependencies:
'@vue/devtools-kit': 7.7.9
'@vue/devtools-shared': 7.7.9
mitt: 3.0.1
nanoid: 5.1.15
pathe: 2.0.3
- vite-hot-client: 2.2.0(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ vite-hot-client: 2.2.0(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
vue: 3.5.30(typescript@5.9.3)
transitivePeerDependencies:
- vite
@@ -11212,11 +10316,6 @@ snapshots:
dependencies:
event-target-shim: 5.0.1
- accepts@1.3.8:
- dependencies:
- mime-types: 2.1.35
- negotiator: 0.6.3
-
accepts@2.0.0:
dependencies:
mime-types: 3.0.2
@@ -11292,6 +10391,8 @@ snapshots:
dependencies:
dequal: 2.0.3
+ aria-query@5.3.1: {}
+
aria-query@5.3.2: {}
array-buffer-byte-length@1.0.2:
@@ -11299,8 +10400,6 @@ snapshots:
call-bound: 1.0.4
is-array-buffer: 3.0.5
- array-flatten@1.1.1: {}
-
array-includes@3.1.9:
dependencies:
call-bind: 1.0.9
@@ -11459,23 +10558,6 @@ snapshots:
birpc@4.0.0: {}
- body-parser@1.20.5:
- dependencies:
- bytes: 3.1.2
- content-type: 1.0.5
- debug: 2.6.9
- depd: 2.0.0
- destroy: 1.2.0
- http-errors: 2.0.1
- iconv-lite: 0.4.24
- on-finished: 2.4.1
- qs: 6.15.2
- raw-body: 2.5.3
- type-is: 1.6.18
- unpipe: 1.0.0
- transitivePeerDependencies:
- - supports-color
-
body-parser@2.3.0:
dependencies:
bytes: 3.1.2
@@ -11594,11 +10676,6 @@ snapshots:
lodash.memoize: 4.1.2
lodash.uniq: 4.5.0
- caniuse-api@4.0.0:
- dependencies:
- browserslist: 4.28.2
- caniuse-lite: 1.0.30001799
-
caniuse-lite@1.0.30001799: {}
chai@6.2.2: {}
@@ -11632,6 +10709,8 @@ snapshots:
strip-ansi: 7.2.0
wrap-ansi: 9.0.2
+ clsx@2.1.1: {}
+
cluster-key-slot@1.1.1: {}
color-convert@2.0.1:
@@ -11673,10 +10752,6 @@ snapshots:
consola@3.4.2: {}
- content-disposition@0.5.4:
- dependencies:
- safe-buffer: 5.2.1
-
content-disposition@1.1.0: {}
content-type@1.0.5: {}
@@ -11693,17 +10768,10 @@ snapshots:
cookie-es@3.1.1: {}
- cookie-parser@1.4.7:
- dependencies:
- cookie: 0.7.2
- cookie-signature: 1.0.6
-
- cookie-signature@1.0.6: {}
-
- cookie-signature@1.0.7: {}
-
cookie-signature@1.2.2: {}
+ cookie@0.6.0: {}
+
cookie@0.7.2: {}
cookie@1.1.1: {}
@@ -11813,59 +10881,16 @@ snapshots:
postcss-svgo: 7.1.3(postcss@8.5.15)
postcss-unique-selectors: 7.0.7(postcss@8.5.15)
- cssnano-preset-default@8.0.2(postcss@8.5.15):
- dependencies:
- browserslist: 4.28.2
- cssnano-utils: 6.0.1(postcss@8.5.15)
- postcss: 8.5.15
- postcss-calc: 10.1.1(postcss@8.5.15)
- postcss-colormin: 8.0.1(postcss@8.5.15)
- postcss-convert-values: 8.0.1(postcss@8.5.15)
- postcss-discard-comments: 8.0.1(postcss@8.5.15)
- postcss-discard-duplicates: 8.0.1(postcss@8.5.15)
- postcss-discard-empty: 8.0.1(postcss@8.5.15)
- postcss-discard-overridden: 8.0.1(postcss@8.5.15)
- postcss-merge-longhand: 8.0.1(postcss@8.5.15)
- postcss-merge-rules: 8.0.1(postcss@8.5.15)
- postcss-minify-font-values: 8.0.1(postcss@8.5.15)
- postcss-minify-gradients: 8.0.1(postcss@8.5.15)
- postcss-minify-params: 8.0.1(postcss@8.5.15)
- postcss-minify-selectors: 8.0.2(postcss@8.5.15)
- postcss-normalize-charset: 8.0.1(postcss@8.5.15)
- postcss-normalize-display-values: 8.0.1(postcss@8.5.15)
- postcss-normalize-positions: 8.0.1(postcss@8.5.15)
- postcss-normalize-repeat-style: 8.0.1(postcss@8.5.15)
- postcss-normalize-string: 8.0.1(postcss@8.5.15)
- postcss-normalize-timing-functions: 8.0.1(postcss@8.5.15)
- postcss-normalize-unicode: 8.0.1(postcss@8.5.15)
- postcss-normalize-url: 8.0.1(postcss@8.5.15)
- postcss-normalize-whitespace: 8.0.1(postcss@8.5.15)
- postcss-ordered-values: 8.0.1(postcss@8.5.15)
- postcss-reduce-initial: 8.0.1(postcss@8.5.15)
- postcss-reduce-transforms: 8.0.1(postcss@8.5.15)
- postcss-svgo: 8.0.1(postcss@8.5.15)
- postcss-unique-selectors: 8.0.1(postcss@8.5.15)
-
cssnano-utils@5.0.3(postcss@8.5.15):
dependencies:
postcss: 8.5.15
- cssnano-utils@6.0.1(postcss@8.5.15):
- dependencies:
- postcss: 8.5.15
-
cssnano@7.1.9(postcss@8.5.15):
dependencies:
cssnano-preset-default: 7.0.17(postcss@8.5.15)
lilconfig: 3.1.3
postcss: 8.5.15
- cssnano@8.0.2(postcss@8.5.15):
- dependencies:
- cssnano-preset-default: 8.0.2(postcss@8.5.15)
- lilconfig: 3.1.3
- postcss: 8.5.15
-
csso@5.0.5:
dependencies:
css-tree: 2.2.1
@@ -11906,16 +10931,14 @@ snapshots:
db0@0.3.4: {}
- debug@2.6.9:
- dependencies:
- ms: 2.0.0
-
debug@4.4.3:
dependencies:
ms: 2.1.3
decimal.js@10.6.0: {}
+ dedent-js@1.0.1: {}
+
deep-is@0.1.4: {}
deepmerge@4.3.1: {}
@@ -11953,8 +10976,6 @@ snapshots:
destr@2.0.5: {}
- destroy@1.2.0: {}
-
detect-libc@2.1.2: {}
devalue@5.8.1: {}
@@ -12433,6 +11454,8 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ esm-env@1.2.2: {}
+
espree@10.4.0:
dependencies:
acorn: 8.17.0
@@ -12449,6 +11472,12 @@ snapshots:
dependencies:
estraverse: 5.3.0
+ esrap@2.2.13(@typescript-eslint/types@8.61.1):
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.5.5
+ optionalDependencies:
+ '@typescript-eslint/types': 8.61.1
+
esrecurse@4.3.0:
dependencies:
estraverse: 5.3.0
@@ -12489,42 +11518,6 @@ snapshots:
expect-type@1.3.0: {}
- express@4.22.2:
- dependencies:
- accepts: 1.3.8
- array-flatten: 1.1.1
- body-parser: 1.20.5
- content-disposition: 0.5.4
- content-type: 1.0.5
- cookie: 0.7.2
- cookie-signature: 1.0.7
- debug: 2.6.9
- depd: 2.0.0
- encodeurl: 2.0.0
- escape-html: 1.0.3
- etag: 1.8.1
- finalhandler: 1.3.2
- fresh: 0.5.2
- http-errors: 2.0.1
- merge-descriptors: 1.0.3
- methods: 1.1.2
- on-finished: 2.4.1
- parseurl: 1.3.3
- path-to-regexp: 0.1.13
- proxy-addr: 2.0.7
- qs: 6.15.2
- range-parser: 1.2.1
- safe-buffer: 5.2.1
- send: 0.19.2
- serve-static: 1.16.3
- setprototypeof: 1.2.0
- statuses: 2.0.2
- type-is: 1.6.18
- utils-merge: 1.0.1
- vary: 1.1.2
- transitivePeerDependencies:
- - supports-color
-
express@5.2.1:
dependencies:
accepts: 2.0.0
@@ -12619,18 +11612,6 @@ snapshots:
dependencies:
to-regex-range: 5.0.1
- finalhandler@1.3.2:
- dependencies:
- debug: 2.6.9
- encodeurl: 2.0.0
- escape-html: 1.0.3
- on-finished: 2.4.1
- parseurl: 1.3.3
- statuses: 2.0.2
- unpipe: 1.0.0
- transitivePeerDependencies:
- - supports-color
-
finalhandler@2.1.1:
dependencies:
debug: 4.4.3
@@ -12675,8 +11656,6 @@ snapshots:
fraction.js@5.3.4: {}
- fresh@0.5.2: {}
-
fresh@2.0.0: {}
fsevents@2.3.2:
@@ -12891,10 +11870,6 @@ snapshots:
human-signals@5.0.0: {}
- iconv-lite@0.4.24:
- dependencies:
- safer-buffer: 2.1.2
-
iconv-lite@0.6.3:
dependencies:
safer-buffer: 2.1.2
@@ -13060,6 +12035,10 @@ snapshots:
dependencies:
'@types/estree': 1.0.9
+ is-reference@3.0.3:
+ dependencies:
+ '@types/estree': 1.0.9
+
is-regex@1.2.1:
dependencies:
call-bound: 1.0.4
@@ -13238,6 +12217,55 @@ snapshots:
prelude-ls: 1.2.1
type-check: 0.4.0
+ lightningcss-android-arm64@1.32.0:
+ optional: true
+
+ lightningcss-darwin-arm64@1.32.0:
+ optional: true
+
+ lightningcss-darwin-x64@1.32.0:
+ optional: true
+
+ lightningcss-freebsd-x64@1.32.0:
+ optional: true
+
+ lightningcss-linux-arm-gnueabihf@1.32.0:
+ optional: true
+
+ lightningcss-linux-arm64-gnu@1.32.0:
+ optional: true
+
+ lightningcss-linux-arm64-musl@1.32.0:
+ optional: true
+
+ lightningcss-linux-x64-gnu@1.32.0:
+ optional: true
+
+ lightningcss-linux-x64-musl@1.32.0:
+ optional: true
+
+ lightningcss-win32-arm64-msvc@1.32.0:
+ optional: true
+
+ lightningcss-win32-x64-msvc@1.32.0:
+ optional: true
+
+ lightningcss@1.32.0:
+ dependencies:
+ detect-libc: 2.1.2
+ optionalDependencies:
+ lightningcss-android-arm64: 1.32.0
+ lightningcss-darwin-arm64: 1.32.0
+ lightningcss-darwin-x64: 1.32.0
+ lightningcss-freebsd-x64: 1.32.0
+ lightningcss-linux-arm-gnueabihf: 1.32.0
+ lightningcss-linux-arm64-gnu: 1.32.0
+ lightningcss-linux-arm64-musl: 1.32.0
+ lightningcss-linux-x64-gnu: 1.32.0
+ lightningcss-linux-x64-musl: 1.32.0
+ lightningcss-win32-arm64-msvc: 1.32.0
+ lightningcss-win32-x64-msvc: 1.32.0
+
lilconfig@3.1.3: {}
lines-and-columns@1.2.4: {}
@@ -13271,6 +12299,8 @@ snapshots:
pkg-types: 2.3.1
quansync: 0.2.11
+ locate-character@3.0.0: {}
+
locate-path@6.0.0:
dependencies:
p-locate: 5.0.0
@@ -13340,41 +12370,27 @@ snapshots:
mdn-data@2.27.1: {}
- media-typer@0.3.0: {}
-
media-typer@1.1.0: {}
memory-cache@0.2.0: {}
- merge-descriptors@1.0.3: {}
-
merge-descriptors@2.0.0: {}
merge-stream@2.0.0: {}
merge2@1.4.1: {}
- methods@1.1.2: {}
-
micromatch@4.0.8:
dependencies:
braces: 3.0.3
picomatch: 2.3.2
- mime-db@1.52.0: {}
-
mime-db@1.54.0: {}
- mime-types@2.1.35:
- dependencies:
- mime-db: 1.52.0
-
mime-types@3.0.2:
dependencies:
mime-db: 1.54.0
- mime@1.6.0: {}
-
mime@4.1.0: {}
mimic-fn@4.0.0: {}
@@ -13436,9 +12452,9 @@ snapshots:
mocked-exports@0.1.1: {}
- mrmime@2.0.1: {}
+ mri@1.2.0: {}
- ms@2.0.0: {}
+ mrmime@2.0.1: {}
ms@2.1.3: {}
@@ -13454,11 +12470,9 @@ snapshots:
natural-compare@1.4.0: {}
- negotiator@0.6.3: {}
-
negotiator@1.0.0: {}
- next@15.5.18(@playwright/test@1.60.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3):
+ next@15.5.18(@babel/core@7.29.7)(@playwright/test@1.60.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3):
dependencies:
'@next/env': 15.5.18
'@swc/helpers': 0.5.15
@@ -13466,7 +12480,7 @@ snapshots:
postcss: 8.4.31
react: 19.2.3
react-dom: 19.2.3(react@19.2.3)
- styled-jsx: 5.1.6(react@19.2.3)
+ styled-jsx: 5.1.6(@babel/core@7.29.7)(react@19.2.3)
optionalDependencies:
'@next/swc-darwin-arm64': 15.5.18
'@next/swc-darwin-x64': 15.5.18
@@ -13482,112 +12496,7 @@ snapshots:
- '@babel/core'
- babel-plugin-macros
- nitropack@2.13.4(oxc-parser@0.132.0)(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(srvx@0.11.17):
- dependencies:
- '@cloudflare/kv-asset-handler': 0.4.2
- '@rollup/plugin-alias': 6.0.0(rollup@4.62.2)
- '@rollup/plugin-commonjs': 29.0.3(rollup@4.62.2)
- '@rollup/plugin-inject': 5.0.5(rollup@4.62.2)
- '@rollup/plugin-json': 6.1.0(rollup@4.62.2)
- '@rollup/plugin-node-resolve': 16.0.3(rollup@4.62.2)
- '@rollup/plugin-replace': 6.0.3(rollup@4.62.2)
- '@rollup/plugin-terser': 1.0.0(rollup@4.62.2)
- '@vercel/nft': 1.10.2(rollup@4.62.2)
- archiver: 7.0.1
- c12: 3.3.4(magicast@0.5.3)
- chokidar: 5.0.0
- citty: 0.2.2
- compatx: 0.2.0
- confbox: 0.2.4
- consola: 3.4.2
- cookie-es: 2.0.1
- croner: 10.0.1
- crossws: 0.3.5
- db0: 0.3.4
- defu: 6.1.7
- destr: 2.0.5
- dot-prop: 10.1.0
- esbuild: 0.28.1
- escape-string-regexp: 5.0.0
- etag: 1.8.1
- exsolve: 1.0.8
- globby: 16.2.0
- gzip-size: 7.0.0
- h3: 1.15.11
- hookable: 5.5.3
- httpxy: 0.5.3
- ioredis: 5.11.1
- jiti: 2.7.0
- klona: 2.0.6
- knitwork: 1.3.0
- listhen: 1.10.0(srvx@0.11.17)
- magic-string: 0.30.21
- magicast: 0.5.3
- mime: 4.1.0
- mlly: 1.8.2
- node-fetch-native: 1.6.7
- node-mock-http: 1.0.4
- ofetch: 1.5.1
- ohash: 2.0.11
- pathe: 2.0.3
- perfect-debounce: 2.1.0
- pkg-types: 2.3.1
- pretty-bytes: 7.1.0
- radix3: 1.1.2
- rollup: 4.62.2
- rollup-plugin-visualizer: 7.0.1(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup@4.62.2)
- scule: 1.3.0
- semver: 7.8.5
- serve-placeholder: 2.0.2
- serve-static: 2.2.1
- source-map: 0.7.6
- std-env: 4.1.0
- ufo: 1.6.4
- ultrahtml: 1.6.0
- uncrypto: 0.1.3
- unctx: 2.5.0
- unenv: 2.0.0-rc.24
- unimport: 6.3.0(oxc-parser@0.132.0)(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))
- unplugin-utils: 0.3.1
- unstorage: 1.17.5(db0@0.3.4)(ioredis@5.11.1)
- untyped: 2.0.0
- unwasm: 0.5.3
- youch: 4.1.1
- youch-core: 0.3.3
- transitivePeerDependencies:
- - '@azure/app-configuration'
- - '@azure/cosmos'
- - '@azure/data-tables'
- - '@azure/identity'
- - '@azure/keyvault-secrets'
- - '@azure/storage-blob'
- - '@capacitor/preferences'
- - '@deno/kv'
- - '@electric-sql/pglite'
- - '@libsql/client'
- - '@netlify/blobs'
- - '@planetscale/database'
- - '@upstash/redis'
- - '@vercel/blob'
- - '@vercel/functions'
- - '@vercel/kv'
- - aws4fetch
- - bare-abort-controller
- - bare-buffer
- - better-sqlite3
- - drizzle-orm
- - encoding
- - idb-keyval
- - mysql2
- - oxc-parser
- - react-native-b4a
- - rolldown
- - sqlite3
- - srvx
- - supports-color
- - uploadthing
-
- nitropack@2.13.4(oxc-parser@0.133.0)(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)):
+ nitropack@2.13.4(oxc-parser@0.132.0)(rolldown@1.1.3)(srvx@0.11.17):
dependencies:
'@cloudflare/kv-asset-handler': 0.4.2
'@rollup/plugin-alias': 6.0.0(rollup@4.62.2)
@@ -13640,7 +12549,7 @@ snapshots:
pretty-bytes: 7.1.0
radix3: 1.1.2
rollup: 4.62.2
- rollup-plugin-visualizer: 7.0.1(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup@4.62.2)
+ rollup-plugin-visualizer: 7.0.1(rolldown@1.1.3)(rollup@4.62.2)
scule: 1.3.0
semver: 7.8.5
serve-placeholder: 2.0.2
@@ -13652,7 +12561,7 @@ snapshots:
uncrypto: 0.1.3
unctx: 2.5.0
unenv: 2.0.0-rc.24
- unimport: 6.3.0(oxc-parser@0.133.0)(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))
+ unimport: 6.3.0(oxc-parser@0.132.0)(rolldown@1.1.3)
unplugin-utils: 0.3.1
unstorage: 1.17.5(db0@0.3.4)(ioredis@5.11.1)
untyped: 2.0.0
@@ -13738,16 +12647,16 @@ snapshots:
dependencies:
boolbase: 1.0.0
- nuxt@3.21.7(@parcel/watcher@2.5.6)(@types/node@24.7.2)(@vue/compiler-sfc@3.5.38)(cac@6.7.14)(db0@0.3.4)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.11.1)(magicast@0.5.3)(optionator@0.9.4)(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup-plugin-visualizer@7.0.1(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup@4.62.2))(rollup@4.62.2)(srvx@0.11.17)(terser@5.48.0)(typescript@5.9.3)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(yaml@2.9.0):
+ nuxt@3.21.7(@parcel/watcher@2.5.6)(@types/node@24.7.2)(@vue/compiler-sfc@3.5.38)(cac@6.7.14)(db0@0.3.4)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.11.1)(lightningcss@1.32.0)(magicast@0.5.3)(optionator@0.9.4)(rolldown@1.1.3)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.3)(rollup@4.62.2))(rollup@4.62.2)(srvx@0.11.17)(terser@5.48.0)(typescript@5.9.3)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(yaml@2.9.0):
dependencies:
'@dxup/nuxt': 0.4.1(magicast@0.5.3)(typescript@5.9.3)
'@nuxt/cli': 3.36.0(@nuxt/schema@3.21.7)(cac@6.7.14)(magicast@0.5.3)
- '@nuxt/devtools': 3.2.4(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vue@3.5.38(typescript@5.9.3))
+ '@nuxt/devtools': 3.2.4(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vue@3.5.38(typescript@5.9.3))
'@nuxt/kit': 3.21.7(magicast@0.5.3)
- '@nuxt/nitro-server': 3.21.7(db0@0.3.4)(ioredis@5.11.1)(magicast@0.5.3)(nuxt@3.21.7(@parcel/watcher@2.5.6)(@types/node@24.7.2)(@vue/compiler-sfc@3.5.38)(cac@6.7.14)(db0@0.3.4)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.11.1)(magicast@0.5.3)(optionator@0.9.4)(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup-plugin-visualizer@7.0.1(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup@4.62.2))(rollup@4.62.2)(srvx@0.11.17)(terser@5.48.0)(typescript@5.9.3)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(yaml@2.9.0))(oxc-parser@0.132.0)(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(srvx@0.11.17)(typescript@5.9.3)
+ '@nuxt/nitro-server': 3.21.7(db0@0.3.4)(ioredis@5.11.1)(magicast@0.5.3)(nuxt@3.21.7(@parcel/watcher@2.5.6)(@types/node@24.7.2)(@vue/compiler-sfc@3.5.38)(cac@6.7.14)(db0@0.3.4)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.11.1)(lightningcss@1.32.0)(magicast@0.5.3)(optionator@0.9.4)(rolldown@1.1.3)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.3)(rollup@4.62.2))(rollup@4.62.2)(srvx@0.11.17)(terser@5.48.0)(typescript@5.9.3)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(yaml@2.9.0))(oxc-parser@0.132.0)(rolldown@1.1.3)(srvx@0.11.17)(typescript@5.9.3)
'@nuxt/schema': 3.21.7
'@nuxt/telemetry': 2.8.0(@nuxt/kit@3.21.7(magicast@0.5.3))
- '@nuxt/vite-builder': 3.21.7(@types/node@24.7.2)(eslint@9.39.4(jiti@2.7.0))(magicast@0.5.3)(nuxt@3.21.7(@parcel/watcher@2.5.6)(@types/node@24.7.2)(@vue/compiler-sfc@3.5.38)(cac@6.7.14)(db0@0.3.4)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.11.1)(magicast@0.5.3)(optionator@0.9.4)(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup-plugin-visualizer@7.0.1(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup@4.62.2))(rollup@4.62.2)(srvx@0.11.17)(terser@5.48.0)(typescript@5.9.3)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(yaml@2.9.0))(optionator@0.9.4)(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup-plugin-visualizer@7.0.1(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup@4.62.2))(rollup@4.62.2)(terser@5.48.0)(typescript@5.9.3)(vue@3.5.38(typescript@5.9.3))(yaml@2.9.0)
+ '@nuxt/vite-builder': 3.21.7(@types/node@24.7.2)(eslint@9.39.4(jiti@2.7.0))(lightningcss@1.32.0)(magicast@0.5.3)(nuxt@3.21.7(@parcel/watcher@2.5.6)(@types/node@24.7.2)(@vue/compiler-sfc@3.5.38)(cac@6.7.14)(db0@0.3.4)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.11.1)(lightningcss@1.32.0)(magicast@0.5.3)(optionator@0.9.4)(rolldown@1.1.3)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.3)(rollup@4.62.2))(rollup@4.62.2)(srvx@0.11.17)(terser@5.48.0)(typescript@5.9.3)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(yaml@2.9.0))(optionator@0.9.4)(rolldown@1.1.3)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.3)(rollup@4.62.2))(rollup@4.62.2)(terser@5.48.0)(typescript@5.9.3)(vue@3.5.38(typescript@5.9.3))(yaml@2.9.0)
'@unhead/vue': 2.1.15(vue@3.5.38(typescript@5.9.3))
'@vue/shared': 3.5.38
c12: 3.3.4(magicast@0.5.3)
@@ -13778,7 +12687,7 @@ snapshots:
oxc-minify: 0.132.0
oxc-parser: 0.132.0
oxc-transform: 0.132.0
- oxc-walker: 1.0.0(oxc-parser@0.132.0)(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))
+ oxc-walker: 1.0.0(oxc-parser@0.132.0)(rolldown@1.1.3)
pathe: 2.0.3
perfect-debounce: 2.1.0
pkg-types: 2.3.1
@@ -13791,7 +12700,7 @@ snapshots:
ultrahtml: 1.6.0
uncrypto: 0.1.3
unctx: 2.5.0
- unimport: 6.3.0(oxc-parser@0.132.0)(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))
+ unimport: 6.3.0(oxc-parser@0.132.0)(rolldown@1.1.3)
unplugin: 3.0.0
unplugin-vue-router: 0.19.2(@vue/compiler-sfc@3.5.38)(vue-router@4.6.4(vue@3.5.38(typescript@5.9.3)))(vue@3.5.38(typescript@5.9.3))
untyped: 2.0.0
@@ -13864,135 +12773,6 @@ snapshots:
- xml2js
- yaml
- nuxt@4.4.8(@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7))(@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7))(@parcel/watcher@2.5.6)(@types/node@24.7.2)(@vue/compiler-sfc@3.5.38)(cac@6.7.14)(db0@0.3.4)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.11.1)(magicast@0.5.3)(optionator@0.9.4)(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup-plugin-visualizer@7.0.1(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup@4.62.2))(rollup@4.62.2)(terser@5.48.0)(typescript@5.9.3)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(yaml@2.9.0):
- dependencies:
- '@dxup/nuxt': 0.4.1(magicast@0.5.3)(typescript@5.9.3)
- '@nuxt/cli': 3.36.0(@nuxt/schema@4.4.8)(cac@6.7.14)(magicast@0.5.3)
- '@nuxt/devtools': 3.2.4(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vue@3.5.38(typescript@5.9.3))
- '@nuxt/kit': 4.4.8(magicast@0.5.3)
- '@nuxt/nitro-server': 4.4.8(@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7))(db0@0.3.4)(ioredis@5.11.1)(magicast@0.5.3)(nuxt@4.4.8(@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7))(@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7))(@parcel/watcher@2.5.6)(@types/node@24.7.2)(@vue/compiler-sfc@3.5.38)(cac@6.7.14)(db0@0.3.4)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.11.1)(magicast@0.5.3)(optionator@0.9.4)(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup-plugin-visualizer@7.0.1(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup@4.62.2))(rollup@4.62.2)(terser@5.48.0)(typescript@5.9.3)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(yaml@2.9.0))(oxc-parser@0.133.0)(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(typescript@5.9.3)
- '@nuxt/schema': 4.4.8
- '@nuxt/telemetry': 2.8.0(@nuxt/kit@4.4.8(magicast@0.5.3))
- '@nuxt/vite-builder': 4.4.8(5e770e72ca055b8ebf51d504a3c88ac6)
- '@unhead/vue': 2.1.15(vue@3.5.38(typescript@5.9.3))
- '@vue/shared': 3.5.38
- chokidar: 5.0.0
- compatx: 0.2.0
- consola: 3.4.2
- cookie-es: 3.1.1
- defu: 6.1.7
- devalue: 5.8.1
- errx: 0.1.0
- escape-string-regexp: 5.0.0
- exsolve: 1.0.8
- hookable: 6.1.1
- ignore: 7.0.5
- impound: 1.1.5
- jiti: 2.7.0
- klona: 2.0.6
- knitwork: 1.3.0
- magic-string: 0.30.21
- mlly: 1.8.2
- nanotar: 0.3.0
- nypm: 0.6.7
- ofetch: 1.5.1
- ohash: 2.0.11
- on-change: 6.0.2
- oxc-minify: 0.133.0
- oxc-parser: 0.133.0
- oxc-transform: 0.133.0
- oxc-walker: 1.0.0(oxc-parser@0.133.0)(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))
- pathe: 2.0.3
- perfect-debounce: 2.1.0
- picomatch: 4.0.4
- pkg-types: 2.3.1
- rou3: 0.8.1
- scule: 1.3.0
- semver: 7.8.5
- std-env: 4.1.0
- tinyglobby: 0.2.17
- ufo: 1.6.4
- ultrahtml: 1.6.0
- uncrypto: 0.1.3
- unctx: 2.5.0
- unhead: 2.1.15
- unimport: 6.3.0(oxc-parser@0.133.0)(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))
- unplugin: 3.0.0
- unrouting: 0.1.7
- untyped: 2.0.0
- vue: 3.5.38(typescript@5.9.3)
- vue-router: 5.1.0(@vue/compiler-sfc@3.5.38)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vue@3.5.38(typescript@5.9.3))
- optionalDependencies:
- '@parcel/watcher': 2.5.6
- '@types/node': 24.7.2
- transitivePeerDependencies:
- - '@azure/app-configuration'
- - '@azure/cosmos'
- - '@azure/data-tables'
- - '@azure/identity'
- - '@azure/keyvault-secrets'
- - '@azure/storage-blob'
- - '@babel/plugin-proposal-decorators'
- - '@babel/plugin-syntax-jsx'
- - '@babel/plugin-syntax-typescript'
- - '@biomejs/biome'
- - '@capacitor/preferences'
- - '@deno/kv'
- - '@electric-sql/pglite'
- - '@libsql/client'
- - '@netlify/blobs'
- - '@pinia/colada'
- - '@planetscale/database'
- - '@rollup/plugin-babel'
- - '@upstash/redis'
- - '@vercel/blob'
- - '@vercel/functions'
- - '@vercel/kv'
- - '@vitejs/devtools'
- - '@vue/compiler-sfc'
- - aws4fetch
- - bare-abort-controller
- - bare-buffer
- - better-sqlite3
- - bufferutil
- - cac
- - commander
- - db0
- - drizzle-orm
- - encoding
- - eslint
- - idb-keyval
- - ioredis
- - less
- - lightningcss
- - magicast
- - meow
- - mysql2
- - optionator
- - oxlint
- - pinia
- - react-native-b4a
- - rolldown
- - rollup
- - rollup-plugin-visualizer
- - sass
- - sass-embedded
- - sqlite3
- - srvx
- - stylelint
- - stylus
- - sugarss
- - supports-color
- - terser
- - tsx
- - typescript
- - uploadthing
- - utf-8-validate
- - vite
- - vue-tsc
- - xml2js
- - yaml
-
nypm@0.6.7:
dependencies:
citty: 0.2.2
@@ -14108,29 +12888,6 @@ snapshots:
'@oxc-minify/binding-win32-ia32-msvc': 0.132.0
'@oxc-minify/binding-win32-x64-msvc': 0.132.0
- oxc-minify@0.133.0:
- optionalDependencies:
- '@oxc-minify/binding-android-arm-eabi': 0.133.0
- '@oxc-minify/binding-android-arm64': 0.133.0
- '@oxc-minify/binding-darwin-arm64': 0.133.0
- '@oxc-minify/binding-darwin-x64': 0.133.0
- '@oxc-minify/binding-freebsd-x64': 0.133.0
- '@oxc-minify/binding-linux-arm-gnueabihf': 0.133.0
- '@oxc-minify/binding-linux-arm-musleabihf': 0.133.0
- '@oxc-minify/binding-linux-arm64-gnu': 0.133.0
- '@oxc-minify/binding-linux-arm64-musl': 0.133.0
- '@oxc-minify/binding-linux-ppc64-gnu': 0.133.0
- '@oxc-minify/binding-linux-riscv64-gnu': 0.133.0
- '@oxc-minify/binding-linux-riscv64-musl': 0.133.0
- '@oxc-minify/binding-linux-s390x-gnu': 0.133.0
- '@oxc-minify/binding-linux-x64-gnu': 0.133.0
- '@oxc-minify/binding-linux-x64-musl': 0.133.0
- '@oxc-minify/binding-openharmony-arm64': 0.133.0
- '@oxc-minify/binding-wasm32-wasi': 0.133.0
- '@oxc-minify/binding-win32-arm64-msvc': 0.133.0
- '@oxc-minify/binding-win32-ia32-msvc': 0.133.0
- '@oxc-minify/binding-win32-x64-msvc': 0.133.0
-
oxc-parser@0.132.0:
dependencies:
'@oxc-project/types': 0.132.0
@@ -14156,31 +12913,6 @@ snapshots:
'@oxc-parser/binding-win32-ia32-msvc': 0.132.0
'@oxc-parser/binding-win32-x64-msvc': 0.132.0
- oxc-parser@0.133.0:
- dependencies:
- '@oxc-project/types': 0.133.0
- optionalDependencies:
- '@oxc-parser/binding-android-arm-eabi': 0.133.0
- '@oxc-parser/binding-android-arm64': 0.133.0
- '@oxc-parser/binding-darwin-arm64': 0.133.0
- '@oxc-parser/binding-darwin-x64': 0.133.0
- '@oxc-parser/binding-freebsd-x64': 0.133.0
- '@oxc-parser/binding-linux-arm-gnueabihf': 0.133.0
- '@oxc-parser/binding-linux-arm-musleabihf': 0.133.0
- '@oxc-parser/binding-linux-arm64-gnu': 0.133.0
- '@oxc-parser/binding-linux-arm64-musl': 0.133.0
- '@oxc-parser/binding-linux-ppc64-gnu': 0.133.0
- '@oxc-parser/binding-linux-riscv64-gnu': 0.133.0
- '@oxc-parser/binding-linux-riscv64-musl': 0.133.0
- '@oxc-parser/binding-linux-s390x-gnu': 0.133.0
- '@oxc-parser/binding-linux-x64-gnu': 0.133.0
- '@oxc-parser/binding-linux-x64-musl': 0.133.0
- '@oxc-parser/binding-openharmony-arm64': 0.133.0
- '@oxc-parser/binding-wasm32-wasi': 0.133.0
- '@oxc-parser/binding-win32-arm64-msvc': 0.133.0
- '@oxc-parser/binding-win32-ia32-msvc': 0.133.0
- '@oxc-parser/binding-win32-x64-msvc': 0.133.0
-
oxc-transform@0.132.0:
optionalDependencies:
'@oxc-transform/binding-android-arm-eabi': 0.132.0
@@ -14204,42 +12936,12 @@ snapshots:
'@oxc-transform/binding-win32-ia32-msvc': 0.132.0
'@oxc-transform/binding-win32-x64-msvc': 0.132.0
- oxc-transform@0.133.0:
- optionalDependencies:
- '@oxc-transform/binding-android-arm-eabi': 0.133.0
- '@oxc-transform/binding-android-arm64': 0.133.0
- '@oxc-transform/binding-darwin-arm64': 0.133.0
- '@oxc-transform/binding-darwin-x64': 0.133.0
- '@oxc-transform/binding-freebsd-x64': 0.133.0
- '@oxc-transform/binding-linux-arm-gnueabihf': 0.133.0
- '@oxc-transform/binding-linux-arm-musleabihf': 0.133.0
- '@oxc-transform/binding-linux-arm64-gnu': 0.133.0
- '@oxc-transform/binding-linux-arm64-musl': 0.133.0
- '@oxc-transform/binding-linux-ppc64-gnu': 0.133.0
- '@oxc-transform/binding-linux-riscv64-gnu': 0.133.0
- '@oxc-transform/binding-linux-riscv64-musl': 0.133.0
- '@oxc-transform/binding-linux-s390x-gnu': 0.133.0
- '@oxc-transform/binding-linux-x64-gnu': 0.133.0
- '@oxc-transform/binding-linux-x64-musl': 0.133.0
- '@oxc-transform/binding-openharmony-arm64': 0.133.0
- '@oxc-transform/binding-wasm32-wasi': 0.133.0
- '@oxc-transform/binding-win32-arm64-msvc': 0.133.0
- '@oxc-transform/binding-win32-ia32-msvc': 0.133.0
- '@oxc-transform/binding-win32-x64-msvc': 0.133.0
-
- oxc-walker@1.0.0(oxc-parser@0.132.0)(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)):
+ oxc-walker@1.0.0(oxc-parser@0.132.0)(rolldown@1.1.3):
dependencies:
magic-regexp: 0.11.0
optionalDependencies:
oxc-parser: 0.132.0
- rolldown: 1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)
-
- oxc-walker@1.0.0(oxc-parser@0.133.0)(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)):
- dependencies:
- magic-regexp: 0.11.0
- optionalDependencies:
- oxc-parser: 0.133.0
- rolldown: 1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)
+ rolldown: 1.1.3
p-limit@3.1.0:
dependencies:
@@ -14288,8 +12990,6 @@ snapshots:
lru-cache: 11.5.1
minipass: 7.1.3
- path-to-regexp@0.1.13: {}
-
path-to-regexp@8.4.2: {}
path-type@4.0.0: {}
@@ -14346,57 +13046,26 @@ snapshots:
postcss: 8.5.15
postcss-value-parser: 4.2.0
- postcss-colormin@8.0.1(postcss@8.5.15):
- dependencies:
- '@colordx/core': 5.4.3
- browserslist: 4.28.2
- caniuse-api: 4.0.0
- postcss: 8.5.15
- postcss-value-parser: 4.2.0
-
postcss-convert-values@7.0.12(postcss@8.5.15):
dependencies:
browserslist: 4.28.2
postcss: 8.5.15
postcss-value-parser: 4.2.0
- postcss-convert-values@8.0.1(postcss@8.5.15):
- dependencies:
- browserslist: 4.28.2
- postcss: 8.5.15
- postcss-value-parser: 4.2.0
-
postcss-discard-comments@7.0.8(postcss@8.5.15):
dependencies:
postcss: 8.5.15
postcss-selector-parser: 7.1.4
- postcss-discard-comments@8.0.1(postcss@8.5.15):
- dependencies:
- postcss: 8.5.15
- postcss-selector-parser: 7.1.4
-
postcss-discard-duplicates@7.0.4(postcss@8.5.15):
dependencies:
postcss: 8.5.15
- postcss-discard-duplicates@8.0.1(postcss@8.5.15):
- dependencies:
- postcss: 8.5.15
-
- postcss-discard-empty@7.0.3(postcss@8.5.15):
- dependencies:
- postcss: 8.5.15
-
- postcss-discard-empty@8.0.1(postcss@8.5.15):
- dependencies:
- postcss: 8.5.15
-
- postcss-discard-overridden@7.0.3(postcss@8.5.15):
+ postcss-discard-empty@7.0.3(postcss@8.5.15):
dependencies:
postcss: 8.5.15
- postcss-discard-overridden@8.0.1(postcss@8.5.15):
+ postcss-discard-overridden@7.0.3(postcss@8.5.15):
dependencies:
postcss: 8.5.15
@@ -14406,12 +13075,6 @@ snapshots:
postcss-value-parser: 4.2.0
stylehacks: 7.0.11(postcss@8.5.15)
- postcss-merge-longhand@8.0.1(postcss@8.5.15):
- dependencies:
- postcss: 8.5.15
- postcss-value-parser: 4.2.0
- stylehacks: 8.0.1(postcss@8.5.15)
-
postcss-merge-rules@7.0.11(postcss@8.5.15):
dependencies:
browserslist: 4.28.2
@@ -14420,24 +13083,11 @@ snapshots:
postcss: 8.5.15
postcss-selector-parser: 7.1.4
- postcss-merge-rules@8.0.1(postcss@8.5.15):
- dependencies:
- browserslist: 4.28.2
- caniuse-api: 4.0.0
- cssnano-utils: 6.0.1(postcss@8.5.15)
- postcss: 8.5.15
- postcss-selector-parser: 7.1.4
-
postcss-minify-font-values@7.0.3(postcss@8.5.15):
dependencies:
postcss: 8.5.15
postcss-value-parser: 4.2.0
- postcss-minify-font-values@8.0.1(postcss@8.5.15):
- dependencies:
- postcss: 8.5.15
- postcss-value-parser: 4.2.0
-
postcss-minify-gradients@7.0.5(postcss@8.5.15):
dependencies:
'@colordx/core': 5.4.3
@@ -14445,13 +13095,6 @@ snapshots:
postcss: 8.5.15
postcss-value-parser: 4.2.0
- postcss-minify-gradients@8.0.1(postcss@8.5.15):
- dependencies:
- '@colordx/core': 5.4.3
- cssnano-utils: 6.0.1(postcss@8.5.15)
- postcss: 8.5.15
- postcss-value-parser: 4.2.0
-
postcss-minify-params@7.0.9(postcss@8.5.15):
dependencies:
browserslist: 4.28.2
@@ -14459,13 +13102,6 @@ snapshots:
postcss: 8.5.15
postcss-value-parser: 4.2.0
- postcss-minify-params@8.0.1(postcss@8.5.15):
- dependencies:
- browserslist: 4.28.2
- cssnano-utils: 6.0.1(postcss@8.5.15)
- postcss: 8.5.15
- postcss-value-parser: 4.2.0
-
postcss-minify-selectors@7.1.2(postcss@8.5.15):
dependencies:
browserslist: 4.28.2
@@ -14474,14 +13110,6 @@ snapshots:
postcss: 8.5.15
postcss-selector-parser: 7.1.4
- postcss-minify-selectors@8.0.2(postcss@8.5.15):
- dependencies:
- browserslist: 4.28.2
- caniuse-api: 4.0.0
- cssesc: 3.0.0
- postcss: 8.5.15
- postcss-selector-parser: 7.1.4
-
postcss-nested@7.0.2(postcss@8.5.15):
dependencies:
postcss: 8.5.15
@@ -14491,126 +13119,64 @@ snapshots:
dependencies:
postcss: 8.5.15
- postcss-normalize-charset@8.0.1(postcss@8.5.15):
- dependencies:
- postcss: 8.5.15
-
postcss-normalize-display-values@7.0.3(postcss@8.5.15):
dependencies:
postcss: 8.5.15
postcss-value-parser: 4.2.0
- postcss-normalize-display-values@8.0.1(postcss@8.5.15):
- dependencies:
- postcss: 8.5.15
- postcss-value-parser: 4.2.0
-
postcss-normalize-positions@7.0.4(postcss@8.5.15):
dependencies:
postcss: 8.5.15
postcss-value-parser: 4.2.0
- postcss-normalize-positions@8.0.1(postcss@8.5.15):
- dependencies:
- postcss: 8.5.15
- postcss-value-parser: 4.2.0
-
postcss-normalize-repeat-style@7.0.4(postcss@8.5.15):
dependencies:
postcss: 8.5.15
postcss-value-parser: 4.2.0
- postcss-normalize-repeat-style@8.0.1(postcss@8.5.15):
- dependencies:
- postcss: 8.5.15
- postcss-value-parser: 4.2.0
-
postcss-normalize-string@7.0.3(postcss@8.5.15):
dependencies:
postcss: 8.5.15
postcss-value-parser: 4.2.0
- postcss-normalize-string@8.0.1(postcss@8.5.15):
- dependencies:
- postcss: 8.5.15
- postcss-value-parser: 4.2.0
-
postcss-normalize-timing-functions@7.0.3(postcss@8.5.15):
dependencies:
postcss: 8.5.15
postcss-value-parser: 4.2.0
- postcss-normalize-timing-functions@8.0.1(postcss@8.5.15):
- dependencies:
- postcss: 8.5.15
- postcss-value-parser: 4.2.0
-
postcss-normalize-unicode@7.0.9(postcss@8.5.15):
dependencies:
browserslist: 4.28.2
postcss: 8.5.15
postcss-value-parser: 4.2.0
- postcss-normalize-unicode@8.0.1(postcss@8.5.15):
- dependencies:
- browserslist: 4.28.2
- postcss: 8.5.15
- postcss-value-parser: 4.2.0
-
postcss-normalize-url@7.0.3(postcss@8.5.15):
dependencies:
postcss: 8.5.15
postcss-value-parser: 4.2.0
- postcss-normalize-url@8.0.1(postcss@8.5.15):
- dependencies:
- postcss: 8.5.15
- postcss-value-parser: 4.2.0
-
postcss-normalize-whitespace@7.0.3(postcss@8.5.15):
dependencies:
postcss: 8.5.15
postcss-value-parser: 4.2.0
- postcss-normalize-whitespace@8.0.1(postcss@8.5.15):
- dependencies:
- postcss: 8.5.15
- postcss-value-parser: 4.2.0
-
postcss-ordered-values@7.0.4(postcss@8.5.15):
dependencies:
cssnano-utils: 5.0.3(postcss@8.5.15)
postcss: 8.5.15
postcss-value-parser: 4.2.0
- postcss-ordered-values@8.0.1(postcss@8.5.15):
- dependencies:
- cssnano-utils: 6.0.1(postcss@8.5.15)
- postcss: 8.5.15
- postcss-value-parser: 4.2.0
-
postcss-reduce-initial@7.0.9(postcss@8.5.15):
dependencies:
browserslist: 4.28.2
caniuse-api: 3.0.0
postcss: 8.5.15
- postcss-reduce-initial@8.0.1(postcss@8.5.15):
- dependencies:
- browserslist: 4.28.2
- caniuse-api: 4.0.0
- postcss: 8.5.15
-
postcss-reduce-transforms@7.0.3(postcss@8.5.15):
dependencies:
postcss: 8.5.15
postcss-value-parser: 4.2.0
- postcss-reduce-transforms@8.0.1(postcss@8.5.15):
- dependencies:
- postcss: 8.5.15
- postcss-value-parser: 4.2.0
-
postcss-selector-parser@7.1.4:
dependencies:
cssesc: 3.0.0
@@ -14622,22 +13188,11 @@ snapshots:
postcss-value-parser: 4.2.0
svgo: 4.0.1
- postcss-svgo@8.0.1(postcss@8.5.15):
- dependencies:
- postcss: 8.5.15
- postcss-value-parser: 4.2.0
- svgo: 4.0.1
-
postcss-unique-selectors@7.0.7(postcss@8.5.15):
dependencies:
postcss: 8.5.15
postcss-selector-parser: 7.1.4
- postcss-unique-selectors@8.0.1(postcss@8.5.15):
- dependencies:
- postcss: 8.5.15
- postcss-selector-parser: 7.1.4
-
postcss-value-parser@4.2.0: {}
postcss@8.4.31:
@@ -14656,8 +13211,15 @@ snapshots:
prelude-ls@1.2.1: {}
+ prettier-plugin-svelte@4.1.1(prettier@3.9.4)(svelte@5.56.4(@typescript-eslint/types@8.61.1)):
+ dependencies:
+ prettier: 3.9.4
+ svelte: 5.56.4(@typescript-eslint/types@8.61.1)
+
prettier@3.6.2: {}
+ prettier@3.9.4: {}
+
pretty-bytes@7.1.0: {}
pretty-format@27.5.1:
@@ -14712,13 +13274,6 @@ snapshots:
range-parser@1.2.1: {}
- raw-body@2.5.3:
- dependencies:
- bytes: 3.1.2
- http-errors: 2.0.1
- iconv-lite: 0.4.24
- unpipe: 1.0.0
-
raw-body@3.0.2:
dependencies:
bytes: 3.1.2
@@ -14740,8 +13295,6 @@ snapshots:
react-is@17.0.2: {}
- react-refresh@0.17.0: {}
-
react-router@7.15.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3):
dependencies:
cookie: 1.1.1
@@ -14847,7 +13400,7 @@ snapshots:
glob: 13.0.6
package-json-from-dist: 1.0.1
- rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0):
+ rolldown@1.0.0-beta.45(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1):
dependencies:
'@oxc-project/types': 0.95.0
'@rolldown/pluginutils': 1.0.0-beta.45
@@ -14862,37 +13415,34 @@ snapshots:
'@rolldown/binding-linux-x64-gnu': 1.0.0-beta.45
'@rolldown/binding-linux-x64-musl': 1.0.0-beta.45
'@rolldown/binding-openharmony-arm64': 1.0.0-beta.45
- '@rolldown/binding-wasm32-wasi': 1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)
+ '@rolldown/binding-wasm32-wasi': 1.0.0-beta.45(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)
'@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.45
'@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.45
'@rolldown/binding-win32-x64-msvc': 1.0.0-beta.45
transitivePeerDependencies:
- '@emnapi/core'
- '@emnapi/runtime'
- optional: true
- rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.11.1):
+ rolldown@1.1.3:
dependencies:
- '@oxc-project/types': 0.95.0
- '@rolldown/pluginutils': 1.0.0-beta.45
+ '@oxc-project/types': 0.137.0
+ '@rolldown/pluginutils': 1.0.1
optionalDependencies:
- '@rolldown/binding-android-arm64': 1.0.0-beta.45
- '@rolldown/binding-darwin-arm64': 1.0.0-beta.45
- '@rolldown/binding-darwin-x64': 1.0.0-beta.45
- '@rolldown/binding-freebsd-x64': 1.0.0-beta.45
- '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.45
- '@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.45
- '@rolldown/binding-linux-arm64-musl': 1.0.0-beta.45
- '@rolldown/binding-linux-x64-gnu': 1.0.0-beta.45
- '@rolldown/binding-linux-x64-musl': 1.0.0-beta.45
- '@rolldown/binding-openharmony-arm64': 1.0.0-beta.45
- '@rolldown/binding-wasm32-wasi': 1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.11.1)
- '@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.45
- '@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.45
- '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.45
- transitivePeerDependencies:
- - '@emnapi/core'
- - '@emnapi/runtime'
+ '@rolldown/binding-android-arm64': 1.1.3
+ '@rolldown/binding-darwin-arm64': 1.1.3
+ '@rolldown/binding-darwin-x64': 1.1.3
+ '@rolldown/binding-freebsd-x64': 1.1.3
+ '@rolldown/binding-linux-arm-gnueabihf': 1.1.3
+ '@rolldown/binding-linux-arm64-gnu': 1.1.3
+ '@rolldown/binding-linux-arm64-musl': 1.1.3
+ '@rolldown/binding-linux-ppc64-gnu': 1.1.3
+ '@rolldown/binding-linux-s390x-gnu': 1.1.3
+ '@rolldown/binding-linux-x64-gnu': 1.1.3
+ '@rolldown/binding-linux-x64-musl': 1.1.3
+ '@rolldown/binding-openharmony-arm64': 1.1.3
+ '@rolldown/binding-wasm32-wasi': 1.1.3
+ '@rolldown/binding-win32-arm64-msvc': 1.1.3
+ '@rolldown/binding-win32-x64-msvc': 1.1.3
rollup-plugin-dts@6.4.1(rollup@4.62.2)(typescript@5.9.3):
dependencies:
@@ -14905,14 +13455,14 @@ snapshots:
optionalDependencies:
'@babel/code-frame': 7.29.7
- rollup-plugin-visualizer@7.0.1(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup@4.62.2):
+ rollup-plugin-visualizer@7.0.1(rolldown@1.1.3)(rollup@4.62.2):
dependencies:
open: 11.0.0
picomatch: 4.0.4
source-map: 0.7.6
yargs: 18.0.0
optionalDependencies:
- rolldown: 1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)
+ rolldown: 1.1.3
rollup: 4.62.2
rollup@4.62.2:
@@ -14966,6 +13516,10 @@ snapshots:
dependencies:
queue-microtask: 1.2.3
+ sade@1.8.1:
+ dependencies:
+ mri: 1.2.0
+
safe-array-concat@1.1.4:
dependencies:
call-bind: 1.0.9
@@ -15013,24 +13567,6 @@ snapshots:
semver@7.8.5: {}
- send@0.19.2:
- dependencies:
- debug: 2.6.9
- depd: 2.0.0
- destroy: 1.2.0
- encodeurl: 2.0.0
- escape-html: 1.0.3
- etag: 1.8.1
- fresh: 0.5.2
- http-errors: 2.0.1
- mime: 1.6.0
- ms: 2.1.3
- on-finished: 2.4.1
- range-parser: 1.2.1
- statuses: 2.0.2
- transitivePeerDependencies:
- - supports-color
-
send@1.2.1:
dependencies:
debug: 4.4.3
@@ -15059,15 +13595,6 @@ snapshots:
dependencies:
defu: 6.1.5
- serve-static@1.16.3:
- dependencies:
- encodeurl: 2.0.0
- escape-html: 1.0.3
- parseurl: 1.3.3
- send: 0.19.2
- transitivePeerDependencies:
- - supports-color
-
serve-static@2.2.1:
dependencies:
encodeurl: 2.0.0
@@ -15079,6 +13606,8 @@ snapshots:
set-cookie-parser@2.7.2: {}
+ set-cookie-parser@3.1.1: {}
+
set-function-length@1.2.2:
dependencies:
define-data-property: 1.1.4
@@ -15344,10 +13873,12 @@ snapshots:
structured-clone-es@2.0.0: {}
- styled-jsx@5.1.6(react@19.2.3):
+ styled-jsx@5.1.6(@babel/core@7.29.7)(react@19.2.3):
dependencies:
client-only: 0.0.1
react: 19.2.3
+ optionalDependencies:
+ '@babel/core': 7.29.7
stylehacks@7.0.11(postcss@8.5.15):
dependencies:
@@ -15355,12 +13886,6 @@ snapshots:
postcss: 8.5.15
postcss-selector-parser: 7.1.4
- stylehacks@8.0.1(postcss@8.5.15):
- dependencies:
- browserslist: 4.28.2
- postcss: 8.5.15
- postcss-selector-parser: 7.1.4
-
stylis@4.2.0: {}
superjson@2.2.6:
@@ -15375,6 +13900,60 @@ snapshots:
supports-preserve-symlinks-flag@1.0.0: {}
+ svelte-check@4.7.1(picomatch@4.0.4)(svelte@5.56.4(@typescript-eslint/types@8.61.1))(typescript@5.9.3):
+ dependencies:
+ '@jridgewell/trace-mapping': 0.3.31
+ '@sveltejs/load-config': 0.2.0
+ chokidar: 4.0.3
+ fdir: 6.5.0(picomatch@4.0.4)
+ picocolors: 1.1.1
+ sade: 1.8.1
+ svelte: 5.56.4(@typescript-eslint/types@8.61.1)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - picomatch
+
+ svelte-check@4.7.1(picomatch@4.0.4)(svelte@5.56.4(@typescript-eslint/types@8.61.1))(typescript@6.0.3):
+ dependencies:
+ '@jridgewell/trace-mapping': 0.3.31
+ '@sveltejs/load-config': 0.2.0
+ chokidar: 4.0.3
+ fdir: 6.5.0(picomatch@4.0.4)
+ picocolors: 1.1.1
+ sade: 1.8.1
+ svelte: 5.56.4(@typescript-eslint/types@8.61.1)
+ typescript: 6.0.3
+ transitivePeerDependencies:
+ - picomatch
+
+ svelte2tsx@0.7.57(svelte@5.56.4(@typescript-eslint/types@8.61.1))(typescript@5.9.3):
+ dependencies:
+ dedent-js: 1.0.1
+ scule: 1.3.0
+ svelte: 5.56.4(@typescript-eslint/types@8.61.1)
+ typescript: 5.9.3
+
+ svelte@5.56.4(@typescript-eslint/types@8.61.1):
+ dependencies:
+ '@jridgewell/remapping': 2.3.5
+ '@jridgewell/sourcemap-codec': 1.5.5
+ '@sveltejs/acorn-typescript': 1.0.10(acorn@8.17.0)
+ '@types/estree': 1.0.9
+ '@types/trusted-types': 2.0.7
+ acorn: 8.17.0
+ aria-query: 5.3.1
+ axobject-query: 4.1.0
+ clsx: 2.1.1
+ devalue: 5.8.1
+ esm-env: 1.2.2
+ esrap: 2.2.13(@typescript-eslint/types@8.61.1)
+ is-reference: 3.0.3
+ locate-character: 3.0.0
+ magic-string: 0.30.21
+ zimmerframe: 1.1.4
+ transitivePeerDependencies:
+ - '@typescript-eslint/types'
+
svgo@4.0.1:
dependencies:
commander: 11.1.0
@@ -15502,11 +14081,6 @@ snapshots:
dependencies:
tagged-tag: 1.0.0
- type-is@1.6.18:
- dependencies:
- media-typer: 0.3.0
- mime-types: 2.1.35
-
type-is@2.1.0:
dependencies:
content-type: 2.0.0
@@ -15561,6 +14135,8 @@ snapshots:
typescript@5.9.3: {}
+ typescript@6.0.3: {}
+
ufo@1.6.4: {}
ultrahtml@1.6.0: {}
@@ -15631,7 +14207,7 @@ snapshots:
unicorn-magic@0.4.0: {}
- unimport@6.3.0(oxc-parser@0.132.0)(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)):
+ unimport@6.3.0(oxc-parser@0.132.0)(rolldown@1.1.3):
dependencies:
acorn: 8.17.0
escape-string-regexp: 5.0.0
@@ -15649,27 +14225,7 @@ snapshots:
unplugin-utils: 0.3.1
optionalDependencies:
oxc-parser: 0.132.0
- rolldown: 1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)
-
- unimport@6.3.0(oxc-parser@0.133.0)(rolldown@1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)):
- dependencies:
- acorn: 8.17.0
- escape-string-regexp: 5.0.0
- estree-walker: 3.0.3
- local-pkg: 1.2.1
- magic-string: 0.30.21
- mlly: 1.8.2
- pathe: 2.0.3
- picomatch: 4.0.4
- pkg-types: 2.3.1
- scule: 1.3.0
- strip-literal: 3.1.0
- tinyglobby: 0.2.17
- unplugin: 3.0.0
- unplugin-utils: 0.3.1
- optionalDependencies:
- oxc-parser: 0.133.0
- rolldown: 1.0.0-beta.45(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)
+ rolldown: 1.1.3
unpipe@1.0.0: {}
@@ -15721,11 +14277,6 @@ snapshots:
picomatch: 4.0.4
webpack-virtual-modules: 0.6.2
- unrouting@0.1.7:
- dependencies:
- escape-string-regexp: 5.0.0
- ufo: 1.6.4
-
unrs-resolver@1.12.2:
dependencies:
napi-postinstall: 0.3.4
@@ -15808,29 +14359,27 @@ snapshots:
util-deprecate@1.0.2: {}
- utils-merge@1.0.1: {}
-
uuid@11.1.1: {}
vary@1.1.2: {}
- vite-dev-rpc@2.0.0(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)):
+ vite-dev-rpc@2.0.0(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)):
dependencies:
birpc: 4.0.0
- vite: 7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
- vite-hot-client: 2.2.0(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ vite: 8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
+ vite-hot-client: 2.2.0(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
- vite-hot-client@2.2.0(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)):
+ vite-hot-client@2.2.0(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)):
dependencies:
- vite: 7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
+ vite: 8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
- vite-node@5.3.0(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0):
+ vite-node@5.3.0(@types/node@24.7.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.48.0)(yaml@2.9.0):
dependencies:
cac: 6.7.14
es-module-lexer: 2.1.0
obug: 2.1.3
pathe: 2.0.3
- vite: 7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
+ vite: 7.3.5(@types/node@24.7.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.48.0)(yaml@2.9.0)
transitivePeerDependencies:
- '@types/node'
- jiti
@@ -15844,7 +14393,7 @@ snapshots:
- tsx
- yaml
- vite-plugin-checker@0.13.0(eslint@9.39.4(jiti@2.7.0))(optionator@0.9.4)(typescript@5.9.3)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)):
+ vite-plugin-checker@0.13.0(eslint@9.39.4(jiti@2.7.0))(optionator@0.9.4)(typescript@5.9.3)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.48.0)(yaml@2.9.0)):
dependencies:
'@babel/code-frame': 7.29.7
chokidar: 4.0.3
@@ -15854,29 +14403,14 @@ snapshots:
proper-lockfile: 4.1.2
tiny-invariant: 1.3.3
tinyglobby: 0.2.17
- vite: 7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
+ vite: 7.3.5(@types/node@24.7.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.48.0)(yaml@2.9.0)
vscode-uri: 3.1.0
optionalDependencies:
eslint: 9.39.4(jiti@2.7.0)
optionator: 0.9.4
typescript: 5.9.3
- vite-plugin-checker@0.14.4(eslint@9.39.4(jiti@2.7.0))(optionator@0.9.4)(typescript@5.9.3)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)):
- dependencies:
- '@babel/code-frame': 7.29.7
- chokidar: 5.0.0
- npm-run-path: 6.0.0
- picocolors: 1.1.1
- picomatch: 4.0.4
- proper-lockfile: 4.1.2
- tiny-invariant: 1.3.3
- vite: 7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
- optionalDependencies:
- eslint: 9.39.4(jiti@2.7.0)
- optionator: 0.9.4
- typescript: 5.9.3
-
- vite-plugin-inspect@11.4.1(@nuxt/kit@3.21.7(magicast@0.5.3))(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)):
+ vite-plugin-inspect@11.4.1(@nuxt/kit@3.21.7(magicast@0.5.3))(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)):
dependencies:
ansis: 4.3.1
error-stack-parser-es: 1.0.5
@@ -15886,12 +14420,12 @@ snapshots:
perfect-debounce: 2.1.0
sirv: 3.0.2
unplugin-utils: 0.3.1
- vite: 7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
- vite-dev-rpc: 2.0.0(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ vite: 8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
+ vite-dev-rpc: 2.0.0(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
optionalDependencies:
'@nuxt/kit': 3.21.7(magicast@0.5.3)
- vite-plugin-inspect@11.4.1(@nuxt/kit@4.4.8(magicast@0.5.3))(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)):
+ vite-plugin-inspect@11.4.1(@nuxt/kit@4.4.8(magicast@0.5.3))(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)):
dependencies:
ansis: 4.3.1
error-stack-parser-es: 1.0.5
@@ -15901,32 +14435,32 @@ snapshots:
perfect-debounce: 2.1.0
sirv: 3.0.2
unplugin-utils: 0.3.1
- vite: 7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
- vite-dev-rpc: 2.0.0(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ vite: 8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
+ vite-dev-rpc: 2.0.0(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
optionalDependencies:
'@nuxt/kit': 4.4.8(magicast@0.5.3)
- vite-plugin-vue-tracer@1.4.0(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vue@3.5.30(typescript@5.9.3)):
+ vite-plugin-vue-tracer@1.4.0(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vue@3.5.30(typescript@5.9.3)):
dependencies:
estree-walker: 3.0.3
exsolve: 1.0.8
magic-string: 0.30.21
pathe: 2.0.3
source-map-js: 1.2.1
- vite: 7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
+ vite: 8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
vue: 3.5.30(typescript@5.9.3)
- vite-plugin-vue-tracer@1.4.0(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vue@3.5.38(typescript@5.9.3)):
+ vite-plugin-vue-tracer@1.4.0(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vue@3.5.38(typescript@5.9.3)):
dependencies:
estree-walker: 3.0.3
exsolve: 1.0.8
magic-string: 0.30.21
pathe: 2.0.3
source-map-js: 1.2.1
- vite: 7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
+ vite: 8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
vue: 3.5.38(typescript@5.9.3)
- vite@6.4.3(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0):
+ vite@6.4.3(@types/node@24.7.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.48.0)(yaml@2.9.0):
dependencies:
esbuild: 0.25.12
fdir: 6.5.0(picomatch@4.0.4)
@@ -15938,10 +14472,11 @@ snapshots:
'@types/node': 24.7.2
fsevents: 2.3.3
jiti: 2.7.0
+ lightningcss: 1.32.0
terser: 5.48.0
yaml: 2.9.0
- vite@7.3.5(@types/node@22.15.3)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0):
+ vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.48.0)(yaml@2.9.0):
dependencies:
esbuild: 0.27.7
fdir: 6.5.0(picomatch@4.0.4)
@@ -15949,31 +14484,51 @@ snapshots:
postcss: 8.5.15
rollup: 4.62.2
tinyglobby: 0.2.17
+ optionalDependencies:
+ '@types/node': 24.7.2
+ fsevents: 2.3.3
+ jiti: 2.7.0
+ lightningcss: 1.32.0
+ terser: 5.48.0
+ yaml: 2.9.0
+
+ vite@8.1.0(@types/node@22.15.3)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0):
+ dependencies:
+ lightningcss: 1.32.0
+ picomatch: 4.0.4
+ postcss: 8.5.15
+ rolldown: 1.1.3
+ tinyglobby: 0.2.17
optionalDependencies:
'@types/node': 22.15.3
+ esbuild: 0.28.1
fsevents: 2.3.3
jiti: 2.7.0
terser: 5.48.0
yaml: 2.9.0
- vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0):
+ vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0):
dependencies:
- esbuild: 0.27.7
- fdir: 6.5.0(picomatch@4.0.4)
+ lightningcss: 1.32.0
picomatch: 4.0.4
postcss: 8.5.15
- rollup: 4.62.2
+ rolldown: 1.1.3
tinyglobby: 0.2.17
optionalDependencies:
'@types/node': 24.7.2
+ esbuild: 0.28.1
fsevents: 2.3.3
jiti: 2.7.0
terser: 5.48.0
yaml: 2.9.0
- vitest-environment-nuxt@1.0.1(@playwright/test@1.60.0)(@types/node@24.7.2)(@vue/test-utils@2.4.6)(jiti@2.7.0)(jsdom@27.0.1)(magicast@0.5.3)(playwright-core@1.60.0)(terser@5.48.0)(typescript@5.9.3)(vitest@4.1.8)(yaml@2.9.0):
+ vitefu@1.1.3(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)):
+ optionalDependencies:
+ vite: 8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
+
+ vitest-environment-nuxt@1.0.1(@playwright/test@1.60.0)(@types/node@24.7.2)(@vue/test-utils@2.4.6)(jiti@2.7.0)(jsdom@27.0.1)(lightningcss@1.32.0)(magicast@0.5.3)(playwright-core@1.60.0)(terser@5.48.0)(typescript@5.9.3)(vitest@4.1.8)(yaml@2.9.0):
dependencies:
- '@nuxt/test-utils': 3.17.2(@playwright/test@1.60.0)(@types/node@24.7.2)(@vue/test-utils@2.4.6)(jiti@2.7.0)(jsdom@27.0.1)(magicast@0.5.3)(playwright-core@1.60.0)(terser@5.48.0)(typescript@5.9.3)(vitest@4.1.8)(yaml@2.9.0)
+ '@nuxt/test-utils': 3.17.2(@playwright/test@1.60.0)(@types/node@24.7.2)(@vue/test-utils@2.4.6)(jiti@2.7.0)(jsdom@27.0.1)(lightningcss@1.32.0)(magicast@0.5.3)(playwright-core@1.60.0)(terser@5.48.0)(typescript@5.9.3)(vitest@4.1.8)(yaml@2.9.0)
transitivePeerDependencies:
- '@cucumber/cucumber'
- '@jest/globals'
@@ -15999,10 +14554,10 @@ snapshots:
- vitest
- yaml
- vitest@4.1.8(@types/node@22.15.3)(@vitest/browser-playwright@4.1.8)(jsdom@27.0.1)(vite@7.3.5(@types/node@22.15.3)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)):
+ vitest@4.1.8(@types/node@22.15.3)(@vitest/browser-playwright@4.1.8)(jsdom@27.0.1)(vite@8.1.0(@types/node@22.15.3)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)):
dependencies:
'@vitest/expect': 4.1.8
- '@vitest/mocker': 4.1.8(vite@7.3.5(@types/node@22.15.3)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ '@vitest/mocker': 4.1.8(vite@8.1.0(@types/node@22.15.3)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
'@vitest/pretty-format': 4.1.8
'@vitest/runner': 4.1.8
'@vitest/snapshot': 4.1.8
@@ -16019,19 +14574,19 @@ snapshots:
tinyexec: 1.2.4
tinyglobby: 0.2.17
tinyrainbow: 3.1.0
- vite: 7.3.5(@types/node@22.15.3)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
+ vite: 8.1.0(@types/node@22.15.3)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
why-is-node-running: 2.3.0
optionalDependencies:
'@types/node': 22.15.3
- '@vitest/browser-playwright': 4.1.8(playwright@1.60.0)(vite@7.3.5(@types/node@22.15.3)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vitest@4.1.8)
+ '@vitest/browser-playwright': 4.1.8(playwright@1.60.0)(vite@8.1.0(@types/node@22.15.3)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vitest@4.1.8)
jsdom: 27.0.1
transitivePeerDependencies:
- msw
- vitest@4.1.8(@types/node@24.7.2)(@vitest/browser-playwright@4.1.8)(jsdom@27.0.1)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)):
+ vitest@4.1.8(@types/node@24.7.2)(@vitest/browser-playwright@4.1.8)(jsdom@27.0.1)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)):
dependencies:
'@vitest/expect': 4.1.8
- '@vitest/mocker': 4.1.8(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ '@vitest/mocker': 4.1.8(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
'@vitest/pretty-format': 4.1.8
'@vitest/runner': 4.1.8
'@vitest/snapshot': 4.1.8
@@ -16048,11 +14603,11 @@ snapshots:
tinyexec: 1.2.4
tinyglobby: 0.2.17
tinyrainbow: 3.1.0
- vite: 7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
+ vite: 8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
why-is-node-running: 2.3.0
optionalDependencies:
'@types/node': 24.7.2
- '@vitest/browser-playwright': 4.1.8(playwright@1.60.0)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vitest@4.1.8)
+ '@vitest/browser-playwright': 4.1.8(playwright@1.60.0)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vitest@4.1.8)
jsdom: 27.0.1
transitivePeerDependencies:
- msw
@@ -16084,7 +14639,7 @@ snapshots:
'@vue/devtools-api': 6.6.4
vue: 3.5.30(typescript@5.9.3)
- vue-router@5.1.0(@vue/compiler-sfc@3.5.38)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vue@3.5.30(typescript@5.9.3)):
+ vue-router@5.1.0(@vue/compiler-sfc@3.5.38)(vite@8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vue@3.5.30(typescript@5.9.3)):
dependencies:
'@babel/generator': 8.0.0
'@vue-macros/common': 3.1.2(vue@3.5.30(typescript@5.9.3))
@@ -16106,31 +14661,7 @@ snapshots:
yaml: 2.9.0
optionalDependencies:
'@vue/compiler-sfc': 3.5.38
- vite: 7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
-
- vue-router@5.1.0(@vue/compiler-sfc@3.5.38)(vite@7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))(vue@3.5.38(typescript@5.9.3)):
- dependencies:
- '@babel/generator': 8.0.0
- '@vue-macros/common': 3.1.2(vue@3.5.38(typescript@5.9.3))
- '@vue/devtools-api': 8.1.3
- ast-walker-scope: 0.9.0
- chokidar: 5.0.0
- json5: 2.2.3
- local-pkg: 1.2.1
- magic-string: 0.30.21
- mlly: 1.8.2
- muggle-string: 0.4.1
- pathe: 2.0.3
- picomatch: 4.0.4
- scule: 1.3.0
- tinyglobby: 0.2.17
- unplugin: 3.0.0
- unplugin-utils: 0.3.1
- vue: 3.5.38(typescript@5.9.3)
- yaml: 2.9.0
- optionalDependencies:
- '@vue/compiler-sfc': 3.5.38
- vite: 7.3.5(@types/node@24.7.2)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
+ vite: 8.1.0(@types/node@24.7.2)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
vue-sfc-transformer@0.1.17(@vue/compiler-core@3.5.38)(esbuild@0.28.1)(vue@3.5.30(typescript@5.9.3)):
dependencies:
@@ -16316,6 +14847,8 @@ snapshots:
cookie-es: 3.1.1
youch-core: 0.3.3
+ zimmerframe@1.1.4: {}
+
zip-stream@6.0.1:
dependencies:
archiver-utils: 5.0.2
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index 97eb68b..df44214 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -46,8 +46,16 @@ catalog:
rimraf: 6.1.3
rolldown: 1.0.0-beta.45
secure-random-bytes: 5.0.1
+ svelte: 5.56.4
+ '@sveltejs/kit': 2.68.0
+ '@sveltejs/package': 2.5.8
+ '@sveltejs/vite-plugin-svelte': 6.2.4
+ svelte-check: 4.7.1
stream-browserify: 3.0.0
tslib: 2.8.1
typescript: 5.9.3
uuid: 11.1.1
vitest: 4.1.8
+onlyBuiltDependencies:
+ - '@tailwindcss/oxide'
+ - esbuild
diff --git a/samples/sveltekit/quickstart/.env.example b/samples/sveltekit/quickstart/.env.example
new file mode 100644
index 0000000..31a1a54
--- /dev/null
+++ b/samples/sveltekit/quickstart/.env.example
@@ -0,0 +1,4 @@
+THUNDERID_BASE_URL=https://localhost:8090
+THUNDERID_CLIENT_ID=your-client-id-here
+THUNDERID_CLIENT_SECRET=your-client-secret-here
+THUNDERID_SESSION_SECRET=your-session-secret-here
diff --git a/samples/sveltekit/quickstart/.gitignore b/samples/sveltekit/quickstart/.gitignore
new file mode 100644
index 0000000..3b462cb
--- /dev/null
+++ b/samples/sveltekit/quickstart/.gitignore
@@ -0,0 +1,23 @@
+node_modules
+
+# Output
+.output
+.vercel
+.netlify
+.wrangler
+/.svelte-kit
+/build
+
+# OS
+.DS_Store
+Thumbs.db
+
+# Env
+.env
+.env.*
+!.env.example
+!.env.test
+
+# Vite
+vite.config.js.timestamp-*
+vite.config.ts.timestamp-*
diff --git a/samples/sveltekit/quickstart/.npmrc b/samples/sveltekit/quickstart/.npmrc
new file mode 100644
index 0000000..b6f27f1
--- /dev/null
+++ b/samples/sveltekit/quickstart/.npmrc
@@ -0,0 +1 @@
+engine-strict=true
diff --git a/samples/sveltekit/quickstart/.prettierignore b/samples/sveltekit/quickstart/.prettierignore
new file mode 100644
index 0000000..7d74fe2
--- /dev/null
+++ b/samples/sveltekit/quickstart/.prettierignore
@@ -0,0 +1,9 @@
+# Package Managers
+package-lock.json
+pnpm-lock.yaml
+yarn.lock
+bun.lock
+bun.lockb
+
+# Miscellaneous
+/static/
diff --git a/samples/sveltekit/quickstart/.prettierrc b/samples/sveltekit/quickstart/.prettierrc
new file mode 100644
index 0000000..3f7802c
--- /dev/null
+++ b/samples/sveltekit/quickstart/.prettierrc
@@ -0,0 +1,15 @@
+{
+ "useTabs": true,
+ "singleQuote": true,
+ "trailingComma": "none",
+ "printWidth": 100,
+ "plugins": ["prettier-plugin-svelte"],
+ "overrides": [
+ {
+ "files": "*.svelte",
+ "options": {
+ "parser": "svelte"
+ }
+ }
+ ]
+}
diff --git a/samples/sveltekit/quickstart/.vscode/extensions.json b/samples/sveltekit/quickstart/.vscode/extensions.json
new file mode 100644
index 0000000..38f928a
--- /dev/null
+++ b/samples/sveltekit/quickstart/.vscode/extensions.json
@@ -0,0 +1,3 @@
+{
+ "recommendations": ["svelte.svelte-vscode", "esbenp.prettier-vscode"]
+}
diff --git a/samples/sveltekit/quickstart/README.md b/samples/sveltekit/quickstart/README.md
new file mode 100644
index 0000000..f70c857
--- /dev/null
+++ b/samples/sveltekit/quickstart/README.md
@@ -0,0 +1,51 @@
+# ThunderID SvelteKit Quickstart
+
+A minimal SvelteKit application demonstrating ThunderID authentication with OAuth 2.0, PKCE, and JWT support using the `@thunderid/sveltekit` SDK.
+
+## Prerequisites
+
+- Node.js 18+
+- pnpm
+- A ThunderID application (see [Import ThunderID Resources](#import-thunderid-resources) below)
+
+## Import ThunderID Resources
+
+This sample ships with a `thunderid-config/` directory containing a declarative YAML file that creates the required user type and application in one step.
+
+1. Open `thunderid-config/thunderid.env` and set your preferred values:
+ ```bash
+ SVELTEKIT_QUICKSTART_CLIENT_ID=SVELTEKIT_QUICKSTART
+ SVELTEKIT_QUICKSTART_REDIRECT_URIS=["http://localhost:5173"]
+ ```
+2. Import via the ThunderID Console (https://localhost:8090/console):
+ - **First-time login**: a welcome screen appears with an **Open** button to upload the YAML file directly.
+ - **Later**: access the same welcome screen from the user profile menu in the top-right corner of the console.
+
+This creates the `Customer` user type and the `sveltekit-quickstart` application under the default organization unit.
+
+## Setup
+
+1. Copy the environment template:
+ ```sh
+ cp .env.example .env
+ ```
+
+2. Fill in your ThunderID credentials in `.env`, using the values you set in `thunderid-config/thunderid.env`:
+ ```
+ THUNDERID_BASE_URL=https://localhost:8090
+ THUNDERID_CLIENT_ID=SVELTEKIT_QUICKSTART
+ THUNDERID_CLIENT_SECRET=
+ THUNDERID_SESSION_SECRET=
+ ```
+
+3. Install dependencies and start the dev server:
+ ```sh
+ pnpm install
+ pnpm dev
+ ```
+
+The app will be available at `http://localhost:5173`.
+
+## Docs
+
+Full SDK reference: [thunderid.dev/docs](https://thunderid.dev/docs)
diff --git a/samples/sveltekit/quickstart/package.json b/samples/sveltekit/quickstart/package.json
new file mode 100644
index 0000000..30b7987
--- /dev/null
+++ b/samples/sveltekit/quickstart/package.json
@@ -0,0 +1,30 @@
+{
+ "name": "sveltekit-quickstart",
+ "private": true,
+ "version": "0.0.1",
+ "type": "module",
+ "scripts": {
+ "dev": "vite dev",
+ "build": "vite build",
+ "preview": "vite preview",
+ "prepare": "svelte-kit sync || echo ''",
+ "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
+ "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
+ "lint": "prettier --check .",
+ "format": "prettier --write ."
+ },
+ "dependencies": {
+ "@thunderid/sveltekit": "workspace:^"
+ },
+ "devDependencies": {
+ "@sveltejs/adapter-auto": "^7.0.1",
+ "@sveltejs/kit": "^2.63.0",
+ "@sveltejs/vite-plugin-svelte": "^7.1.2",
+ "prettier": "^3.8.3",
+ "prettier-plugin-svelte": "^4.1.0",
+ "svelte": "^5.56.1",
+ "svelte-check": "^4.6.0",
+ "typescript": "^6.0.3",
+ "vite": "^8.0.16"
+ }
+}
diff --git a/samples/sveltekit/quickstart/src/app.d.ts b/samples/sveltekit/quickstart/src/app.d.ts
new file mode 100644
index 0000000..516884d
--- /dev/null
+++ b/samples/sveltekit/quickstart/src/app.d.ts
@@ -0,0 +1,11 @@
+import type {ThunderIDSSRData} from '@thunderid/sveltekit';
+
+declare global {
+ namespace App {
+ interface Locals {
+ thunderid: ThunderIDSSRData;
+ }
+ }
+}
+
+export {};
diff --git a/samples/sveltekit/quickstart/src/app.html b/samples/sveltekit/quickstart/src/app.html
new file mode 100644
index 0000000..6a2bb58
--- /dev/null
+++ b/samples/sveltekit/quickstart/src/app.html
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+ %sveltekit.head%
+
+
+ %sveltekit.body%
+
+
diff --git a/samples/sveltekit/quickstart/src/hooks.server.ts b/samples/sveltekit/quickstart/src/hooks.server.ts
new file mode 100644
index 0000000..a25df42
--- /dev/null
+++ b/samples/sveltekit/quickstart/src/hooks.server.ts
@@ -0,0 +1,14 @@
+import {THUNDERID_BASE_URL, THUNDERID_CLIENT_ID, THUNDERID_CLIENT_SECRET, THUNDERID_SESSION_SECRET} from '$env/static/private';
+import {createThunderIDHandle} from '@thunderid/sveltekit/server';
+
+export const handle = createThunderIDHandle({
+ baseUrl: THUNDERID_BASE_URL,
+ clientId: THUNDERID_CLIENT_ID,
+ clientSecret: THUNDERID_CLIENT_SECRET,
+ sessionSecret: THUNDERID_SESSION_SECRET,
+ afterSignInUrl: '/',
+ afterSignOutUrl: '/',
+ preferences: {
+ theme: {inheritFromBranding: false},
+ },
+});
diff --git a/samples/sveltekit/quickstart/src/lib/AppShell.svelte b/samples/sveltekit/quickstart/src/lib/AppShell.svelte
new file mode 100644
index 0000000..658f770
--- /dev/null
+++ b/samples/sveltekit/quickstart/src/lib/AppShell.svelte
@@ -0,0 +1,65 @@
+
+
+
+
+
+{#if eventLog.length > 0}
+
+ SDK Events ({eventLog.length})
+
+{#each eventLog as evt}{evt}
+{/each}
+
+
+{/if}
+
+{@render children()}
diff --git a/samples/sveltekit/quickstart/src/lib/assets/favicon.svg b/samples/sveltekit/quickstart/src/lib/assets/favicon.svg
new file mode 100644
index 0000000..cc5dc66
--- /dev/null
+++ b/samples/sveltekit/quickstart/src/lib/assets/favicon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/samples/sveltekit/quickstart/src/lib/index.ts b/samples/sveltekit/quickstart/src/lib/index.ts
new file mode 100644
index 0000000..856f2b6
--- /dev/null
+++ b/samples/sveltekit/quickstart/src/lib/index.ts
@@ -0,0 +1 @@
+// place files you want to import through the `$lib` alias in this folder.
diff --git a/samples/sveltekit/quickstart/src/routes/+layout.server.ts b/samples/sveltekit/quickstart/src/routes/+layout.server.ts
new file mode 100644
index 0000000..611031b
--- /dev/null
+++ b/samples/sveltekit/quickstart/src/routes/+layout.server.ts
@@ -0,0 +1,6 @@
+import {loadThunderID} from '@thunderid/sveltekit/server';
+import type {LayoutServerLoad} from './$types';
+
+export const load: LayoutServerLoad = (event) => {
+ return {thunderid: loadThunderID(event)};
+};
diff --git a/samples/sveltekit/quickstart/src/routes/+layout.svelte b/samples/sveltekit/quickstart/src/routes/+layout.svelte
new file mode 100644
index 0000000..8d4006b
--- /dev/null
+++ b/samples/sveltekit/quickstart/src/routes/+layout.svelte
@@ -0,0 +1,13 @@
+
+
+
+
+ {@render children()}
+
+
diff --git a/samples/sveltekit/quickstart/src/routes/+page.svelte b/samples/sveltekit/quickstart/src/routes/+page.svelte
new file mode 100644
index 0000000..ad3a147
--- /dev/null
+++ b/samples/sveltekit/quickstart/src/routes/+page.svelte
@@ -0,0 +1,92 @@
+
+
+ThunderID SDK Test App
+
+
+ Initializing...
+
+
+
+ Welcome!
+
+
+
+
+
+
+ Actions
+
+
+
+
+
+
+ {#if accessToken}
+
+ Access Token
+ {accessToken}
+ {/if}
+
+ {#if idToken}
+
+ ID Token (raw)
+ {idToken}
+ {/if}
+
+ {#if userInfo}
+
+ UserInfo
+ {JSON.stringify(userInfo, null, 2)}
+ {/if}
+
+
+ Raw user data
+ {JSON.stringify(tid.user, null, 2)}
+
+
+ Raw user profile
+ {JSON.stringify(tid.userProfile, null, 2)}
+
+
+ Configuration
+ {JSON.stringify({locale: tid.locale, isInitialized: tid.isInitialized, isSignedIn: tid.isSignedIn, resolvedBaseUrl: tid.resolvedBaseUrl, clientId: tid.clientId, scopes: tid.scopes}, null, 2)}
+
+
+
+ You are not signed in.
+
+
+
diff --git a/samples/sveltekit/quickstart/src/routes/api/auth/callback/+server.ts b/samples/sveltekit/quickstart/src/routes/api/auth/callback/+server.ts
new file mode 100644
index 0000000..baeabb9
--- /dev/null
+++ b/samples/sveltekit/quickstart/src/routes/api/auth/callback/+server.ts
@@ -0,0 +1,10 @@
+import {THUNDERID_BASE_URL, THUNDERID_CLIENT_ID, THUNDERID_CLIENT_SECRET, THUNDERID_SESSION_SECRET} from '$env/static/private';
+import {createCallbackHandler} from '@thunderid/sveltekit/server';
+
+export const GET = createCallbackHandler({
+ baseUrl: THUNDERID_BASE_URL,
+ clientId: THUNDERID_CLIENT_ID,
+ clientSecret: THUNDERID_CLIENT_SECRET,
+ sessionSecret: THUNDERID_SESSION_SECRET,
+ afterSignInUrl: '/',
+});
diff --git a/samples/sveltekit/quickstart/src/routes/api/auth/signin/+server.ts b/samples/sveltekit/quickstart/src/routes/api/auth/signin/+server.ts
new file mode 100644
index 0000000..f4b16ce
--- /dev/null
+++ b/samples/sveltekit/quickstart/src/routes/api/auth/signin/+server.ts
@@ -0,0 +1,10 @@
+import {THUNDERID_BASE_URL, THUNDERID_CLIENT_ID, THUNDERID_CLIENT_SECRET, THUNDERID_SESSION_SECRET} from '$env/static/private';
+import {createSignInHandler} from '@thunderid/sveltekit/server';
+
+export const GET = createSignInHandler({
+ baseUrl: THUNDERID_BASE_URL,
+ clientId: THUNDERID_CLIENT_ID,
+ clientSecret: THUNDERID_CLIENT_SECRET,
+ sessionSecret: THUNDERID_SESSION_SECRET,
+ afterSignInUrl: 'http://localhost:5173/api/auth/callback',
+});
diff --git a/samples/sveltekit/quickstart/src/routes/api/auth/signout/+server.ts b/samples/sveltekit/quickstart/src/routes/api/auth/signout/+server.ts
new file mode 100644
index 0000000..dd672fd
--- /dev/null
+++ b/samples/sveltekit/quickstart/src/routes/api/auth/signout/+server.ts
@@ -0,0 +1,10 @@
+import {THUNDERID_BASE_URL, THUNDERID_CLIENT_ID, THUNDERID_CLIENT_SECRET, THUNDERID_SESSION_SECRET} from '$env/static/private';
+import {createSignOutHandler} from '@thunderid/sveltekit/server';
+
+export const GET = createSignOutHandler({
+ baseUrl: THUNDERID_BASE_URL,
+ clientId: THUNDERID_CLIENT_ID,
+ clientSecret: THUNDERID_CLIENT_SECRET,
+ sessionSecret: THUNDERID_SESSION_SECRET,
+ afterSignOutUrl: '/',
+});
diff --git a/samples/sveltekit/quickstart/src/routes/callback/+page.svelte b/samples/sveltekit/quickstart/src/routes/callback/+page.svelte
new file mode 100644
index 0000000..8a0b0ec
--- /dev/null
+++ b/samples/sveltekit/quickstart/src/routes/callback/+page.svelte
@@ -0,0 +1,6 @@
+
+
+Signing you in...
+
diff --git a/samples/sveltekit/quickstart/src/routes/protected/+page.server.ts b/samples/sveltekit/quickstart/src/routes/protected/+page.server.ts
new file mode 100644
index 0000000..173f464
--- /dev/null
+++ b/samples/sveltekit/quickstart/src/routes/protected/+page.server.ts
@@ -0,0 +1,19 @@
+import {requireServerSession} from '@thunderid/sveltekit/server';
+import {redirect} from '@sveltejs/kit';
+import {isGuardRedirect} from '@thunderid/sveltekit/server';
+import type {PageServerLoad} from './$types';
+
+export const load: PageServerLoad = (event) => {
+ try {
+ const ssrData = requireServerSession(event, '/api/auth/signin');
+ return {
+ user: ssrData.user,
+ session: ssrData.session,
+ };
+ } catch (e) {
+ if (isGuardRedirect(e)) {
+ throw redirect(e.status, e.location);
+ }
+ throw e;
+ }
+};
diff --git a/samples/sveltekit/quickstart/src/routes/protected/+page.svelte b/samples/sveltekit/quickstart/src/routes/protected/+page.svelte
new file mode 100644
index 0000000..df60d88
--- /dev/null
+++ b/samples/sveltekit/quickstart/src/routes/protected/+page.svelte
@@ -0,0 +1,29 @@
+
+
+Protected Page
+
+
+
+
+ Back to home
+
+
+
+
+ SSR Session Data
+ {JSON.stringify({
+ session: {
+ sub: data.session?.sub,
+ scopes: data.session?.scopes,
+ exp: data.session?.exp ? new Date((data.session.exp as number) * 1000).toISOString() : null,
+ iat: data.session?.iat ? new Date((data.session.iat as number) * 1000).toISOString() : null,
+ sessionId: data.session?.sessionId,
+ accessToken: (data.session?.accessToken as string)?.slice(0, 30) + '...',
+ },
+ user: data.user,
+ }, null, 2)}
+
diff --git a/samples/sveltekit/quickstart/static/robots.txt b/samples/sveltekit/quickstart/static/robots.txt
new file mode 100644
index 0000000..b6dd667
--- /dev/null
+++ b/samples/sveltekit/quickstart/static/robots.txt
@@ -0,0 +1,3 @@
+# allow crawling everything by default
+User-agent: *
+Disallow:
diff --git a/samples/sveltekit/quickstart/thunderid-config/thunderid-config.yaml b/samples/sveltekit/quickstart/thunderid-config/thunderid-config.yaml
new file mode 100644
index 0000000..7393fac
--- /dev/null
+++ b/samples/sveltekit/quickstart/thunderid-config/thunderid-config.yaml
@@ -0,0 +1,128 @@
+# resource_type: user_type
+id: 019e3a5c-04ea-7d18-8ae6-f828b1f3d60f
+category: user
+name: Customer
+ouHandle: default
+allowSelfRegistration: true
+systemAttributes:
+ display: username
+schema: {
+ "username": {
+ "type": "string",
+ "displayName": "Username",
+ "required": true,
+ "unique": true
+ },
+ "password": {
+ "type": "string",
+ "displayName": "Password",
+ "required": false,
+ "credential": true
+ },
+ "email": {
+ "type": "string",
+ "displayName": "Email",
+ "required": true,
+ "unique": true,
+ "regex": "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$"
+ },
+ "given_name": {
+ "type": "string",
+ "displayName": "First Name",
+ "required": false
+ },
+ "family_name": {
+ "type": "string",
+ "displayName": "Last Name",
+ "required": false
+ },
+ "name": {
+ "type": "string",
+ "displayName": "Full Name",
+ "required": false
+ },
+ "mobile_number": {
+ "type": "string",
+ "displayName": "Mobile Number",
+ "required": false
+ }
+ }
+
+---
+# resource_type: application
+id: 2971eb55-7673-4bd0-9ef8-2ed8b53e388f
+ouHandle: default
+name: sveltekit-quickstart
+description: Sample SvelteKit application using the @thunderid/sveltekit SDK
+url: http://localhost:5173
+logoUrl: emoji:๐
+authFlowHandle: default-basic-flow
+isRegistrationFlowEnabled: true
+isRecoveryFlowEnabled: false
+assertion:
+ validityPeriod: 3600
+allowedUserTypes:
+ - Customer
+inboundAuthConfig:
+ - type: oauth2
+ config:
+ clientId: {{.SVELTEKIT_QUICKSTART_CLIENT_ID}}
+ redirectUris:
+ {{- range .SVELTEKIT_QUICKSTART_REDIRECT_URIS}}
+ - {{.}}
+ {{- end}}
+ grantTypes:
+ - authorization_code
+ responseTypes:
+ - code
+ tokenEndpointAuthMethod: client_secret_post
+ pkceRequired: true
+ publicClient: false
+ requirePushedAuthorizationRequests: false
+ token:
+ accessToken:
+ validityPeriod: 3600
+ userAttributes:
+ - given_name
+ - family_name
+ - email
+ - groups
+ - name
+ idToken:
+ validityPeriod: 3600
+ userAttributes:
+ - given_name
+ - family_name
+ - email
+ - groups
+ - name
+ responseType: JWT
+ userInfo:
+ responseType: JSON
+ userAttributes:
+ - given_name
+ - family_name
+ - email
+ - groups
+ - name
+ scopeClaims:
+ email:
+ - email
+ - email_verified
+ group:
+ - groups
+ phone:
+ - phone_number
+ - phone_number_verified
+ profile:
+ - name
+ - given_name
+ - family_name
+ - picture
+
+---
+# resource_type: server_config
+name: cors
+value:
+ allowedOrigins:
+ - "http://localhost:5173"
diff --git a/samples/sveltekit/quickstart/thunderid-config/thunderid.env b/samples/sveltekit/quickstart/thunderid-config/thunderid.env
new file mode 100644
index 0000000..b3cd029
--- /dev/null
+++ b/samples/sveltekit/quickstart/thunderid-config/thunderid.env
@@ -0,0 +1,2 @@
+SVELTEKIT_QUICKSTART_CLIENT_ID=SVELTEKIT_QUICKSTART
+SVELTEKIT_QUICKSTART_REDIRECT_URIS=["http://localhost:5173"]
diff --git a/samples/sveltekit/quickstart/tsconfig.json b/samples/sveltekit/quickstart/tsconfig.json
new file mode 100644
index 0000000..2c2ed3c
--- /dev/null
+++ b/samples/sveltekit/quickstart/tsconfig.json
@@ -0,0 +1,20 @@
+{
+ "extends": "./.svelte-kit/tsconfig.json",
+ "compilerOptions": {
+ "rewriteRelativeImportExtensions": true,
+ "allowJs": true,
+ "checkJs": true,
+ "esModuleInterop": true,
+ "forceConsistentCasingInFileNames": true,
+ "resolveJsonModule": true,
+ "skipLibCheck": true,
+ "sourceMap": true,
+ "strict": true,
+ "moduleResolution": "bundler"
+ }
+ // Path aliases are handled by https://svelte.dev/docs/kit/configuration#alias
+ // except $lib which is handled by https://svelte.dev/docs/kit/configuration#files
+ //
+ // To make changes to top-level options such as include and exclude, we recommend extending
+ // the generated config; see https://svelte.dev/docs/kit/configuration#typescript
+}
diff --git a/samples/sveltekit/quickstart/vite.config.ts b/samples/sveltekit/quickstart/vite.config.ts
new file mode 100644
index 0000000..cb76b81
--- /dev/null
+++ b/samples/sveltekit/quickstart/vite.config.ts
@@ -0,0 +1,20 @@
+import adapter from '@sveltejs/adapter-auto';
+import { sveltekit } from '@sveltejs/kit/vite';
+import { defineConfig } from 'vite';
+
+export default defineConfig({
+ plugins: [
+ sveltekit({
+ compilerOptions: {
+ // Force runes mode for the project, except for libraries. Can be removed in svelte 6.
+ runes: ({ filename }) =>
+ filename.split(/[/\\]/).includes('node_modules') ? undefined : true
+ },
+
+ // adapter-auto only supports some environments, see https://svelte.dev/docs/kit/adapter-auto for a list.
+ // If your environment is not supported, or you settled on a specific environment, switch out the adapter.
+ // See https://svelte.dev/docs/kit/adapters for more information about adapters.
+ adapter: adapter()
+ })
+ ]
+});