diff --git a/app/components/AppFooter.vue b/app/components/AppFooter.vue index 6723549fd6..60c6259aea 100644 --- a/app/components/AppFooter.vue +++ b/app/components/AppFooter.vue @@ -48,6 +48,10 @@ const footerSections: Array<{ label: string; links: FooterLink[] }> = [ name: t('footer.about'), href: '/about', }, + { + name: t('footer.brand'), + href: '/brand', + }, { name: t('a11y.footer_title'), href: '/accessibility', diff --git a/app/components/Package/Likes.vue b/app/components/Package/Likes.vue index 5c7b68089b..e48f543e62 100644 --- a/app/components/Package/Likes.vue +++ b/app/components/Package/Likes.vue @@ -1,4 +1,5 @@ - diff --git a/app/components/Package/TrendsChart.vue b/app/components/Package/TrendsChart.vue index 233a5cca63..6499064a5a 100644 --- a/app/components/Package/TrendsChart.vue +++ b/app/components/Package/TrendsChart.vue @@ -25,6 +25,7 @@ import { } from '~/utils/chart-data-prediction' import { applyBlocklistCorrection, getAnomaliesForPackages } from '~/utils/download-anomalies' import { copyAltTextForTrendLineChart, sanitise, loadFile, applyEllipsis } from '~/utils/charts' +import { useChartTooltipPosition } from '~/composables/useChartTooltipPosition' import('vue-data-ui/style.css') @@ -67,6 +68,8 @@ const resolvedMode = shallowRef<'light' | 'dark'>('light') const rootEl = shallowRef(null) const isZoomed = shallowRef(false) +const chartRef = useTemplateRef('chartRef') + function setIsZoom({ isZoom }: { isZoom: boolean }) { isZoomed.value = isZoom } @@ -1077,6 +1080,7 @@ const normalisedDataset = computed(() => { const lastDateMs = chartData.value.dates.at(-1) ?? 0 const isAbsoluteMetric = selectedMetric.value === 'contributors' + // oxlint-disable-next-line oxc-no-map-spread return (chartData.value.dataset || []).map(d => { const series = applyDataPipeline( d.series.map(v => v ?? 0), @@ -1384,6 +1388,8 @@ watch( { immediate: true }, ) +const tooltipPosition = useChartTooltipPosition(chartRef) + // VueUiXy chart component configuration const chartConfig = computed(() => { return { @@ -1517,6 +1523,9 @@ const chartConfig = computed(() => { legend: { show: false, position: 'top' }, tooltip: { teleportTo: props.inModal ? '#chart-modal' : undefined, + position: tooltipPosition.value, + offsetX: 24, + offsetY: isMultiPackageMode.value ? undefined : -24, borderColor: 'transparent', backdropFilter: false, backgroundColor: 'transparent', @@ -1580,6 +1589,7 @@ const chartConfig = computed(() => { maxWidth: isMobile.value ? 350 : 500, highlightColor: colors.value.bgElevated, useResetSlot: true, + keepState: true, minimap: { show: true, lineColor: '#FAFAFA', @@ -1929,6 +1939,7 @@ const isSparklineLayout = computed({ :aria-labelledby="isMultiPackageMode ? 'combined-chart-layout-tab' : undefined" > +
diff --git a/app/components/Tab/Item.vue b/app/components/Tab/Item.vue index 6b0f4c3aff..4337c061ce 100644 --- a/app/components/Tab/Item.vue +++ b/app/components/Tab/Item.vue @@ -8,10 +8,12 @@ const props = withDefaults( value: string icon?: IconClass tabId?: string + controlsPanel?: boolean variant?: 'primary' | 'secondary' size?: 'sm' | 'md' }>(), { + controlsPanel: true, variant: 'secondary', size: 'md', }, @@ -22,12 +24,13 @@ const attrs = useAttrs() const selected = inject>('tabs-selected') const getTabId = inject<(value: string) => string>('tabs-tab-id') const getPanelId = inject<(value: string) => string>('tabs-panel-id') + if (!selected || !getTabId || !getPanelId) { throw new Error('TabItem must be used inside a TabRoot component') } const isSelected = computed(() => selected.value === props.value) const resolvedTabId = computed(() => props.tabId ?? getTabId(props.value)) -const resolvedPanelId = computed(() => getPanelId(props.value)) +const resolvedPanelId = computed(() => (props.controlsPanel ? getPanelId(props.value) : undefined)) const select = () => { selected.value = props.value } diff --git a/app/components/Terminal/Install.vue b/app/components/Terminal/Install.vue index 0a91f8f7d3..5d3ef9fb85 100644 --- a/app/components/Terminal/Install.vue +++ b/app/components/Terminal/Install.vue @@ -41,7 +41,7 @@ function getDevInstallPartsForPM(pmId: PackageManagerId) { return getInstallCommandParts({ packageName: props.packageName, packageManager: pmId, - version: props.requestedVersion, + version: props.installVersionOverride ?? props.requestedVersion, jsrInfo: props.jsrInfo, dev: true, }) @@ -116,7 +116,7 @@ const copyDevInstallCommand = () => getInstallCommand({ packageName: props.packageName, packageManager: selectedPM.value, - version: props.requestedVersion, + version: props.installVersionOverride ?? props.requestedVersion, jsrInfo: props.jsrInfo, dev: true, }), diff --git a/app/composables/npm/usePackage.ts b/app/composables/npm/usePackage.ts index 747de4992e..7864f1b6f5 100644 --- a/app/composables/npm/usePackage.ts +++ b/app/composables/npm/usePackage.ts @@ -16,6 +16,13 @@ function getTrustLevel(version: PackumentVersion): PublishTrustLevel { return 'none' } +function normalizeLicense(license?: PackumentLicense): string | undefined { + if (!license) return undefined + if (typeof license === 'string') return license + if (typeof license.type === 'string') return license.type + return undefined +} + /** * Transform a full Packument into a slimmed version for client-side use. * Reduces payload size by: @@ -72,6 +79,7 @@ export function transformPackument( for (const v of includedVersions) { const version = pkg.versions[v] if (version) { + const versionLicense = normalizeLicense(version.license) if (version.version === requestedVersion) { // Strip readme from each version, extract install scripts info const { readme: _readme, scripts, ...slimVersion } = version @@ -80,25 +88,20 @@ export function transformPackument( const installScripts = scripts ? extractInstallScriptsInfo(scripts) : null versionData = { ...slimVersion, + license: versionLicense, installScripts: installScripts ?? undefined, } } const trustLevel = getTrustLevel(version) const hasProvenance = trustLevel !== 'none' - // Normalize license: some versions use { type: "MIT" } instead of "MIT" - let versionLicense = version.license - if (versionLicense && typeof versionLicense === 'object' && 'type' in versionLicense) { - versionLicense = (versionLicense as { type: string }).type - } - filteredVersions[v] = { hasProvenance, trustLevel, version: version.version, deprecated: version.deprecated, tags: version.tags as string[], - license: typeof versionLicense === 'string' ? versionLicense : undefined, + license: versionLicense, type: typeof version.type === 'string' ? version.type : undefined, } } @@ -113,10 +116,7 @@ export function transformPackument( } // Normalize license field - let license = pkg.license - if (license && typeof license === 'object' && 'type' in license) { - license = license.type - } + const license = normalizeLicense(requestedVersion ? versionData?.license : pkg.license) // Extract storybook field from the requested version (custom package.json field) const requestedPkgVersion = requestedVersion ? pkg.versions[requestedVersion] : null diff --git a/app/composables/useChartTooltipPosition.ts b/app/composables/useChartTooltipPosition.ts new file mode 100644 index 0000000000..7be8ec3435 --- /dev/null +++ b/app/composables/useChartTooltipPosition.ts @@ -0,0 +1,26 @@ +/** + * This composable returns a dynamic position to be fed to vue-data-ui components configugration for the `tooltip.position` attribute. Use it to position tooltips to the right or left side to free the view for datapoints, typically on line charts. + */ +import { computed, toValue } from 'vue' +import { useMouseInElement } from '@vueuse/core' + +type TooltipPosition = 'left' | 'right' | 'center' +type TemplateRefValue = HTMLElement | { $el?: HTMLElement } | null | undefined + +export function useChartTooltipPosition( + chartRef: MaybeRefOrGetter, +): ComputedRef { + const target = computed(() => { + const value = toValue(chartRef) + if (!value) return null + if (value instanceof HTMLElement) return value + return value.$el || null + }) + + const { elementX, elementWidth, isOutside } = useMouseInElement(target) + + return computed(() => { + if (isOutside.value || elementWidth.value === 0) return 'center' + return elementX.value > elementWidth.value / 2 ? 'left' : 'right' + }) +} diff --git a/app/composables/useClipboardAsync.ts b/app/composables/useClipboardAsync.ts deleted file mode 100644 index 46fe4e5ba7..0000000000 --- a/app/composables/useClipboardAsync.ts +++ /dev/null @@ -1,41 +0,0 @@ -import type { ShallowRef } from 'vue' - -type UseClipboardAsyncReturn = { - copy: () => void - copied: ShallowRef -} - -type UseClipboardAsyncOptions = { - copiedDuring: number -} - -export function useClipboardAsync( - fn: () => Promise, - options?: UseClipboardAsyncOptions, -): UseClipboardAsyncReturn { - const copied = shallowRef(false) - const timeout = useTimeoutFn(() => (copied.value = false), options?.copiedDuring ?? 0, { - immediate: false, - }) - - async function copy() { - const asyncClipboard = new ClipboardItem({ - 'text/plain': fn().then(text => { - return new Blob([text], { type: 'text/plain' }) - }), - }) - - try { - await navigator.clipboard.write([asyncClipboard]) - copied.value = true - timeout.start() - } catch { - copied.value = false - } - } - - return { - copy, - copied, - } -} diff --git a/app/composables/useCommandPaletteGlobalCommands.ts b/app/composables/useCommandPaletteGlobalCommands.ts index 199f411884..e5013a466c 100644 --- a/app/composables/useCommandPaletteGlobalCommands.ts +++ b/app/composables/useCommandPaletteGlobalCommands.ts @@ -310,6 +310,16 @@ export function useCommandPaletteGlobalCommands() { ), to: { name: 'blog' }, }, + { + id: 'brand', + group: 'npmx', + label: t('footer.brand'), + keywords: [t('footer.brand')], + iconClass: 'i-lucide:palette', + active: route.name === 'brand', + activeLabel: activeLabel(route.name === 'brand', t('command_palette.here')), + to: { name: 'brand' }, + }, { id: 'privacy', group: 'npmx', diff --git a/app/composables/useConnector.ts b/app/composables/useConnector.ts index 4dbd2d984d..dee65f413d 100644 --- a/app/composables/useConnector.ts +++ b/app/composables/useConnector.ts @@ -55,6 +55,7 @@ interface StateResponse { const STORAGE_KEY = 'npmx-connector' const DEFAULT_PORT = 31415 +const CONNECT_TIMEOUT_MS = 30000 export const useConnector = createSharedComposable(function useConnector() { const { settings } = useSettings() @@ -115,7 +116,7 @@ export const useConnector = createSharedComposable(function useConnector() { const response = await $fetch(`http://127.0.0.1:${port}/connect`, { method: 'POST', body: { token }, - timeout: 5000, + timeout: CONNECT_TIMEOUT_MS, }) if (response.success && response.data) { @@ -180,7 +181,7 @@ export const useConnector = createSharedComposable(function useConnector() { headers: { Authorization: `Bearer ${config.value.token}`, }, - timeout: 5000, + timeout: CONNECT_TIMEOUT_MS, }) if (response.success && response.data) { diff --git a/app/composables/useSelectedPackageManager.ts b/app/composables/useSelectedPackageManager.ts index 91c44a42e4..e13c108e0e 100644 --- a/app/composables/useSelectedPackageManager.ts +++ b/app/composables/useSelectedPackageManager.ts @@ -13,7 +13,7 @@ export const useSelectedPackageManager = createSharedComposable( // Sync to data-pm attribute on the client if (import.meta.client) { const queryPM = new URLSearchParams(window.location.search).get('pm') - if (queryPM && packageManagers.some(pm => pm.id === queryPM)) { + if (queryPM && packageManagers.some(({ id }) => id === queryPM)) { pm.value = queryPM as PackageManagerId } // Watch for changes and update the attribute diff --git a/app/composables/useSettings.ts b/app/composables/useSettings.ts index 1fc879a0a4..c5d5734ff6 100644 --- a/app/composables/useSettings.ts +++ b/app/composables/useSettings.ts @@ -50,6 +50,10 @@ export interface AppSettings { anomaliesFixed: boolean predictionPoints: number } + timelineChart: { + isZeroBased: boolean + showZoom: boolean + } } const DEFAULT_SETTINGS: AppSettings = { @@ -77,6 +81,10 @@ const DEFAULT_SETTINGS: AppSettings = { anomaliesFixed: true, predictionPoints: 4, }, + timelineChart: { + isZeroBased: false, + showZoom: false, + }, } const STORAGE_KEY = 'npmx-settings' diff --git a/app/pages/leaderboard/likes.vue b/app/pages/leaderboard/likes.vue new file mode 100644 index 0000000000..63208cfbce --- /dev/null +++ b/app/pages/leaderboard/likes.vue @@ -0,0 +1,569 @@ + + + diff --git a/app/pages/package-code/[[org]]/[packageName]/v/[version]/[...filePath].vue b/app/pages/package-code/[[org]]/[packageName]/v/[version]/[...filePath].vue index 8c2e43988d..340836bad8 100644 --- a/app/pages/package-code/[[org]]/[packageName]/v/[version]/[...filePath].vue +++ b/app/pages/package-code/[[org]]/[packageName]/v/[version]/[...filePath].vue @@ -324,15 +324,7 @@ defineOgImage( version: () => version.value, variant: 'code-tree', }, - [ - { key: 'og', alt: () => `Source code file tree for ${packageName.value}@${version.value}` }, - { - key: 'whatsapp', - width: 800, - height: 800, - alt: () => `Source code file tree for ${packageName.value}@${version.value}`, - }, - ], + { alt: () => `Source code file tree for ${packageName.value}@${version.value}` }, ) useCommandPaletteContextCommands( diff --git a/app/pages/package-docs/[...path].vue b/app/pages/package-docs/[...path].vue index d07a3d023d..a7f44157ef 100644 --- a/app/pages/package-docs/[...path].vue +++ b/app/pages/package-docs/[...path].vue @@ -149,15 +149,7 @@ defineOgImage( version: () => resolvedVersion.value, variant: 'function-tree', }, - [ - { key: 'og', alt: () => `API documentation for ${packageName.value}` }, - { - key: 'whatsapp', - width: 800, - height: 800, - alt: () => `API documentation for ${packageName.value}`, - }, - ], + { alt: () => `API documentation for ${packageName.value}` }, ) const showLoading = computed( diff --git a/app/pages/package-timeline/[[org]]/[packageName].vue b/app/pages/package-timeline/[[org]]/[packageName].vue index bb9f577eb0..a007efde15 100644 --- a/app/pages/package-timeline/[[org]]/[packageName].vue +++ b/app/pages/package-timeline/[[org]]/[packageName].vue @@ -4,6 +4,7 @@ import { compare } from 'semver' import type { TimelineResponse, TimelineVersion, + SubEvent, } from '~~/server/api/registry/timeline/[...pkg].get' import type { TimelineSizeResponse } from '~~/server/api/registry/timeline/sizes/[...pkg].get' @@ -111,14 +112,17 @@ function sizeKey(ver: string) { } async function fetchSizes(offset: number) { + const requestedPackage = packageName.value sizeFetchesInFlight.value++ try { const data = await $fetch( - `/api/registry/timeline/sizes/${packageName.value}`, + `/api/registry/timeline/sizes/${requestedPackage}`, { query: { offset, limit: PAGE_SIZE } }, ) + if (requestedPackage !== packageName.value) return + for (const entry of data.sizes) { - sizeCache.set(sizeKey(entry.version), { + sizeCache.set(`${requestedPackage}@${entry.version}`, { totalSize: entry.totalSize, dependencyCount: entry.dependencyCount, }) @@ -143,13 +147,6 @@ if (import.meta.client) { const bytesFormatter = useBytesFormatter() -interface SubEvent { - key: string - positive: boolean - icon: string - text: string -} - // Detect notable changes between consecutive versions (size, license, ESM, types) // Versions are compared against their semver predecessor, not chronological neighbor, // so interleaved legacy releases don't produce misleading cross-line diffs. @@ -308,6 +305,8 @@ const versionSubEvents = computed(() => { return result }) +const selectedVersion = shallowRef(null) + useSeoMeta({ title: () => `Timeline - ${packageName.value} - npmx`, description: () => `Version timeline for ${packageName.value}`, @@ -325,12 +324,21 @@ useSeoMeta({ page="timeline" /> -
- -
-
+
+
+
+ +
+
+
  1. @@ -346,6 +354,10 @@ useSeoMeta({ class="text-sm font-medium" :class="entry.version === version ? 'text-accent' : ''" dir="ltr" + @mouseenter="selectedVersion = entry.version" + @mouseleave="selectedVersion = null" + @focus="selectedVersion = entry.version" + @blur="selectedVersion = null" > {{ entry.version }} @@ -427,18 +439,3 @@ useSeoMeta({
- - diff --git a/app/pages/package/[[org]]/[name].vue b/app/pages/package/[[org]]/[name].vue index 934d81e471..c709e2f5d4 100644 --- a/app/pages/package/[[org]]/[name].vue +++ b/app/pages/package/[[org]]/[name].vue @@ -42,15 +42,7 @@ defineOgImage( version: () => requestedVersion.value, variant: 'download-chart', }, - [ - { key: 'og', alt: () => `npm package ${packageName.value} download chart and stats` }, - { - key: 'whatsapp', - width: 800, - height: 800, - alt: () => `npm package ${packageName.value} download chart and stats`, - }, - ], + { alt: () => `npm package ${packageName.value} download chart and stats` }, ) if (import.meta.server) { @@ -108,15 +100,20 @@ const { ) //copy README file as Markdown -const { copied: copiedReadme, copy: copyReadme } = useClipboardAsync( - async () => { +const { + copied: copiedReadme, + copy, + copyPending: copyReadmePending, +} = useClipboard({ + copiedDuring: 2000, +}) + +function copyReadme() { + copy(async () => { await fetchReadmeMarkdown() return readmeMarkdownData.value?.markdown ?? '' - }, - { - copiedDuring: 2000, - }, -) + }) +} function prefetchReadmeMarkdown() { if (readmeMarkdownStatus.value === 'idle') { @@ -1040,7 +1037,11 @@ const showSkeleton = shallowRef(false) " :classicon="copiedReadme ? 'i-lucide:check' : 'i-simple-icons:markdown'" > - {{ copiedReadme ? $t('common.copied') : $t('common.copy') }} + {{ copiedReadme ? $t('common.copied') : $t('common.copy') }} + a + b, 0) @@ -451,6 +452,37 @@ export type FacetBarChartConfig = VueUiHorizontalBarConfig & { $t: TrendTranslateFunction } +export type TimelineSizeCacheValue = { + totalSize: number + dependencyCount: number +} + +export type ConvertedTimelineSizeCacheEntry = TimelineSizeCacheValue & { + name: string +} + +export type EnrichedTimelineSizeCacheEntry = ConvertedTimelineSizeCacheEntry & { + version: string + time?: string + license?: string + type?: string + hasTypes?: boolean + hasTrustedPublisher?: boolean + hasProvenance?: boolean + tags: string[] + events: SubEvent[] + hasPositive: boolean + hasNegative: boolean +} + +export type TimelineChartConfig = VueUiXyConfig & { + metric: 'totalSize' | 'dependencyCount' + packageName: string + copy: (text: string) => Promise + $t: TrendTranslateFunction + numberFormatter: (value: number) => string +} + // Used for TrendsChart.vue export function createAltTextForTrendLineChart({ dataset, @@ -705,6 +737,68 @@ export async function copyAltTextForCompareScatterChart({ await config.copy(altText) } +// Used for TimelineChart.vue +export function createAltTextForTimelineChart({ + dataset, + config, +}: AltCopyArgs) { + if (!dataset) return '' + const metric = + config.metric === 'totalSize' + ? config.$t('package.stats.install_size') + : config.$t('compare.dependencies') + const withEvents = dataset.filter(d => d.events.length) + const first = dataset[0] + const last = dataset.at(-1) + + if (!first || !last) return '' + + const firstValue = config.metric === 'totalSize' ? first?.totalSize : first?.dependencyCount + const lastValue = config.metric === 'totalSize' ? last?.totalSize : last?.dependencyCount + const baseline = firstValue ?? 0 + const current = lastValue ?? baseline + const overall_progress_percentage = + baseline > 0 ? Math.round(((current - baseline) / baseline) * 100) : 0 + + const version_events = withEvents + .map(item => + config.$t('package.timeline.chart.copy_alt.version_events', { + version: item.version, + // eslint-disable-next-line @intlify/vue-i18n/no-dynamic-keys + events: item.events.map(e => config.$t(e.text).toLocaleLowerCase()).join(', '), + }), + ) + .join('; ') + + const key_changes = !withEvents.length + ? '' + : config.$t('package.timeline.chart.copy_alt.key_changes', { + version_events, + }) + + const altText = config.$t('package.timeline.chart.copy_alt.general_description', { + metric: metric.toLocaleLowerCase(), + package: config.packageName, + first: first?.version ?? '', + last: last?.version ?? '', + first_value: config.numberFormatter(firstValue ?? 0), + last_value: config.numberFormatter(lastValue ?? 0), + overall_progress_percentage, + key_changes, + watermark: config.$t('package.trends.copy_alt.watermark'), + }) + + return altText +} + +export async function copyAltTextForTimelineChart({ + dataset, + config, +}: AltCopyArgs) { + const altText = createAltTextForTimelineChart({ dataset, config }) + await config.copy(altText) +} + // Used in chart context menu callbacks // @todo replace with downloadFileLink export function loadFile(link: string, filename: string) { diff --git a/app/utils/download-anomalies.data.ts b/app/utils/download-anomalies.data.ts index 3cb23fb858..55fdafe989 100644 --- a/app/utils/download-anomalies.data.ts +++ b/app/utils/download-anomalies.data.ts @@ -22,6 +22,11 @@ export const DOWNLOAD_ANOMALIES: DownloadAnomaly[] = [ start: { date: '2023-11-18', weeklyDownloads: 59_611 }, end: { date: '2023-11-21', weeklyDownloads: 150_680 }, }, + { + packageName: 'solid-js', + start: { date: '2024-12-22', weeklyDownloads: 21_395 }, + end: { date: '2024-12-24', weeklyDownloads: 28_308 }, + }, /** * NOTE: * - please add new entries above this comment. diff --git a/app/utils/frameworks.ts b/app/utils/frameworks.ts index 5e5d94f982..349014383e 100644 --- a/app/utils/frameworks.ts +++ b/app/utils/frameworks.ts @@ -31,6 +31,11 @@ export const SHOWCASED_FRAMEWORKS = [ package: 'vite', color: 'oklch(0.7484 0.1439 294.03)', }, + { + name: 'vitest', + package: 'vitest', + color: 'oklch(0.8751 0.2422 148.74)', + }, { name: 'next', package: 'next', diff --git a/docs/package.json b/docs/package.json index 1f5a540649..1e4bd0e744 100644 --- a/docs/package.json +++ b/docs/package.json @@ -23,7 +23,7 @@ "@nuxtjs/mdc": "0.20.2", "better-sqlite3": "12.8.0", "docus": "5.8.1", - "nuxt": "4.4.2", + "nuxt": "4.4.4", "tailwindcss": "4.2.2" } } diff --git a/i18n/locales/en.json b/i18n/locales/en.json index 6851ed5511..5cf61d60a3 100644 --- a/i18n/locales/en.json +++ b/i18n/locales/en.json @@ -317,6 +317,7 @@ "warnings": "Warnings:", "go_back_home": "Go back home", "per_week": "/ week", + "per_week_short": "/wk", "vanity_downloads_hint": "Vanity number: no packages displayed | Vanity number: for the displayed package | Vanity number: Sum of {count} displayed packages", "sort": { "name": "name", @@ -451,7 +452,10 @@ }, "likes": { "like": "Like this package", - "unlike": "Unlike this package" + "unlike": "Unlike this package", + "top_rank_tooltip": "This is among the top 10 most liked packages on npmx! (#{rank})", + "top_rank_label": "#{rank}", + "top_rank_link_label": "View likes leaderboard. This package is ranked #{rank}." }, "docs": { "contents": "Contents", @@ -587,7 +591,18 @@ "trusted_publisher_added": "Trusted publishing enabled", "trusted_publisher_removed": "Trusted publishing removed", "provenance_added": "Provenance enabled", - "provenance_removed": "Provenance removed" + "provenance_removed": "Provenance removed", + "chart": { + "tab_aria_label": "Metric selection", + "base_scale": "start y-axis at zero", + "zoom": "zoom", + "reset_minimap": "reset minimap", + "copy_alt": { + "key_changes": "Key changes: {version_events}.", + "version_events": "version {version}: {events}", + "general_description": "Line chart showing the {metric} of the {package} package, from version {first} to {last}. The {metric} in version {first} is {first_value}, in version {last} is {last_value} ({overall_progress_percentage}% overall). {key_changes} {watermark}." + } + } }, "dependencies": { "title": "Dependency ({count}) | Dependencies ({count})", @@ -791,6 +806,16 @@ "tarball": "Download Tarball as .tar.gz" } }, + "leaderboard": { + "likes": { + "title": "Likes Leaderboard", + "description": "The 10 most liked packages on npmx right now.", + "rank": "Rank", + "likes": "Likes", + "unavailable_title": "No likes leaderboard yet", + "unavailable_description": "We don't have a likes leaderboard to show right now." + } + }, "connector": { "modal": { "title": "Local Connector", diff --git a/i18n/locales/fr-FR.json b/i18n/locales/fr-FR.json index 0e40fa415b..ef6b16f298 100644 --- a/i18n/locales/fr-FR.json +++ b/i18n/locales/fr-FR.json @@ -314,6 +314,7 @@ "warnings": "Avertissements :", "go_back_home": "Retour à l'accueil", "per_week": "/ semaine", + "per_week_short": "/sem", "vanity_downloads_hint": "Métrique de vanité : aucun paquet affiché | Métrique de vanité : pour le paquet affiché | Métrique de vanité : somme des {count} paquets affichés", "sort": { "name": "nom", @@ -439,7 +440,10 @@ }, "likes": { "like": "Liker ce paquet", - "unlike": "Retirer le like" + "unlike": "Retirer le like", + "top_rank_tooltip": "Ce paquet figure parmi les 10 ayant le plus de likes sur npmx (n°{rank})", + "top_rank_label": "n°{rank}", + "top_rank_link_label": "Voir le classement des likes. Ce paquet est classé n°{rank}." }, "docs": { "contents": "Sommaire", @@ -575,7 +579,18 @@ "trusted_publisher_added": "Vérification ajoutée", "trusted_publisher_removed": "Vérification enlevée", "provenance_added": "Preuve de provenance ajoutée", - "provenance_removed": "Preuve de provenance enlevée" + "provenance_removed": "Preuve de provenance enlevée", + "chart": { + "tab_aria_label": "Sélection de métrique", + "base_scale": "positionner les ordonnées à zéro", + "zoom": "zoom", + "reset_minimap": "Réinitialiser la mini-carte", + "copy_alt": { + "key_changes": "Principaux changements: {version_events}", + "version_events": "version {version}: {events}", + "general_description": "Graphique en ligne montrant la métrique {metric} pour le paquet {package}, depuis la version {first} à {last}. La valeur de la métrique {metric} pour la version {first} est {first_value}, et {last_value} pour la version {last} ({overall_progress_percentage}% dans l'ensemble). {key_changes} {watermark}." + } + } }, "dependencies": { "title": "Dépendances ({count})", @@ -779,6 +794,16 @@ "tarball": "Télécharger le tarball au format .tar.gz" } }, + "leaderboard": { + "likes": { + "title": "Classement des likes", + "description": "Les 10 paquets les plus likés sur npmx en ce moment.", + "rank": "Rang", + "likes": "Likes", + "unavailable_title": "Pas encore de classement des likes", + "unavailable_description": "Nous n'avons pas encore de classement des likes à afficher." + } + }, "connector": { "modal": { "title": "Connecteur local", diff --git a/i18n/locales/nb-NO.json b/i18n/locales/nb-NO.json index 1d6351607a..63b84714fa 100644 --- a/i18n/locales/nb-NO.json +++ b/i18n/locales/nb-NO.json @@ -20,7 +20,10 @@ "chat": "chat", "builders_chat": "utviklere", "keyboard_shortcuts": "tastatursnarveier", - "brand": "merkevare" + "brand": "merkevare", + "resources": "Ressurser", + "features": "Funksjoner", + "other": "Annet" }, "shortcuts": { "section": { @@ -42,7 +45,8 @@ "open_docs": "Åpne dokumentasjon", "disable_shortcuts": "Du kan deaktivere tastatursnarveier i {settings}.", "open_main": "Åpne hovedinformasjon", - "open_diff": "Åpne versjonsforskjeller" + "open_diff": "Åpne versjonsforskjeller", + "open_timeline": "Åpne tidslinje" }, "search": { "label": "Søk etter npm-pakker", @@ -280,7 +284,8 @@ "black": "Svart" }, "keyboard_shortcuts_enabled": "Aktiver tastatursnarveier", - "keyboard_shortcuts_enabled_description": "Tastatursnarveier kan deaktiveres hvis de er i konflikt med andre nettleser- eller systemsnarveier" + "keyboard_shortcuts_enabled_description": "Tastatursnarveier kan deaktiveres hvis de er i konflikt med andre nettleser- eller systemsnarveier", + "enable_code_ligatures": "Aktiver ligaturer i kode" }, "i18n": { "missing_keys": "{count} manglende oversettelse | {count} manglende oversettelser", @@ -312,6 +317,7 @@ "warnings": "Advarsler:", "go_back_home": "Gå tilbake til start", "per_week": "/ uke", + "per_week_short": "/u", "vanity_downloads_hint": "Visningstall: ingen pakker vist | Visningstall: for den viste pakken | Visningstall: Sum av {count} viste pakker", "sort": { "name": "navn", @@ -379,9 +385,18 @@ "size": "Installasjonsstørrelse økt med {percent} ({size} større)", "deps": "{count} flere avhengigheter" }, + "size_decrease": { + "title_size": "Pakkestørrelsen har minket siden v{version}!", + "title_deps": "Antall avhengigheter har minket siden v{version}!", + "title_both": "Pakkestørrelse og antall avhengigheter har minket siden v{version}!", + "size": "Installasjonsstørrelse redusert med {percent} ({size} mindre)", + "deps": "{count} færre avhengigheter" + }, "replacement": { "title": "Du trenger kanskje ikke denne avhengigheten.", + "example": "Eksempel:", "native": "Denne kan erstattes med {replacement}, tilgjengelig siden Node {nodeVersion}.", + "native_no_version": "Denne pakken kan erstattes med {replacement}.", "simple": "{community} har flagget denne pakken som overflødig, med rådet: {replacement}.", "documented": "{community} har flagget denne pakken da det finnes alternativer med bedre ytelse.", "none": "Denne pakken er flagget som ikke lenger nødvendig, og funksjonaliteten er sannsynligvis tilgjengelig innebygd i alle motorer.", @@ -432,11 +447,15 @@ "docs": "dok", "fund": "støtt", "compare": "sammenlign", + "timeline": "tidslinje", "compare_this_package": "sammenlign denne pakken" }, "likes": { "like": "Lik denne pakken", - "unlike": "Fjern like fra denne pakken" + "unlike": "Fjern like fra denne pakken", + "top_rank_tooltip": "Dette er blant de 10 mest likte pakkene på npmx! (#{rank})", + "top_rank_label": "#{rank}", + "top_rank_link_label": "Vis likes-rangeringen. Denne pakken er rangert som #{rank}." }, "docs": { "contents": "Innhold", @@ -477,7 +496,8 @@ "warning": "Advarsel", "caution": "Forsiktig" }, - "copy_as_markdown": "Kopier README som Markdown" + "copy_as_markdown": "Kopier README som Markdown", + "error_loading": "Kunne ikke laste README-detaljer" }, "provenance_section": { "title": "Opprinnelse", @@ -556,6 +576,23 @@ "current_tags": "Nåværende tagger", "no_match_filter": "Ingen versjoner matcher {filter}" }, + "timeline": { + "load_more": "Last flere", + "load_error": "Kunne ikke laste tidslinje. Prøv igjen senere.", + "size_increase": "Installasjonsstørrelse økt med {percent}% ({size})", + "size_decrease": "Installasjonsstørrelse minket med {percent}% ({size})", + "dep_increase": "{count} avhengigheter lagt til", + "dep_decrease": "{count} avhengigheter fjernet", + "license_change": "Lisens endret fra {from} til {to}", + "esm_added": "Modultype endret til ESM", + "esm_removed": "Modultype endret fra ESM til CJS", + "types_added": "TypeScript-typer lagt til", + "types_removed": "TypeScript-typer fjernet", + "trusted_publisher_added": "Pålitelig publisering aktivert", + "trusted_publisher_removed": "Pålitelig publisering fjernet", + "provenance_added": "Opprinnelse aktivert", + "provenance_removed": "Opprinnelse fjernet" + }, "dependencies": { "title": "Avhengighet ({count}) | Avhengigheter ({count})", "list_label": "Pakkeavhengigheter", @@ -758,6 +795,16 @@ "tarball": "Last ned tarball som .tar.gz" } }, + "leaderboard": { + "likes": { + "title": "Likes-rangering", + "description": "De 10 mest likte pakkene på npmx akkurat nå.", + "rank": "Rangering", + "likes": "Likes", + "unavailable_title": "Ingen likes-rangering ennå", + "unavailable_description": "Vi har ingen likes-rangering å vise akkurat nå." + } + }, "connector": { "modal": { "title": "Lokal Connector", @@ -1235,6 +1282,17 @@ "packages_selected": "{count}/{max} pakker valgt.", "add_hint": "Legg til minst 2 pakker for å sammenligne." }, + "scatter_chart": { + "title": "Sammenlign {x} vs {y}", + "freshness_score": "Ferskhetspoeng", + "copy_alt": { + "analysis": "{package} : {x_name} ({x_value}) og {y_name} ({y_value})", + "description": "Punktdiagram som viser {x_name} mot {y_name} for {packages} pakker. {analysis}. {watermark}" + }, + "filename": "{x}-vs-{y}-punktdiagram", + "x_axis": "X-AKSE ↦", + "y_axis": "Y-AKSE ↥" + }, "no_dependency": { "label": "(Ingen avhengighet)", "typeahead_title": "Hva ville James gjort?", @@ -1313,6 +1371,18 @@ "vulnerabilities": { "label": "Sårbarheter", "description": "Kjente sikkerhetssårbarheter" + }, + "githubStars": { + "label": "GitHub-stjerner", + "description": "Antall stjerner på GitHub-repositoriet" + }, + "githubIssues": { + "label": "GitHub-saker", + "description": "Antall saker på GitHub-repositoriet" + }, + "createdAt": { + "label": "Opprettet", + "description": "Når pakken ble opprettet" } }, "values": { diff --git a/i18n/locales/pt-PT.json b/i18n/locales/pt-PT.json index 575c4a803d..8540dec556 100644 --- a/i18n/locales/pt-PT.json +++ b/i18n/locales/pt-PT.json @@ -317,6 +317,7 @@ "warnings": "Avisos:", "go_back_home": "Voltar para a página inicial", "per_week": "/ semana", + "per_week_short": "/sem", "vanity_downloads_hint": "Número de vaidade: nenhum pacote apresentado | Número de vaidade: para o pacote apresentado | Número de vaidade: Soma de {count} pacotes apresentados", "sort": { "name": "nome", @@ -451,7 +452,10 @@ }, "likes": { "like": "Gostar deste pacote", - "unlike": "Remover gosto deste pacote" + "unlike": "Remover gosto deste pacote", + "top_rank_tooltip": "Este está entre os 10 pacotes com mais gostos no npmx! (#{rank})", + "top_rank_label": "#{rank}", + "top_rank_link_label": "Ver tabela de classificação de gostos. Este pacote está em #{rank}." }, "docs": { "contents": "Conteúdo", @@ -791,6 +795,16 @@ "tarball": "Transferir Tarball como .tar.gz" } }, + "leaderboard": { + "likes": { + "title": "Tabela de Classificação de Gostos", + "description": "Os 10 pacotes com mais gostos no npmx neste momento.", + "rank": "Classificação", + "likes": "Gostos", + "unavailable_title": "Ainda não há tabela de classificação de gostos", + "unavailable_description": "Não temos uma tabela de classificação de gostos para mostrar neste momento." + } + }, "connector": { "modal": { "title": "Conector Local", diff --git a/i18n/schema.json b/i18n/schema.json index 7b6a3b3945..31b662ee58 100644 --- a/i18n/schema.json +++ b/i18n/schema.json @@ -955,6 +955,9 @@ "per_week": { "type": "string" }, + "per_week_short": { + "type": "string" + }, "vanity_downloads_hint": { "type": "string" }, @@ -1359,6 +1362,15 @@ }, "unlike": { "type": "string" + }, + "top_rank_tooltip": { + "type": "string" + }, + "top_rank_label": { + "type": "string" + }, + "top_rank_link_label": { + "type": "string" } }, "additionalProperties": false @@ -1767,6 +1779,39 @@ }, "provenance_removed": { "type": "string" + }, + "chart": { + "type": "object", + "properties": { + "tab_aria_label": { + "type": "string" + }, + "base_scale": { + "type": "string" + }, + "zoom": { + "type": "string" + }, + "reset_minimap": { + "type": "string" + }, + "copy_alt": { + "type": "object", + "properties": { + "key_changes": { + "type": "string" + }, + "version_events": { + "type": "string" + }, + "general_description": { + "type": "string" + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false } }, "additionalProperties": false @@ -2377,6 +2422,36 @@ }, "additionalProperties": false }, + "leaderboard": { + "type": "object", + "properties": { + "likes": { + "type": "object", + "properties": { + "title": { + "type": "string" + }, + "description": { + "type": "string" + }, + "rank": { + "type": "string" + }, + "likes": { + "type": "string" + }, + "unavailable_title": { + "type": "string" + }, + "unavailable_description": { + "type": "string" + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false + }, "connector": { "type": "object", "properties": { diff --git a/lunaria/lunaria.ts b/lunaria/lunaria.ts index 249d364461..c173aead38 100644 --- a/lunaria/lunaria.ts +++ b/lunaria/lunaria.ts @@ -1,3 +1,4 @@ +import process from 'node:process' import { createLunaria } from '@lunariajs/core' import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs' import { Page } from './components.ts' diff --git a/modules/build-env.ts b/modules/build-env.ts index ab3714d90a..7097902bd2 100644 --- a/modules/build-env.ts +++ b/modules/build-env.ts @@ -1,3 +1,4 @@ +import process from 'node:process' import type { BuildInfo, EnvType } from '../shared/types' import { createResolver, defineNuxtModule } from 'nuxt/kit' import { isCI } from 'std-env' diff --git a/modules/runtime/server/cache.ts b/modules/runtime/server/cache.ts index 0ecd2f40d5..b00279266f 100644 --- a/modules/runtime/server/cache.ts +++ b/modules/runtime/server/cache.ts @@ -863,6 +863,9 @@ export default defineNitroPlugin(nitroApp => { const original$fetch = globalThis.$fetch // Override native fetch for esm.sh requests and to inject test fixture responses + // @ts-expect-error @atcute/tid depends on @atcute/time-ms@1.2.2 which depends on @types/bun causing this type conflict. + // they fixed this in @atcute/time-ms@^1.3.0 but the tid package needs an update. Doing a ts-expect-error rather than an override + // so we remember to remove this when the tid package updates globalThis.fetch = async (input: URL | RequestInfo, init?: RequestInit): Promise => { const urlStr = typeof input === 'string' ? input : input instanceof URL ? input.toString() : input.url diff --git a/modules/security-headers.ts b/modules/security-headers.ts index f32c838c48..8c811446b1 100644 --- a/modules/security-headers.ts +++ b/modules/security-headers.ts @@ -1,3 +1,4 @@ +import process from 'node:process' import { defineNuxtModule, useNuxt } from 'nuxt/kit' import { BLUESKY_API } from '#shared/utils/constants' import { ALL_KNOWN_GIT_API_ORIGINS } from '#shared/utils/git-providers' diff --git a/nuxt.config.ts b/nuxt.config.ts index 1effa4453f..13b4bbeb4a 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -6,6 +6,7 @@ const isStorybook = process.env.STORYBOOK === 'true' || process.env.VITEST_STORY export default defineNuxtConfig({ modules: [ + '@vercel/speed-insights', '@unocss/nuxt', 'nuxt-og-image', '@nuxtjs/html-validator', @@ -143,6 +144,7 @@ export default defineNuxtConfig({ // never cache '/api/auth/**': { isr: false, cache: false }, '/api/social/**': { isr: false, cache: false }, + '/api/leaderboard/likes': { isr: false, cache: false }, '/api/atproto/bluesky-comments': { isr: { expiration: 60 * 60 /* one hour */, @@ -167,6 +169,7 @@ export default defineNuxtConfig({ }, }, // pages + '/leaderboard/likes': getISRConfig(900), '/package/**': getISRConfig(300, { fallback: 'html' }), '/package/:name/_payload.json': getISRConfig(300, { fallback: 'json' }), '/package/:name/v/:version/_payload.json': getISRConfig(300, { fallback: 'json' }), diff --git a/package.json b/package.json index 27ed81df86..a03bfcef60 100644 --- a/package.json +++ b/package.json @@ -58,7 +58,7 @@ "@iconify-json/vscode-icons": "1.2.45", "@intlify/shared": "11.3.0", "@lunariajs/core": "https://pkg.pr.new/lunariajs/lunaria/@lunariajs/core@904b935", - "@napi-rs/canvas": "0.1.97", + "@napi-rs/canvas": "1.0.0", "@nuxt/a11y": "1.0.0-alpha.1", "@nuxt/fonts": "0.14.0", "@nuxt/scripts": "1.0.1", @@ -74,9 +74,10 @@ "@unocss/nuxt": "66.6.7", "@unocss/preset-wind4": "66.6.7", "@upstash/redis": "1.37.0", + "@vercel/speed-insights": "2.0.0", "@vite-pwa/assets-generator": "1.0.2", "@vite-pwa/nuxt": "1.1.1", - "@vueuse/core": "14.2.1", + "@vueuse/core": "14.3.0", "@vueuse/integrations": "14.2.1", "@vueuse/nuxt": "14.2.1", "@vueuse/router": "^14.2.1", @@ -90,7 +91,7 @@ "ipaddr.js": "2.3.0", "marked": "18.0.0", "module-replacements": "3.0.0-beta.7", - "nuxt": "4.4.2", + "nuxt": "4.4.4", "nuxt-og-image": "^6.4.3", "ofetch": "1.5.1", "ohash": "2.0.11", @@ -108,12 +109,12 @@ "virtua": "0.48.8", "vite-plugin-pwa": "1.2.0", "vite-plus": "0.1.16", - "vue": "3.5.33", - "vue-data-ui": "3.18.2", + "vue": "3.5.34", + "vue-data-ui": "3.19.4", "vue-router": "5.0.4" }, "devDependencies": { - "@e18e/eslint-plugin": "0.3.0", + "@e18e/eslint-plugin": "0.4.1", "@intlify/core-base": "11.3.0", "@npm/types": "2.1.0", "@playwright/test": "1.58.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ce31753f13..3025ec45fb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,7 +12,7 @@ catalogs: version: 2.13.3 storybook: '@storybook-vue/nuxt': - specifier: 9.0.1 + specifier: https://pkg.pr.new/@storybook-vue/nuxt@1021 version: 9.0.1 '@storybook/addon-a11y': specifier: ^10.3.5 @@ -26,6 +26,9 @@ catalogs: msw-storybook-addon: specifier: ^2.0.7 version: 2.0.7 + storybook: + specifier: ^10.3.1 + version: 10.3.5 storybook-i18n: specifier: ^10.1.1 version: 10.1.1 @@ -34,7 +37,6 @@ overrides: '@types/node': 24.12.0 nuxt-og-image: ^6.4.3 sharp: 0.34.5 - storybook: ^10.3.1 vite: npm:@voidzero-dev/vite-plus-core@0.1.16 vitest: npm:@voidzero-dev/vite-plus-test@0.1.16 vue-router: 5.0.4 @@ -76,7 +78,7 @@ importers: version: '@jsr/deno__doc@0.189.1(patch_hash=24f326e123c822a07976329a5afe91a8713e82d53134b5586625b72431c87832)' '@floating-ui/vue': specifier: 1.1.11 - version: 1.1.11(vue@3.5.33) + version: 1.1.11(vue@3.5.34) '@iconify-json/lucide': specifier: 1.2.98 version: 1.2.98 @@ -96,17 +98,17 @@ importers: specifier: https://pkg.pr.new/lunariajs/lunaria/@lunariajs/core@904b935 version: https://pkg.pr.new/lunariajs/lunaria/@lunariajs/core@904b935 '@napi-rs/canvas': - specifier: 0.1.97 - version: 0.1.97 + specifier: 1.0.0 + version: 1.0.0 '@nuxt/a11y': specifier: 1.0.0-alpha.1 version: 1.0.0-alpha.1(magicast@0.5.2)(vite@8.0.0) '@nuxt/fonts': specifier: 0.14.0 - version: 0.14.0(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.9.2)(magicast@0.5.2)(vite@8.0.0) + version: 0.14.0(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.10.1)(magicast@0.5.2)(vite@8.0.0) '@nuxt/scripts': specifier: 1.0.1 - version: 1.0.1(@unhead/vue@2.1.12)(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.9.2)(magicast@0.5.2)(typescript@6.0.2)(vite@8.0.0)(vue@3.5.33) + version: 1.0.1(@unhead/vue@2.1.13)(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.10.1)(magicast@0.5.2)(typescript@6.0.2)(vite@8.0.0)(vue@3.5.34) '@nuxt/test-utils': specifier: 4.0.3 version: 4.0.3(patch_hash=8438d6588e19230d3392ce53e45dd8e9bff54eaa3ce18092602fefd40c2eefe9)(@playwright/test@1.58.2)(@voidzero-dev/vite-plus-test@0.1.16)(@vue/test-utils@2.4.6)(happy-dom@20.3.5)(jsdom@27.4.0)(magicast@0.5.2)(playwright-core@1.58.2)(typescript@6.0.2)(vite@8.0.0) @@ -118,7 +120,7 @@ importers: version: 2.1.0(@voidzero-dev/vite-plus-test@0.1.16)(magicast@0.5.2) '@nuxtjs/i18n': specifier: 10.2.4 - version: 10.2.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@upstash/redis@1.37.0)(@vue/compiler-dom@3.5.33)(db0@0.3.4)(eslint@9.39.2)(ioredis@5.9.2)(magicast@0.5.2)(rollup@4.56.0)(typescript@6.0.2)(vue@3.5.33) + version: 10.2.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@upstash/redis@1.37.0)(@vue/compiler-dom@3.5.34)(db0@0.3.4)(eslint@9.39.2)(ioredis@5.10.1)(magicast@0.5.2)(rollup@4.60.3)(typescript@6.0.2)(vue@3.5.34) '@shikijs/langs': specifier: 4.0.2 version: 4.0.2 @@ -136,13 +138,16 @@ importers: version: 1.0.9(react-dom@19.2.4)(react@19.2.4) '@unocss/nuxt': specifier: 66.6.7 - version: 66.6.7(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(magicast@0.5.2)(vite@8.0.0)(webpack@5.104.1) + version: 66.6.7(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(magicast@0.5.2)(vite@8.0.0)(webpack@5.104.1) '@unocss/preset-wind4': specifier: 66.6.7 version: 66.6.7 '@upstash/redis': specifier: 1.37.0 version: 1.37.0 + '@vercel/speed-insights': + specifier: 2.0.0 + version: 2.0.0(nuxt@4.4.4)(react@19.2.4)(vue-router@5.0.4)(vue@3.5.34) '@vite-pwa/assets-generator': specifier: 1.0.2 version: 1.0.2 @@ -150,20 +155,20 @@ importers: specifier: 1.1.1 version: 1.1.1(@vite-pwa/assets-generator@1.0.2)(magicast@0.5.2)(vite@8.0.0)(workbox-build@7.4.0)(workbox-window@7.4.0) '@vueuse/core': - specifier: 14.2.1 - version: 14.2.1(vue@3.5.33) + specifier: 14.3.0 + version: 14.3.0(vue@3.5.34) '@vueuse/integrations': specifier: 14.2.1 - version: 14.2.1(focus-trap@8.0.0)(fuse.js@7.1.0)(vue@3.5.33) + version: 14.2.1(focus-trap@8.0.0)(fuse.js@7.3.0)(vue@3.5.34) '@vueuse/nuxt': specifier: 14.2.1 - version: 14.2.1(magicast@0.5.2)(nuxt@4.4.2)(vue@3.5.33) + version: 14.2.1(magicast@0.5.2)(nuxt@4.4.4)(vue@3.5.34) '@vueuse/router': specifier: ^14.2.1 - version: 14.2.1(vue-router@5.0.4)(vue@3.5.33) + version: 14.2.1(vue-router@5.0.4)(vue@3.5.34) '@vueuse/shared': specifier: 14.2.1 - version: 14.2.1(vue@3.5.33) + version: 14.2.1(vue@3.5.34) algoliasearch: specifier: 5.49.2 version: 5.49.2 @@ -192,11 +197,11 @@ importers: specifier: 3.0.0-beta.7 version: 3.0.0-beta.7 nuxt: - specifier: 4.4.2 - version: 4.4.2(@babel/core@7.29.0)(@babel/plugin-syntax-jsx@7.28.6)(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@parcel/watcher@2.5.4)(@types/node@24.12.0)(@upstash/redis@1.37.0)(@vue/compiler-sfc@3.5.33)(better-sqlite3@12.8.0)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(esbuild@0.27.3)(eslint@9.39.2)(ioredis@5.9.2)(magicast@0.5.2)(optionator@0.9.4)(oxlint@1.58.0)(rolldown@1.0.0-rc.16)(rollup-plugin-visualizer@6.0.5)(rollup@4.56.0)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(vue-tsc@3.2.6)(yaml@2.8.2) + specifier: 4.4.4 + version: 4.4.4(@babel/core@7.29.0)(@babel/plugin-syntax-jsx@7.28.6)(@parcel/watcher@2.5.6)(@types/node@24.12.0)(@upstash/redis@1.37.0)(@vue/compiler-sfc@3.5.34)(better-sqlite3@12.8.0)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(eslint@9.39.2)(ioredis@5.10.1)(magicast@0.5.2)(optionator@0.9.4)(oxlint@1.61.0)(rolldown@1.0.0-rc.16)(rollup-plugin-visualizer@7.0.1)(rollup@4.60.3)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(vue-tsc@3.2.6)(yaml@2.8.2) nuxt-og-image: specifier: ^6.4.3 - version: 6.4.3(@nuxt/schema@4.4.2)(@resvg/resvg-js@2.6.2)(@resvg/resvg-wasm@2.6.2)(@takumi-rs/core@1.0.9)(@takumi-rs/wasm@1.0.9)(@unhead/vue@2.1.12)(fontless@0.2.1)(nuxt@4.4.2)(playwright-core@1.58.2)(satori@0.19.2)(sharp@0.34.5)(tailwindcss@4.2.2)(unifont@0.7.4)(unstorage@1.17.5)(vite@8.0.0)(vue@3.5.33)(zod@4.3.6) + version: 6.4.3(@nuxt/schema@4.4.4)(@resvg/resvg-js@2.6.2)(@resvg/resvg-wasm@2.6.2)(@takumi-rs/core@1.0.9)(@takumi-rs/wasm@1.0.9)(@unhead/vue@2.1.13)(fontless@0.2.1)(nuxt@4.4.4)(playwright-core@1.58.2)(satori@0.19.2)(sharp@0.34.5)(tailwindcss@4.2.2)(unifont@0.7.4)(unstorage@1.17.5)(vite@8.0.0)(vue@3.5.34)(zod@4.3.6) ofetch: specifier: 1.5.1 version: 1.5.1 @@ -229,7 +234,7 @@ importers: version: 1.6.3 unocss: specifier: 66.6.7 - version: 66.6.7(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@unocss/webpack@66.6.7)(vite@8.0.0) + version: 66.6.7(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@unocss/webpack@66.6.7)(vite@8.0.0) valibot: specifier: 1.3.0 version: 1.3.0(typescript@6.0.2) @@ -238,26 +243,26 @@ importers: version: 7.0.2 virtua: specifier: 0.48.8 - version: 0.48.8(react-dom@19.2.4)(react@19.2.4)(vue@3.5.33) + version: 0.48.8(react-dom@19.2.4)(react@19.2.4)(vue@3.5.34) vite-plugin-pwa: specifier: 1.2.0 version: 1.2.0(@vite-pwa/assets-generator@1.0.2)(vite@8.0.0)(workbox-build@7.4.0)(workbox-window@7.4.0) vite-plus: specifier: 0.1.16 - version: 0.1.16(@opentelemetry/api@1.9.0)(@types/node@24.12.0)(esbuild@0.27.3)(happy-dom@20.3.5)(jiti@2.6.1)(jsdom@27.4.0)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(yaml@2.8.2) + version: 0.1.16(@opentelemetry/api@1.9.0)(@types/node@24.12.0)(happy-dom@20.3.5)(jiti@2.6.1)(jsdom@27.4.0)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(yaml@2.8.2) vue: - specifier: 3.5.33 - version: 3.5.33(typescript@6.0.2) + specifier: 3.5.34 + version: 3.5.34(typescript@6.0.2) vue-data-ui: - specifier: 3.18.2 - version: 3.18.2(vue@3.5.33) + specifier: 3.19.4 + version: 3.19.4(vue@3.5.34) vue-router: specifier: 5.0.4 - version: 5.0.4(@vue/compiler-sfc@3.5.33)(vue@3.5.33) + version: 5.0.4(@vue/compiler-sfc@3.5.34)(vue@3.5.34) devDependencies: '@e18e/eslint-plugin': - specifier: 0.3.0 - version: 0.3.0(eslint@9.39.2)(oxlint@1.58.0) + specifier: 0.4.1 + version: 0.4.1(eslint@9.39.2)(oxlint@1.61.0) '@intlify/core-base': specifier: 11.3.0 version: 11.3.0 @@ -269,13 +274,13 @@ importers: version: 1.58.2 '@storybook-vue/nuxt': specifier: catalog:storybook - version: 9.0.1(@types/node@24.12.0)(@vue/compiler-sfc@3.5.33)(eslint@9.39.2)(magicast@0.5.2)(nuxt@4.4.2)(optionator@0.9.4)(oxlint@1.58.0)(rolldown@1.0.0-rc.16)(rollup@4.56.0)(storybook@10.3.5)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(vue-tsc@3.2.6)(vue@3.5.33)(yaml@2.8.2) + version: https://pkg.pr.new/@storybook-vue/nuxt@1021(@babel/plugin-syntax-jsx@7.28.6)(@types/node@24.12.0)(@vue/compiler-sfc@3.5.34)(eslint@9.39.2)(magicast@0.5.2)(nuxt@4.4.4)(optionator@0.9.4)(oxlint@1.61.0)(rolldown@1.0.0-rc.16)(rollup-plugin-visualizer@7.0.1)(rollup@4.60.3)(storybook@10.3.5)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(vue-tsc@3.2.6)(vue@3.5.34)(webpack@5.104.1)(yaml@2.8.2) '@storybook/addon-a11y': specifier: catalog:storybook version: 10.3.5(storybook@10.3.5) '@storybook/addon-docs': specifier: catalog:storybook - version: 10.3.5(@types/react@19.2.14)(esbuild@0.27.3)(rollup@4.56.0)(storybook@10.3.5)(vite@8.0.0)(webpack@5.104.1) + version: 10.3.5(@types/react@19.2.14)(rollup@4.60.3)(storybook@10.3.5)(vite@8.0.0)(webpack@5.104.1) '@storybook/addon-themes': specifier: catalog:storybook version: 10.3.5(storybook@10.3.5) @@ -323,7 +328,7 @@ importers: version: h3@2.0.1-rc.16 knip: specifier: 6.0.5 - version: 6.0.5(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + version: 6.0.5(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) markdown-it-anchor: specifier: 9.2.0 version: 9.2.0(@types/markdown-it@14.1.2)(markdown-it@14.1.1) @@ -337,7 +342,7 @@ importers: specifier: 2.0.0 version: 2.0.0(typescript@6.0.2) storybook: - specifier: ^10.3.1 + specifier: catalog:storybook version: 10.3.5(@testing-library/dom@10.4.1)(prettier@3.8.1)(react-dom@19.2.4)(react@19.2.4) storybook-i18n: specifier: catalog:storybook @@ -350,7 +355,7 @@ importers: version: 30.0.0(vite@8.0.0) vitest: specifier: npm:@voidzero-dev/vite-plus-test@0.1.16 - version: '@voidzero-dev/vite-plus-test@0.1.16(@opentelemetry/api@1.9.0)(@types/node@24.12.0)(esbuild@0.27.3)(happy-dom@20.3.5)(jiti@2.6.1)(jsdom@27.4.0)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(yaml@2.8.2)' + version: '@voidzero-dev/vite-plus-test@0.1.16(@opentelemetry/api@1.9.0)(@types/node@24.12.0)(happy-dom@20.3.5)(jiti@2.6.1)(jsdom@27.4.0)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(yaml@2.8.2)' vue-i18n-extract: specifier: 2.0.7 version: 2.0.7 @@ -393,7 +398,7 @@ importers: version: 4.0.2 tsdown: specifier: 0.21.4 - version: 0.21.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(oxc-resolver@11.19.1)(typescript@6.0.2)(vue-tsc@3.2.6) + version: 0.21.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(oxc-resolver@11.19.1)(typescript@6.0.2)(vue-tsc@3.2.6) typescript: specifier: 6.0.2 version: 6.0.2 @@ -402,7 +407,7 @@ importers: dependencies: '@nuxt/ui': specifier: 4.5.1 - version: 4.5.1(@nuxt/content@3.12.0)(@tiptap/extensions@3.20.0)(@tiptap/y-tiptap@3.0.2)(@upstash/redis@1.37.0)(db0@0.3.4)(embla-carousel@8.6.0)(focus-trap@8.0.0)(ioredis@5.9.2)(magicast@0.5.2)(react-dom@19.2.4)(react@19.2.4)(tailwindcss@4.2.2)(typescript@6.0.2)(valibot@1.3.1)(vite@8.0.0)(vue-router@5.0.4)(vue@3.5.33)(yjs@13.6.29)(zod@4.3.6) + version: 4.5.1(@nuxt/content@3.12.0)(@tiptap/extensions@3.20.0)(@tiptap/y-tiptap@3.0.2)(@upstash/redis@1.37.0)(db0@0.3.4)(embla-carousel@8.6.0)(focus-trap@8.0.0)(ioredis@5.10.1)(magicast@0.5.2)(react-dom@19.2.4)(react@19.2.4)(tailwindcss@4.2.2)(typescript@6.0.2)(valibot@1.3.1)(vite@8.0.0)(vue-router@5.0.4)(vue@3.5.34)(yjs@13.6.29)(zod@4.3.6) '@nuxtjs/mdc': specifier: 0.20.2 version: 0.20.2(magicast@0.5.2) @@ -411,10 +416,10 @@ importers: version: 12.8.0 docus: specifier: 5.8.1 - version: 5.8.1(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@nuxt/schema@4.4.2)(@resvg/resvg-js@2.6.2)(@resvg/resvg-wasm@2.6.2)(@takumi-rs/core@1.0.9)(@takumi-rs/wasm@1.0.9)(@tiptap/extensions@3.20.0)(@tiptap/y-tiptap@3.0.2)(@unhead/vue@2.1.12)(@upstash/redis@1.37.0)(@valibot/to-json-schema@1.5.0)(@vue/compiler-dom@3.5.33)(better-sqlite3@12.8.0)(db0@0.3.4)(embla-carousel@8.6.0)(eslint@9.39.2)(focus-trap@8.0.0)(fontless@0.2.1)(ioredis@5.9.2)(magicast@0.5.2)(nuxt@4.4.2)(playwright-core@1.58.2)(react-dom@19.2.4)(react@19.2.4)(rollup@4.56.0)(satori@0.19.2)(sharp@0.34.5)(typescript@6.0.2)(unifont@0.7.4)(unstorage@1.17.5)(valibot@1.3.1)(vite@8.0.0)(vue-router@5.0.4)(vue@3.5.33)(yjs@13.6.29) + version: 5.8.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@nuxt/schema@4.4.4)(@resvg/resvg-js@2.6.2)(@resvg/resvg-wasm@2.6.2)(@takumi-rs/core@1.0.9)(@takumi-rs/wasm@1.0.9)(@tiptap/extensions@3.20.0)(@tiptap/y-tiptap@3.0.2)(@unhead/vue@2.1.13)(@upstash/redis@1.37.0)(@valibot/to-json-schema@1.5.0)(@vue/compiler-dom@3.5.34)(better-sqlite3@12.8.0)(db0@0.3.4)(embla-carousel@8.6.0)(eslint@9.39.2)(focus-trap@8.0.0)(fontless@0.2.1)(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.4)(playwright-core@1.58.2)(react-dom@19.2.4)(react@19.2.4)(rollup@4.60.3)(satori@0.19.2)(sharp@0.34.5)(typescript@6.0.2)(unifont@0.7.4)(unstorage@1.17.5)(valibot@1.3.1)(vite@8.0.0)(vue-router@5.0.4)(vue@3.5.34)(yjs@13.6.29) nuxt: - specifier: 4.4.2 - version: 4.4.2(@babel/core@7.29.0)(@babel/plugin-syntax-jsx@7.28.6)(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@parcel/watcher@2.5.4)(@types/node@24.12.0)(@upstash/redis@1.37.0)(@vue/compiler-sfc@3.5.33)(better-sqlite3@12.8.0)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(esbuild@0.27.3)(eslint@9.39.2)(ioredis@5.9.2)(magicast@0.5.2)(optionator@0.9.4)(oxlint@1.58.0)(rolldown@1.0.0-rc.16)(rollup-plugin-visualizer@6.0.5)(rollup@4.56.0)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(vue-tsc@3.2.6)(yaml@2.8.2) + specifier: 4.4.4 + version: 4.4.4(@babel/core@7.29.0)(@babel/plugin-syntax-jsx@7.28.6)(@parcel/watcher@2.5.6)(@types/node@24.12.0)(@upstash/redis@1.37.0)(@vue/compiler-sfc@3.5.34)(better-sqlite3@12.8.0)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(eslint@9.39.2)(ioredis@5.10.1)(magicast@0.5.2)(optionator@0.9.4)(oxlint@1.61.0)(rolldown@1.0.0-rc.16)(rollup-plugin-visualizer@7.0.1)(rollup@4.60.3)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(vue-tsc@3.2.6)(yaml@2.8.2) tailwindcss: specifier: 4.2.2 version: 4.2.2 @@ -797,8 +802,8 @@ packages: resolution: {integrity: sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==} engines: {node: '>=6.9.0'} - '@babel/parser@7.29.2': - resolution: {integrity: sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==} + '@babel/parser@7.29.3': + resolution: {integrity: sha512-b3ctpQwp+PROvU/cttc4OYl4MzfJUWy6FZg+PMXfzmt/+39iHVF0sDfqay8TQM3JA2EUOyKcFZt75jWriQijsA==} engines: {node: '>=6.0.0'} hasBin: true @@ -1252,6 +1257,9 @@ packages: resolution: {integrity: sha512-SIOD2DxrRRwQ+jgzlXCqoEFiKOFqaPjhnNTGKXSRLvp1HiOvapLaFG2kEr9dYQTYe8rKrd9uvDUzmAITeNyaHQ==} engines: {node: '>=18.0.0'} + '@colordx/core@5.4.3': + resolution: {integrity: sha512-kIxYSfA5T8HXjav55UaaH/o/cKivF6jCCGIb8eqtcsfI46wsvlSiT8jMDyrl779qLec3c2c2oHBZo4oAhvbjrQ==} + '@csstools/color-helpers@6.0.2': resolution: {integrity: sha512-LMGQLS9EuADloEFkcTBR3BwV/CGHV7zyDxVRtVDTwdI2Ca4it0CCVTT9wCkxSgokjE5Ho41hEPgb8OEUwoXr6Q==} engines: {node: '>=20.19.0'} @@ -1283,28 +1291,37 @@ packages: resolution: {integrity: sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==} engines: {node: '>=20.19.0'} - '@dxup/nuxt@0.4.0': - resolution: {integrity: sha512-28LDotpr9G2knUse3cQYsOo6NJq5yhABv4ByRVRYJUmzf9Q31DI7rpRek4POlKy1aAcYyKgu5J2616pyqLohYg==} + '@dxup/nuxt@0.4.1': + resolution: {integrity: sha512-gtYffW6OfWNvoLW+XD3Mx/K8uUq08PMGLYJoDxc92EzZAWqR0FhcR5iaLm5r/OxyGTKz+P5f5Y7Aoir9+SjYaw==} peerDependencies: typescript: '*' + peerDependenciesMeta: + typescript: + optional: true '@dxup/unimport@0.1.2': resolution: {integrity: sha512-/B8YJGPzaYq1NbsQmwgP8EZqg40NpTw4ZB3suuI0TplbxKHeK94jeaawLmVhCv+YwUnOpiWEz9U6SeThku/8JQ==} - '@e18e/eslint-plugin@0.3.0': - resolution: {integrity: sha512-hHgfpxsrZ2UYHcicA+tGZnmk19uJTaye9VH79O+XS8R4ona2Hx3xjhXghclNW58uXMk3xXlbYEOMr8thsoBmWg==} + '@e18e/eslint-plugin@0.4.1': + resolution: {integrity: sha512-Re00N8ad1HsNrzpuIX7Bhdr8RSaFWp6VgwJUEJF+47+D1CMcXoS7VNRkIG23e46pddhgxWU0cWk4wYiQIuMHqQ==} peerDependencies: eslint: ^9.0.0 || ^10.0.0 - oxlint: ^1.55.0 + oxlint: ^1.61.0 peerDependenciesMeta: eslint: optional: true oxlint: optional: true + '@emnapi/core@1.10.0': + resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==} + '@emnapi/core@1.9.2': resolution: {integrity: sha512-UC+ZhH3XtczQYfOlu3lNEkdW/p4dsJ1r/bP7H8+rhao3TTTMO1ATq/4DdIi23XuGoFY+Cz0JmCbdVl0hz9jZcA==} + '@emnapi/runtime@1.10.0': + resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==} + '@emnapi/runtime@1.9.2': resolution: {integrity: sha512-3U4+MIWHImeyu1wnmVygh5WlgfYDtyf0k8AbLhMFxOipihf6nrWC4syIm/SwEeec0mNSafiiNnMJwbza/Is6Lw==} @@ -1323,6 +1340,12 @@ packages: cpu: [ppc64] os: [aix] + '@esbuild/aix-ppc64@0.28.0': + resolution: {integrity: sha512-lhRUCeuOyJQURhTxl4WkpFTjIsbDayJHih5kZC1giwE+MhIzAb7mEsQMqMf18rHLsrb5qI1tafG20mLxEWcWlA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + '@esbuild/android-arm64@0.25.12': resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==} engines: {node: '>=18'} @@ -1335,6 +1358,12 @@ packages: cpu: [arm64] os: [android] + '@esbuild/android-arm64@0.28.0': + resolution: {integrity: sha512-+WzIXQOSaGs33tLEgYPYe/yQHf0WTU0X42Jca3y8NWMbUVhp7rUnw+vAsRC/QiDrdD31IszMrZy+qwPOPjd+rw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm@0.25.12': resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==} engines: {node: '>=18'} @@ -1347,6 +1376,12 @@ packages: cpu: [arm] os: [android] + '@esbuild/android-arm@0.28.0': + resolution: {integrity: sha512-wqh0ByljabXLKHeWXYLqoJ5jKC4XBaw6Hk08OfMrCRd2nP2ZQ5eleDZC41XHyCNgktBGYMbqnrJKq/K/lzPMSQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + '@esbuild/android-x64@0.25.12': resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==} engines: {node: '>=18'} @@ -1359,6 +1394,12 @@ packages: cpu: [x64] os: [android] + '@esbuild/android-x64@0.28.0': + resolution: {integrity: sha512-+VJggoaKhk2VNNqVL7f6S189UzShHC/mR9EE8rDdSkdpN0KflSwWY/gWjDrNxxisg8Fp1ZCD9jLMo4m0OUfeUA==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + '@esbuild/darwin-arm64@0.25.12': resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==} engines: {node: '>=18'} @@ -1371,6 +1412,12 @@ packages: cpu: [arm64] os: [darwin] + '@esbuild/darwin-arm64@0.28.0': + resolution: {integrity: sha512-0T+A9WZm+bZ84nZBtk1ckYsOvyA3x7e2Acj1KdVfV4/2tdG4fzUp91YHx+GArWLtwqp77pBXVCPn2We7Letr0Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-x64@0.25.12': resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==} engines: {node: '>=18'} @@ -1383,6 +1430,12 @@ packages: cpu: [x64] os: [darwin] + '@esbuild/darwin-x64@0.28.0': + resolution: {integrity: sha512-fyzLm/DLDl/84OCfp2f/XQ4flmORsjU7VKt8HLjvIXChJoFFOIL6pLJPH4Yhd1n1gGFF9mPwtlN5Wf82DZs+LQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + '@esbuild/freebsd-arm64@0.25.12': resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==} engines: {node: '>=18'} @@ -1395,6 +1448,12 @@ packages: cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-arm64@0.28.0': + resolution: {integrity: sha512-l9GeW5UZBT9k9brBYI+0WDffcRxgHQD8ShN2Ur4xWq/NFzUKm3k5lsH4PdaRgb2w7mI9u61nr2gI2mLI27Nh3Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-x64@0.25.12': resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==} engines: {node: '>=18'} @@ -1407,6 +1466,12 @@ packages: cpu: [x64] os: [freebsd] + '@esbuild/freebsd-x64@0.28.0': + resolution: {integrity: sha512-BXoQai/A0wPO6Es3yFJ7APCiKGc1tdAEOgeTNy3SsB491S3aHn4S4r3e976eUnPdU+NbdtmBuLncYir2tMU9Nw==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + '@esbuild/linux-arm64@0.25.12': resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==} engines: {node: '>=18'} @@ -1419,6 +1484,12 @@ packages: cpu: [arm64] os: [linux] + '@esbuild/linux-arm64@0.28.0': + resolution: {integrity: sha512-RVyzfb3FWsGA55n6WY0MEIEPURL1FcbhFE6BffZEMEekfCzCIMtB5yyDcFnVbTnwk+CLAgTujmV/Lgvih56W+A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm@0.25.12': resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==} engines: {node: '>=18'} @@ -1431,6 +1502,12 @@ packages: cpu: [arm] os: [linux] + '@esbuild/linux-arm@0.28.0': + resolution: {integrity: sha512-CjaaREJagqJp7iTaNQjjidaNbCKYcd4IDkzbwwxtSvjI7NZm79qiHc8HqciMddQ6CKvJT6aBd8lO9kN/ZudLlw==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + '@esbuild/linux-ia32@0.25.12': resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==} engines: {node: '>=18'} @@ -1443,6 +1520,12 @@ packages: cpu: [ia32] os: [linux] + '@esbuild/linux-ia32@0.28.0': + resolution: {integrity: sha512-KBnSTt1kxl9x70q+ydterVdl+Cn0H18ngRMRCEQfrbqdUuntQQ0LoMZv47uB97NljZFzY6HcfqEZ2SAyIUTQBQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-loong64@0.25.12': resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==} engines: {node: '>=18'} @@ -1455,6 +1538,12 @@ packages: cpu: [loong64] os: [linux] + '@esbuild/linux-loong64@0.28.0': + resolution: {integrity: sha512-zpSlUce1mnxzgBADvxKXX5sl8aYQHo2ezvMNI8I0lbblJtp8V4odlm3Yzlj7gPyt3T8ReksE6bK+pT3WD+aJRg==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-mips64el@0.25.12': resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==} engines: {node: '>=18'} @@ -1467,6 +1556,12 @@ packages: cpu: [mips64el] os: [linux] + '@esbuild/linux-mips64el@0.28.0': + resolution: {integrity: sha512-2jIfP6mmjkdmeTlsX/9vmdmhBmKADrWqN7zcdtHIeNSCH1SqIoNI63cYsjQR8J+wGa4Y5izRcSHSm8K3QWmk3w==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-ppc64@0.25.12': resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==} engines: {node: '>=18'} @@ -1479,6 +1574,12 @@ packages: cpu: [ppc64] os: [linux] + '@esbuild/linux-ppc64@0.28.0': + resolution: {integrity: sha512-bc0FE9wWeC0WBm49IQMPSPILRocGTQt3j5KPCA8os6VprfuJ7KD+5PzESSrJ6GmPIPJK965ZJHTUlSA6GNYEhg==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-riscv64@0.25.12': resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==} engines: {node: '>=18'} @@ -1491,6 +1592,12 @@ packages: cpu: [riscv64] os: [linux] + '@esbuild/linux-riscv64@0.28.0': + resolution: {integrity: sha512-SQPZOwoTTT/HXFXQJG/vBX8sOFagGqvZyXcgLA3NhIqcBv1BJU1d46c0rGcrij2B56Z2rNiSLaZOYW5cUk7yLQ==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-s390x@0.25.12': resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==} engines: {node: '>=18'} @@ -1503,6 +1610,12 @@ packages: cpu: [s390x] os: [linux] + '@esbuild/linux-s390x@0.28.0': + resolution: {integrity: sha512-SCfR0HN8CEEjnYnySJTd2cw0k9OHB/YFzt5zgJEwa+wL/T/raGWYMBqwDNAC6dqFKmJYZoQBRfHjgwLHGSrn3Q==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-x64@0.25.12': resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==} engines: {node: '>=18'} @@ -1515,6 +1628,12 @@ packages: cpu: [x64] os: [linux] + '@esbuild/linux-x64@0.28.0': + resolution: {integrity: sha512-us0dSb9iFxIi8srnpl931Nvs65it/Jd2a2K3qs7fz2WfGPHqzfzZTfec7oxZJRNPXPnNYZtanmRc4AL/JwVzHQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + '@esbuild/netbsd-arm64@0.25.12': resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==} engines: {node: '>=18'} @@ -1527,6 +1646,12 @@ packages: cpu: [arm64] os: [netbsd] + '@esbuild/netbsd-arm64@0.28.0': + resolution: {integrity: sha512-CR/RYotgtCKwtftMwJlUU7xCVNg3lMYZ0RzTmAHSfLCXw3NtZtNpswLEj/Kkf6kEL3Gw+BpOekRX0BYCtklhUw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + '@esbuild/netbsd-x64@0.25.12': resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==} engines: {node: '>=18'} @@ -1539,6 +1664,12 @@ packages: cpu: [x64] os: [netbsd] + '@esbuild/netbsd-x64@0.28.0': + resolution: {integrity: sha512-nU1yhmYutL+fQ71Kxnhg8uEOdC0pwEW9entHykTgEbna2pw2dkbFSMeqjjyHZoCmt8SBkOSvV+yNmm94aUrrqw==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + '@esbuild/openbsd-arm64@0.25.12': resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==} engines: {node: '>=18'} @@ -1551,6 +1682,12 @@ packages: cpu: [arm64] os: [openbsd] + '@esbuild/openbsd-arm64@0.28.0': + resolution: {integrity: sha512-cXb5vApOsRsxsEl4mcZ1XY3D4DzcoMxR/nnc4IyqYs0rTI8ZKmW6kyyg+11Z8yvgMfAEldKzP7AdP64HnSC/6g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + '@esbuild/openbsd-x64@0.25.12': resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==} engines: {node: '>=18'} @@ -1563,6 +1700,12 @@ packages: cpu: [x64] os: [openbsd] + '@esbuild/openbsd-x64@0.28.0': + resolution: {integrity: sha512-8wZM2qqtv9UP3mzy7HiGYNH/zjTA355mpeuA+859TyR+e+Tc08IHYpLJuMsfpDJwoLo1ikIJI8jC3GFjnRClzA==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + '@esbuild/openharmony-arm64@0.25.12': resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==} engines: {node: '>=18'} @@ -1575,6 +1718,12 @@ packages: cpu: [arm64] os: [openharmony] + '@esbuild/openharmony-arm64@0.28.0': + resolution: {integrity: sha512-FLGfyizszcef5C3YtoyQDACyg95+dndv79i2EekILBofh5wpCa1KuBqOWKrEHZg3zrL3t5ouE5jgr94vA+Wb2w==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + '@esbuild/sunos-x64@0.25.12': resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==} engines: {node: '>=18'} @@ -1587,6 +1736,12 @@ packages: cpu: [x64] os: [sunos] + '@esbuild/sunos-x64@0.28.0': + resolution: {integrity: sha512-1ZgjUoEdHZZl/YlV76TSCz9Hqj9h9YmMGAgAPYd+q4SicWNX3G5GCyx9uhQWSLcbvPW8Ni7lj4gDa1T40akdlw==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + '@esbuild/win32-arm64@0.25.12': resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==} engines: {node: '>=18'} @@ -1599,6 +1754,12 @@ packages: cpu: [arm64] os: [win32] + '@esbuild/win32-arm64@0.28.0': + resolution: {integrity: sha512-Q9StnDmQ/enxnpxCCLSg0oo4+34B9TdXpuyPeTedN/6+iXBJ4J+zwfQI28u/Jl40nOYAxGoNi7mFP40RUtkmUA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-ia32@0.25.12': resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==} engines: {node: '>=18'} @@ -1611,6 +1772,12 @@ packages: cpu: [ia32] os: [win32] + '@esbuild/win32-ia32@0.28.0': + resolution: {integrity: sha512-zF3ag/gfiCe6U2iczcRzSYJKH1DCI+ByzSENHlM2FcDbEeo5Zd2C86Aq0tKUYAJJ1obRP84ymxIAksZUcdztHA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-x64@0.25.12': resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==} engines: {node: '>=18'} @@ -1623,6 +1790,12 @@ packages: cpu: [x64] os: [win32] + '@esbuild/win32-x64@0.28.0': + resolution: {integrity: sha512-pEl1bO9mfAmIC+tW5btTmrKaujg3zGtUmWNdCw/xs70FBjwAL3o9OEKNHvNmnyylD6ubxUERiEhdsL0xBQ9efw==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + '@eslint-community/eslint-utils@4.9.1': resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2021,8 +2194,8 @@ packages: vue-i18n: optional: true - '@ioredis/commands@1.5.0': - resolution: {integrity: sha512-eUgLqrMf8nJkZxT24JvVRrQya1vZkQh8BBeYNwGDqa5I0VUi8ACx7uFvAaLxintokpTenkK6DASvo/bvNbBGow==} + '@ioredis/commands@1.5.1': + resolution: {integrity: sha512-JH8ZL/ywcJyR9MmJ5BNqZllXNZQqQbnVZOqpPQqE1vHiFgAw4NHbvE0FOduNU8IX9babitBT46571OnPTT0Zcw==} '@ipld/dag-cbor@7.0.3': resolution: {integrity: sha512-1VVh2huHsuohdXC1bGJNE8WR72slZ9XE2T3wbBBq31dm7ZBatmKLLxrB+XAqafxfRFjv08RZmj/W/ZqaM13AuA==} @@ -2177,79 +2350,79 @@ packages: resolution: {integrity: sha512-cXu86tF4VQVfwz8W1SPbhoRyHJkti6mjH/XJIxp40jhO4j2k1m4KYrEykxqWPkFF3vrK4rgQppBh//AwyGSXPA==} engines: {node: '>=18'} - '@napi-rs/canvas-android-arm64@0.1.97': - resolution: {integrity: sha512-V1c/WVw+NzH8vk7ZK/O8/nyBSCQimU8sfMsB/9qeSvdkGKNU7+mxy/bIF0gTgeBFmHpj30S4E9WHMSrxXGQuVQ==} + '@napi-rs/canvas-android-arm64@1.0.0': + resolution: {integrity: sha512-3hNKJObUK7JsCF9aJlVCs1J0/KE/gGfZNeK8MO1ge6bB3aicr5walGme9t9No1f/oyk9GgvdAT/rjSdsx3gbIw==} engines: {node: '>= 10'} cpu: [arm64] os: [android] - '@napi-rs/canvas-darwin-arm64@0.1.97': - resolution: {integrity: sha512-ok+SCEF4YejcxuJ9Rm+WWunHHpf2HmiPxfz6z1a/NFQECGXtsY7A4B8XocK1LmT1D7P174MzwPF9Wy3AUAwEPw==} + '@napi-rs/canvas-darwin-arm64@1.0.0': + resolution: {integrity: sha512-ZIja19/BiGz2puhki+WUYSRriwFeFJ8Mi9eK3hZdSS85w4Y60cuEAJVhMCfKwswQkKkUtrnzdKMBuO7TupvexA==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@napi-rs/canvas-darwin-x64@0.1.97': - resolution: {integrity: sha512-PUP6e6/UGlclUvAQNnuXCcnkpdUou6VYZfQOQxExLp86epOylmiwLkqXIvpFmjoTEDmPmXrI+coL/9EFU1gKPA==} + '@napi-rs/canvas-darwin-x64@1.0.0': + resolution: {integrity: sha512-hImggWc82jqZVpEsFR9S7PE9OQYjq/H/D7vwCGB6X1jRH+UVBP1+1niJTPBOat1B154T6GKK7/kcFtoWgjgFzQ==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@napi-rs/canvas-linux-arm-gnueabihf@0.1.97': - resolution: {integrity: sha512-XyXH2L/cic8eTNtbrXCcvqHtMX/nEOxN18+7rMrAM2XtLYC/EB5s0wnO1FsLMWmK+04ZSLN9FBGipo7kpIkcOw==} + '@napi-rs/canvas-linux-arm-gnueabihf@1.0.0': + resolution: {integrity: sha512-hlJRy6d+kWLKVOG/+1rEvNQVURZ0DxxRPJsLmEWwhwiXZUJc0BF5o9esALHSEP4CoJK4wChRtj3hnyBgVx2oWA==} engines: {node: '>= 10'} cpu: [arm] os: [linux] - '@napi-rs/canvas-linux-arm64-gnu@0.1.97': - resolution: {integrity: sha512-Kuq/M3djq0K8ktgz6nPlK7Ne5d4uWeDxPpyKWOjWDK2RIOhHVtLtyLiJw2fuldw7Vn4mhw05EZXCEr4Q76rs9w==} + '@napi-rs/canvas-linux-arm64-gnu@1.0.0': + resolution: {integrity: sha512-5Hru4T3RXkosRQafcjelv7AUzw9mXqmGYsxnzeDDOWveFCJyEPMSJltvGCM+jfH98seOCbfwm9KyFg6Jm5FhAA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [glibc] - '@napi-rs/canvas-linux-arm64-musl@0.1.97': - resolution: {integrity: sha512-kKmSkQVnWeqg7qdsiXvYxKhAFuHz3tkBjW/zyQv5YKUPhotpaVhpBGv5LqCngzyuRV85SXoe+OFj+Tv0a0QXkQ==} + '@napi-rs/canvas-linux-arm64-musl@1.0.0': + resolution: {integrity: sha512-LTUl9jS8WsLSUGaxQZKQkxfluOJRpgvBuxxdM4pYcjib+di8AU4OzQc6+L6SzGMLcKc9H0RAjojRatBhTMqYdg==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [musl] - '@napi-rs/canvas-linux-riscv64-gnu@0.1.97': - resolution: {integrity: sha512-Jc7I3A51jnEOIAXeLsN/M/+Z28LUeakcsXs07FLq9prXc0eYOtVwsDEv913Gr+06IRo34gJJVgT0TXvmz+N2VA==} + '@napi-rs/canvas-linux-riscv64-gnu@1.0.0': + resolution: {integrity: sha512-Iz931SAZf+WVDzpjk52Q3ffW3zw0YflFwEZMgs036Wfu1kX/LrwT9wGjsuSqyduqefUkl91/vTdAjn8hQu5ezA==} engines: {node: '>= 10'} cpu: [riscv64] os: [linux] libc: [glibc] - '@napi-rs/canvas-linux-x64-gnu@0.1.97': - resolution: {integrity: sha512-iDUBe7AilfuBSRbSa8/IGX38Mf+iCSBqoVKLSQ5XaY2JLOaqz1TVyPFEyIck7wT6mRQhQt5sN6ogfjIDfi74tg==} + '@napi-rs/canvas-linux-x64-gnu@1.0.0': + resolution: {integrity: sha512-pFEQ5eFK4JusgN1K6KkO9DKP/Hi1WMJOkF8Ch03/khTc4bFbCKkCCsJG4YcOMOW9bI4XbT2/eMAWxhO0xaWgPA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [glibc] - '@napi-rs/canvas-linux-x64-musl@0.1.97': - resolution: {integrity: sha512-AKLFd/v0Z5fvgqBDqhvqtAdx+fHMJ5t9JcUNKq4FIZ5WH+iegGm8HPdj00NFlCSnm83Fp3Ln8I2f7uq1aIiWaA==} + '@napi-rs/canvas-linux-x64-musl@1.0.0': + resolution: {integrity: sha512-jnvr8NrLHiZ3NCiOKWqDbkI4Ah+QDrqtZ+sddPZBltEb1mQ2coSvCSJYfict+oAwcm0c970oTmVySpjKP/lnaA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [musl] - '@napi-rs/canvas-win32-arm64-msvc@0.1.97': - resolution: {integrity: sha512-u883Yr6A6fO7Vpsy9YE4FVCIxzzo5sO+7pIUjjoDLjS3vQaNMkVzx5bdIpEL+ob+gU88WDK4VcxYMZ6nmnoX9A==} + '@napi-rs/canvas-win32-arm64-msvc@1.0.0': + resolution: {integrity: sha512-y2j9/Gfd5joqiqxdP/L1smqjQ+uAx3C4N0EC7bDHrnZEEH8ToM/OC5p3uHvtj4Lq591aHj+ArL01UDLNwT5HgQ==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@napi-rs/canvas-win32-x64-msvc@0.1.97': - resolution: {integrity: sha512-sWtD2EE3fV0IzN+iiQUqr/Q1SwqWhs2O1FKItFlxtdDkikpEj5g7DKQpY3x55H/MAOnL8iomnlk3mcEeGiUMoQ==} + '@napi-rs/canvas-win32-x64-msvc@1.0.0': + resolution: {integrity: sha512-qwdhh9N6Gge/hC4pL9S1tQp0iKwhSl/dYjg7+RGp9k26iRGRi5MqqUyKGOXIWli0zOcuy5Y2wIH/jk2ry6i/jA==} engines: {node: '>= 10'} cpu: [x64] os: [win32] - '@napi-rs/canvas@0.1.97': - resolution: {integrity: sha512-8cFniXvrIEnVwuNSRCW9wirRZbHvrD3JVujdS2P5n5xiJZNZMOZcfOvJ1pb66c7jXMKHHglJEDVJGbm8XWFcXQ==} + '@napi-rs/canvas@1.0.0': + resolution: {integrity: sha512-Jqxcy1XOIqj+lH9sl1GT+il6GR3uQv13vI2mrwubP3uT8Olak2ClDrK2RnxlQKjwv8BRr4b3ug0YR7c6hBX8wg==} engines: {node: '>= 10'} '@napi-rs/wasm-runtime@1.1.4': @@ -2285,12 +2458,12 @@ packages: '@nuxt/a11y@1.0.0-alpha.1': resolution: {integrity: sha512-TwON9I0uI4erv9IJ6cD4nx9QcaxfXnAg7CwcQyjMKfDHCfI3xitezg4CZhQOHl0FGqHYGRf9Y9kSwh6fahCJrQ==} - '@nuxt/cli@3.34.0': - resolution: {integrity: sha512-KVI4xSo96UtUUbmxr9ouWTytbj1LzTw5alsM4vC/gSY/l8kPMRAlq0XpNSAVTDJyALzLY70WhaIMX24LJLpdFw==} + '@nuxt/cli@3.35.1': + resolution: {integrity: sha512-nX9XO+e3l9pnhHL2zsbnBmQb/nsOQYhGz2XiqE8X962QN9ufc1ZSuDZoTmQVv/ymkbYNR6hpNWW8RZQhuhzadw==} engines: {node: ^16.14.0 || >=18.0.0} hasBin: true peerDependencies: - '@nuxt/schema': ^4.3.1 + '@nuxt/schema': ^4.4.2 peerDependenciesMeta: '@nuxt/schema': optional: true @@ -2327,11 +2500,6 @@ packages: peerDependencies: vite: '>=6.0' - '@nuxt/devtools-kit@3.2.3': - resolution: {integrity: sha512-5zj7Xx5CDI6P84kMalXoxGLd470buF6ncsRhiEPq8UlwdpVeR7bwi8QnparZNFBdG79bZ5KUkfi5YDXpLYPoIA==} - peerDependencies: - vite: '>=6.0' - '@nuxt/devtools-kit@3.2.4': resolution: {integrity: sha512-Yxy2Xgmq5hf3dQy983V0xh0OJV2mYwRZz9eVIGc3EaribdFGPDNGMMbYqX9qCty3Pbxn/bCF3J0UyPaNlHVayQ==} peerDependencies: @@ -2342,12 +2510,12 @@ packages: peerDependencies: vite: '>=6.0' - '@nuxt/devtools-wizard@3.2.3': - resolution: {integrity: sha512-VXSxWlv476Mhg2RkWMkjslOXcbf0trsp/FDHZTjg9nPDGROGV88xNuvgIF4eClP7zesjETOUow0te6s8504w9A==} + '@nuxt/devtools-wizard@3.2.4': + resolution: {integrity: sha512-5tu2+Quu9XTxwtpzM8CUN0UKn/bzZIfJcoGd+at5Yy1RiUQJ4E52tRK0idW1rMSUDkbkvX3dSnu8Tpj7SAtWdQ==} hasBin: true - '@nuxt/devtools@3.2.3': - resolution: {integrity: sha512-UfbCHJDQ2DK0D787G6/QhuS2aYCDFTKMgtvE6OBBM1qYpR6pYEu5LRClQr9TFN4TIqJvgluQormGcYr1lsTKTw==} + '@nuxt/devtools@3.2.4': + resolution: {integrity: sha512-VPbFy7hlPzWpEZk4BsuVpNuHq1ZYGV9xezjb7/NGuePuNLqeNn74YZugU+PCtva7OwKhEeTXmMK0Mqo/6+nwNA==} hasBin: true peerDependencies: '@vitejs/devtools': '*' @@ -2366,37 +2534,29 @@ packages: resolution: {integrity: sha512-otHi6gAoYXKLrp8m27ZjX1PjxOPaltQ4OiUs/BhkW995mF/vXf8SWQTw68fww+Uric0v+XgoVrP9icDi+yT6zw==} engines: {node: '>=18.20.6'} - '@nuxt/kit@3.21.1': - resolution: {integrity: sha512-QORZRjcuTKgo++XP1Pc2c2gqwRydkaExrIRfRI9vFsPA3AzuHVn5Gfmbv1ic8y34e78mr5DMBvJlelUaeOuajg==} - engines: {node: '>=18.12.0'} - '@nuxt/kit@3.21.2': resolution: {integrity: sha512-Bd6m6mrDrqpBEbX+g0rc66/ALd1sxlgdx5nfK9MAYO0yKLTOSK7McSYz1KcOYn3LQFCXOWfvXwaqih/b+REI1g==} engines: {node: '>=18.12.0'} - '@nuxt/kit@4.4.2': - resolution: {integrity: sha512-5+IPRNX2CjkBhuWUwz0hBuLqiaJPRoKzQ+SvcdrQDbAyE+VDeFt74VpSFr5/R0ujrK4b+XnSHUJWdS72w6hsog==} + '@nuxt/kit@4.4.4': + resolution: {integrity: sha512-oy4fAeMkyz7gelnalDQLPm8QZRN+c5c/Eh/M6oFgPx86jnA8m6xeOlONpJN2dk0GhcJwJYuN/kmzBffZ93WXPQ==} engines: {node: '>=18.12.0'} - '@nuxt/nitro-server@4.4.2': - resolution: {integrity: sha512-iMTfraWcpA0MuEnnEI8JFK/4DODY4ss1CfB8m3sBVOqW9jpY1Z6hikxzrtN+CadtepW2aOI5d8TdX5hab+Sb4Q==} + '@nuxt/nitro-server@4.4.4': + resolution: {integrity: sha512-jMZPf+vJ2/IF5TZc+c/1c6O6p94pklVLvrexCu9FYZFK3H9oqYUlzBfYRd2kL5tdRTkIOpxTjfcgB1oc62UOhw==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: '@babel/plugin-proposal-decorators': ^7.25.0 '@rollup/plugin-babel': ^6.0.0 || ^7.0.0 - nuxt: ^4.4.2 + nuxt: ^4.4.4 peerDependenciesMeta: '@babel/plugin-proposal-decorators': optional: true '@rollup/plugin-babel': optional: true - '@nuxt/schema@3.21.1': - resolution: {integrity: sha512-9cTtB0IFoly+/51yHK5eBooangJuFH9twZJCBPxttxQPwsdG9OgInMuESmGhSVzp8QG4P0lPF7i9ZlgFiQkNgw==} - engines: {node: ^14.18.0 || >=16.10.0} - - '@nuxt/schema@4.4.2': - resolution: {integrity: sha512-/q6C7Qhiricgi+PKR7ovBnJlKTL0memCbA1CzRT+itCW/oeYzUfeMdQ35mGntlBoyRPNrMXbzuSUhfDbSCU57w==} + '@nuxt/schema@4.4.4': + resolution: {integrity: sha512-X70+lDZ4Wtp38l18/zFlKOZO5fd0uWQ60nrr1gxTNua8sqOxqVeZpLWTBmor7lFfJsXPPclsaFjcstyXYqXgpg==} engines: {node: ^14.18.0 || >=16.10.0} '@nuxt/scripts@1.0.1': @@ -2427,8 +2587,8 @@ packages: posthog-js: optional: true - '@nuxt/telemetry@2.7.0': - resolution: {integrity: sha512-mrKC3NjAlBOooLLVTYcIUie1meipoYq5vkoESoVTEWTB34T3a0QJzOfOPch+HYlUR+5Lqy1zLMv6epHFgYAKLA==} + '@nuxt/telemetry@2.8.0': + resolution: {integrity: sha512-zAwXY24KYvpLTmiV+osagd2EHkfs5IF+7oDZYTQoit5r0kPlwaCNlzHp5I/wUAWT4LBw6lG8gZ6bWidAdv/erQ==} engines: {node: '>=18.12.0'} hasBin: true peerDependencies: @@ -2503,24 +2663,13 @@ packages: zod: optional: true - '@nuxt/vite-builder@3.21.1': - resolution: {integrity: sha512-clm2/1/sL9W+EiJ4KIseg93sDoWNwCXTx/7raoBD+TCPOLeEFXliyJNpzCnKgp3QgKqxVG12whBWLX56uXD6UQ==} - engines: {node: ^20.19.0 || >=22.12.0} - peerDependencies: - nuxt: 3.21.1 - rolldown: ^1.0.0-beta.38 - vue: ^3.3.4 - peerDependenciesMeta: - rolldown: - optional: true - - '@nuxt/vite-builder@4.4.2': - resolution: {integrity: sha512-fJaIwMA8ID6BU5EqmoDvnhq4qYDJeWjdHk4jfqy8D3Nm7CoUW0BvX7Ee92XoO05rtUiClGlk/NQ1Ii8hs3ZIbw==} + '@nuxt/vite-builder@4.4.4': + resolution: {integrity: sha512-SNyxEYVeTo3d26tt5rxS550VOFLyXx1UBqhZJexWhk42HgHa3d115LWZx+4e+FJf75SYZ1B/KTrkVeeOhfNBMw==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: '@babel/plugin-proposal-decorators': ^7.25.0 '@babel/plugin-syntax-jsx': ^7.25.0 - nuxt: 4.4.2 + nuxt: 4.4.4 rolldown: ^1.0.0-beta.38 rollup-plugin-visualizer: ^6.0.0 || ^7.0.1 vue: ^3.3.4 @@ -2583,129 +2732,129 @@ packages: resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} engines: {node: '>=8.0.0'} - '@oxc-minify/binding-android-arm-eabi@0.117.0': - resolution: {integrity: sha512-5Hf2KsGRjxp3HnPU/mse7cQJa5tWfMFUPZQcgSMVsv2JZnGFFOIDzA0Oja2KDD+VPJqMpEJKc2dCHAGZgJxsGg==} + '@oxc-minify/binding-android-arm-eabi@0.128.0': + resolution: {integrity: sha512-EwdDhZLRmXxSnfy0v9gdOru7TutM8ItRg1Xv8e2B4boWMnHlFCIH38JfwgQnenbkF8SVTwVJtDCkmwEzN4q3xA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [android] - '@oxc-minify/binding-android-arm64@0.117.0': - resolution: {integrity: sha512-uuxGwxA5J4Sap+gz4nxyM/rer6q2A4X1Oe8HpE0CZQyb5cSBULQ15btZiVG3xOBctI5O+c2dwR1aZAP4oGKcLw==} + '@oxc-minify/binding-android-arm64@0.128.0': + resolution: {integrity: sha512-kwJ8YxWTzty8hD36jXxKiB+Po/ecmHZvT1xAYklkATbr0A4NUqV32sV+3Wfm8TecdA6jX34/mc+4CKK2+Hha2Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@oxc-minify/binding-darwin-arm64@0.117.0': - resolution: {integrity: sha512-lLBf75cxUSLydumToKtGTwbLqO/1urScblJ33Vx0uF38M2ZbL2x51AybBV5vlfLjYNrxvQ8ov0Bj/OhsVO/biA==} + '@oxc-minify/binding-darwin-arm64@0.128.0': + resolution: {integrity: sha512-WBV8j5EZ7/3rvFbiJ8LxowmobR/XH+l2iRzkE7zRYLD5VC+TvZayYGrVGGDXQvXm6cGED0B1NweByTmeT4lpGQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@oxc-minify/binding-darwin-x64@0.117.0': - resolution: {integrity: sha512-wBWwP1voLZMuN4hpe1HRtkPBd4/o/1qan5XssmmI/hewBvGHEHkyvVLS0zu+cKqXDxYzYvb/p+EqU+xSXhEl4A==} + '@oxc-minify/binding-darwin-x64@0.128.0': + resolution: {integrity: sha512-U4k1CSBsY1uf6yHE+vCNJp0mHzjsUUXgOZXMyhRN3sE2ovBDT9Gl8oACmLWPjg0R68jwP+1vhnNPsSqpTEOycg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@oxc-minify/binding-freebsd-x64@0.117.0': - resolution: {integrity: sha512-pYSacHw698oH2vb70iP1cHk6x0zhvAuOvdskvNtEqvfziu8MSjKXa699vA9Cx72+DH5rwVuj1I3f+7no2fWglA==} + '@oxc-minify/binding-freebsd-x64@0.128.0': + resolution: {integrity: sha512-NT1GtcWpX4sOuU5dMdSNpdXJRpk9BGAHHnKc42IUId8E+jEhZUrg9vqIRIlspZG5O9Y7FjO2r6GBK93bpyIIUg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@oxc-minify/binding-linux-arm-gnueabihf@0.117.0': - resolution: {integrity: sha512-Ugm4Qj7F2+bccjhHCjjnSNHBDPyvjPXWrntID4WJpSrPqt+Az/o0EGdty9sWOjQXRZiTVpa80uqCWZQUn94yTA==} + '@oxc-minify/binding-linux-arm-gnueabihf@0.128.0': + resolution: {integrity: sha512-OskPMYMH2KtkqvRMULF2/+55hFo/qmRz2p/g7Cp7XNiqdjZ/DvQDiVbME63rVoX3dYjgS15DolGbo54mHTyA9w==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxc-minify/binding-linux-arm-musleabihf@0.117.0': - resolution: {integrity: sha512-qrY6ZviO9wVRI/jl4nRZO4B9os8jaJQemMeWIyFInZNk3lhqihId8iBqMKibJnRaf+JRxLM9j68atXkFRhOHrg==} + '@oxc-minify/binding-linux-arm-musleabihf@0.128.0': + resolution: {integrity: sha512-fKUY7Y1vb8CYlGnS5FzqTeeM5zQz1Fleyaqz/T9iNHYAYNJ0Os9iT0rACLfAVCQKP9yOqPSwZ80xgZdVVGD61w==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxc-minify/binding-linux-arm64-gnu@0.117.0': - resolution: {integrity: sha512-2VLJHKEFBRhCihT/8uesuDPhXpbWu1OlHCxqQ7pdFVqKik1Maj5E9oSDcYzxqfaCRStvTHkmLVWJBK5CVcIadg==} + '@oxc-minify/binding-linux-arm64-gnu@0.128.0': + resolution: {integrity: sha512-T+CQQZ3BoWY/TxQk9LZsXZYj3madR/5tCErV6wzphTYZJfVjvKmQxnxMaT+TKE40Jha6+iGgwzxwcYWJfltULQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@oxc-minify/binding-linux-arm64-musl@0.117.0': - resolution: {integrity: sha512-C3zapJconWpl2Y7LR3GkRkH6jxpuV2iVUfkFcHT5Ffn4Zu7l88mZa2dhcfdULZDybN1Phka/P34YUzuskUUrXw==} + '@oxc-minify/binding-linux-arm64-musl@0.128.0': + resolution: {integrity: sha512-F6RkJ90S1Xt25Mk7/wPUmddsE4RZ7Nei+HlEa2FAjfhpoaTciOwV6E/Gtp7wPIYbwft7UfhMYwuEuZiZQytVWw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@oxc-minify/binding-linux-ppc64-gnu@0.117.0': - resolution: {integrity: sha512-2T/Bm+3/qTfuNS4gKSzL8qbiYk+ErHW2122CtDx+ilZAzvWcJ8IbqdZIbEWOlwwe03lESTxPwTBLFqVgQU2OeQ==} + '@oxc-minify/binding-linux-ppc64-gnu@0.128.0': + resolution: {integrity: sha512-0HP2FBGMlquLjShIIJvS4cebc6sdRRYL04GtxVpg96MtpejrkHYI2gQWcezsTUaGgg+eNRsuv2tdZPENu5+iWA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@oxc-minify/binding-linux-riscv64-gnu@0.117.0': - resolution: {integrity: sha512-MKLjpldYkeoB4T+yAi4aIAb0waifxUjLcKkCUDmYAY3RqBJTvWK34KtfaKZL0IBMIXfD92CbKkcxQirDUS9Xcg==} + '@oxc-minify/binding-linux-riscv64-gnu@0.128.0': + resolution: {integrity: sha512-2j6Bd340IZqZbu4KUI28z87Ao9aHhq56HH1Qz5/+EdE732ajFYIoDF3z+QcxHXY0CFOG/Ur1ZOKTBEIWQ6BYIw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [glibc] - '@oxc-minify/binding-linux-riscv64-musl@0.117.0': - resolution: {integrity: sha512-UFVcbPvKUStry6JffriobBp8BHtjmLLPl4bCY+JMxIn/Q3pykCpZzRwFTcDurG/kY8tm+uSNfKKdRNa5Nh9A7g==} + '@oxc-minify/binding-linux-riscv64-musl@0.128.0': + resolution: {integrity: sha512-z5HSppdxNwB6//3Eo7mDWbTrLeyuTKvL/iLXaKEgocrJg1MhZLbRR7P5ore9gKvS4lF4EtEpA24xzilFxQK0iw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [musl] - '@oxc-minify/binding-linux-s390x-gnu@0.117.0': - resolution: {integrity: sha512-B9GyPQ1NKbvpETVAMyJMfRlD3c6UJ7kiuFUAlx9LTYiQL+YIyT6vpuRlq1zgsXxavZluVrfeJv6x0owV4KDx4Q==} + '@oxc-minify/binding-linux-s390x-gnu@0.128.0': + resolution: {integrity: sha512-9rxYqH7P8NiYqRlLxlnNjJSF8BYADOmihM5ZHVkmlE4tqjHkoLNevdAyAP2ZBkL8QJflm1WGOXFWmFnWA54EvA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@oxc-minify/binding-linux-x64-gnu@0.117.0': - resolution: {integrity: sha512-fXfhtr+WWBGNy4M5GjAF5vu/lpulR4Me34FjTyaK9nDrTZs7LM595UDsP1wliksqp4hD/KdoqHGmbCrC+6d4vA==} + '@oxc-minify/binding-linux-x64-gnu@0.128.0': + resolution: {integrity: sha512-sy5+4Oamw6Ly5gUNUIDQ7346Lryt7AhqjKhOtWl5dzYZnTIwwoI0V2DeIl3bR/vU8D629ZMYQOqhquRtSyBUOA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@oxc-minify/binding-linux-x64-musl@0.117.0': - resolution: {integrity: sha512-jFBgGbx1oLadb83ntJmy1dWlAHSQanXTS21G4PgkxyONmxZdZ/UMKr7KsADzMuoPsd2YhJHxzRpwJd9U+4BFBw==} + '@oxc-minify/binding-linux-x64-musl@0.128.0': + resolution: {integrity: sha512-59Cxvjppy09TsaB15gr6rA9Bf87rm9t0bD1EW9dCZsdxWElnAC+TvWZ7v9dFUIeYeZUkhAAMPtpdqa3Y9CI2zA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@oxc-minify/binding-openharmony-arm64@0.117.0': - resolution: {integrity: sha512-nxPd9vx1vYz8IlIMdl9HFdOK/ood1H5hzbSFsyO8JU55tkcJoBL8TLCbuFf9pHpOy27l2gcPyV6z3p4eAcTH5Q==} + '@oxc-minify/binding-openharmony-arm64@0.128.0': + resolution: {integrity: sha512-XGa03zmiYpD7Kf1aXy6vjgkjfaCR90qH0TzGplnUXo6FF6gNe6sH9Zgneo9kxOyYt8CKKzXYD4VudT/nDTXq8Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@oxc-minify/binding-wasm32-wasi@0.117.0': - resolution: {integrity: sha512-pSvjJ6cCCfEXSteWSiVfZhdRzvpmS3tLhlXrXTYiuTDFrkRCobRP39SRwAzK23rE9i/m2JAaES2xPEW6+xu85g==} - engines: {node: '>=14.0.0'} + '@oxc-minify/binding-wasm32-wasi@0.128.0': + resolution: {integrity: sha512-W+fK3cWhu/cUgx3NIAmDYcAyJs01aULlr3E3n/ZN79Q1/CX+FS+yWfwt/IysIi4FhpVL7z58azbJHDzhEx4X4g==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [wasm32] - '@oxc-minify/binding-win32-arm64-msvc@0.117.0': - resolution: {integrity: sha512-9NoT9baFrWPdJRIZVQ1jzPZW9TjPT2sbzQyDdoK7uD1V8JXCe1L2y7sp9k2ldZZheaIcmtNwHc7jyD7kYz/0XQ==} + '@oxc-minify/binding-win32-arm64-msvc@0.128.0': + resolution: {integrity: sha512-pwMZd27FF+j4tHLYKtu4QBl6KI0gkt6xTNGLffs8VlH5vfDPHUvLo/AS6y66tdEjQ3chhs8OGg1mAFhPoQldDw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@oxc-minify/binding-win32-ia32-msvc@0.117.0': - resolution: {integrity: sha512-E51LTjkRei5u2dpFiYSObuh+e43xg45qlmilSTd0XDGFdYJCOv62Q0MEn61TR+efQYPNleYwWdTS9t+tp9p/4w==} + '@oxc-minify/binding-win32-ia32-msvc@0.128.0': + resolution: {integrity: sha512-GskPdx/Fsn3ttkJbzxh51LYhla4N4p1sMufJKgf6PHupt5RukBaHI/GKM/2ni6ObxUI0b9UK37fROdV+5ekpMQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ia32] os: [win32] - '@oxc-minify/binding-win32-x64-msvc@0.117.0': - resolution: {integrity: sha512-I8vniPOxWQdxfIbXNvQLaJ1n8SrnqES6wuiAX10CU72sKsizkds9kDaJ1KzWvDy39RKhTBmD1cJsU2uxPFgizQ==} + '@oxc-minify/binding-win32-x64-msvc@0.128.0': + resolution: {integrity: sha512-m8oakspZCbCod3WuY0U9DvwQlhMYaU31bK+Way1Rb+JGs455WLtkebEie/luSuN5DeF+aZyRH/zt1AY4weKQQg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] @@ -2722,12 +2871,6 @@ packages: cpu: [arm] os: [android] - '@oxc-parser/binding-android-arm-eabi@0.117.0': - resolution: {integrity: sha512-XarGPJpaobgKjfm7xRfCGWWszuPbm/OeP91NdMhxtcLZ/qLTmWF0P0z0gqmr0Uysi1F1v1BNtcST11THMrcEOw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm] - os: [android] - '@oxc-parser/binding-android-arm-eabi@0.120.0': resolution: {integrity: sha512-WU3qtINx802wOl8RxAF1v0VvmC2O4D9M8Sv486nLeQ7iPHVmncYZrtBhB4SYyX+XZxj2PNnCcN+PW21jHgiOxg==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2740,6 +2883,12 @@ packages: cpu: [arm] os: [android] + '@oxc-parser/binding-android-arm-eabi@0.128.0': + resolution: {integrity: sha512-aca6ZvzmCBUGOANQRiRQRZuRKYI3ENhcit6GisnknOOmcezfQc7xJ4dxlPU7MV7mOvrC7RNR1u3LAD7xyaiCxA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] + '@oxc-parser/binding-android-arm64@0.112.0': resolution: {integrity: sha512-pRkbBRbuIIsufUWpOJ+JHWfJFNupkidy4sbjfcm37e6xwYrn9LSKMLubPHvNaL1Zf92ZRhGiwaYkEcmaFg2VcA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2752,12 +2901,6 @@ packages: cpu: [arm64] os: [android] - '@oxc-parser/binding-android-arm64@0.117.0': - resolution: {integrity: sha512-EPTs2EBijGmyhPso4rXAL0NSpECXER9IaVKFZEv83YcA6h4uhKW47kmYt+OZcSp130zhHx+lTWILDQ/LDkCRNA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [android] - '@oxc-parser/binding-android-arm64@0.120.0': resolution: {integrity: sha512-SEf80EHdhlbjZEgzeWm0ZA/br4GKMenDW3QB/gtyeTV1gStvvZeFi40ioHDZvds2m4Z9J1bUAUL8yn1/+A6iGg==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2770,6 +2913,12 @@ packages: cpu: [arm64] os: [android] + '@oxc-parser/binding-android-arm64@0.128.0': + resolution: {integrity: sha512-BbeDmuohoJ7Rz/it5wnkj69i/OsCPS3Z51nLEzwO/Y6YshtC4JU+15oNwhY8v4LRKRYclRc7ggOikwrsJ/eOEQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + '@oxc-parser/binding-darwin-arm64@0.112.0': resolution: {integrity: sha512-fh6/KQL/cbH5DukT3VkdCqnULLuvVnszVKySD5IgSE0WZb32YZo/cPsPdEv052kk6w3N4agu+NTiMnZjcvhUIg==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2782,12 +2931,6 @@ packages: cpu: [arm64] os: [darwin] - '@oxc-parser/binding-darwin-arm64@0.117.0': - resolution: {integrity: sha512-3bAEpyih6r/Kb+Xzn1em1qBMClOS7NsVWgF86k95jpysR5ix/HlKFKSy7cax6PcS96HeHR4kjlME20n/XK1zNg==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [darwin] - '@oxc-parser/binding-darwin-arm64@0.120.0': resolution: {integrity: sha512-xVrrbCai8R8CUIBu3CjryutQnEYhZqs1maIqDvtUCFZb8vY33H7uh9mHpL3a0JBIKoBUKjPH8+rzyAeXnS2d6A==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2800,6 +2943,12 @@ packages: cpu: [arm64] os: [darwin] + '@oxc-parser/binding-darwin-arm64@0.128.0': + resolution: {integrity: sha512-tRUHPt80417QmvNpoSslJT1VY8NUbWdrWR+L14Zn+RbOTcaqB8E6PYE/ZGN8jjWBzqporiA/H4MfO50ew/NCNA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + '@oxc-parser/binding-darwin-x64@0.112.0': resolution: {integrity: sha512-vUBOOY1E30vlu/DoTGDoT1UbLlwu5Yv9tqeBabAwRzwNDz8Skho16VKhsBDUiyqddtpsR3//v6vNk38w4c+6IA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2812,12 +2961,6 @@ packages: cpu: [x64] os: [darwin] - '@oxc-parser/binding-darwin-x64@0.117.0': - resolution: {integrity: sha512-W7S99zFwVZhSbCxvjfZkioStFU249DBc4TJw/kK6kfKwx2Zew+jvizX5Y3ZPkAh7fBVUSNOdSeOqLBHLiP50tw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [darwin] - '@oxc-parser/binding-darwin-x64@0.120.0': resolution: {integrity: sha512-xyHBbnJ6mydnQUH7MAcafOkkrNzQC6T+LXgDH/3InEq2BWl/g424IMRiJVSpVqGjB+p2bd0h0WRR8iIwzjU7rw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2830,6 +2973,12 @@ packages: cpu: [x64] os: [darwin] + '@oxc-parser/binding-darwin-x64@0.128.0': + resolution: {integrity: sha512-rWI2Hb1Nt3U/vKsjyNvZzDC8i/l144U20DKjhzaTmwIhIiSRGeroPWWiImwypmKLqrw8GuIixbWJkpGWLbkzrQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + '@oxc-parser/binding-freebsd-x64@0.112.0': resolution: {integrity: sha512-hnEtO/9AVnYWzrgnp6L+oPs/6UqlFeteUL6n7magkd2tttgmx1C01hyNNh6nTpZfLzEVJSNJ0S+4NTsK2q2CxA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2842,12 +2991,6 @@ packages: cpu: [x64] os: [freebsd] - '@oxc-parser/binding-freebsd-x64@0.117.0': - resolution: {integrity: sha512-xH76lqSdjCSY0KUMPwLXlvQ3YEm3FFVEQmgiOCGNf+stZ6E4Mo3nC102Bo8yKd7aW0foIPAFLYsHgj7vVI/axw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [freebsd] - '@oxc-parser/binding-freebsd-x64@0.120.0': resolution: {integrity: sha512-UMnVRllquXUYTeNfFKmxTTEdZ/ix1nLl0ducDzMSREoWYGVIHnOOxoKMWlCOvRr9Wk/HZqo2rh1jeumbPGPV9A==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2860,6 +3003,12 @@ packages: cpu: [x64] os: [freebsd] + '@oxc-parser/binding-freebsd-x64@0.128.0': + resolution: {integrity: sha512-hhpdVMaNCLgQxjgNPeeFzSeJMmZPc5lKfv0NGSI3egZq9EdnEGqeC8JsYsQjK7PoQgbvZ17xlj0SO5ziH5Obkg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + '@oxc-parser/binding-linux-arm-gnueabihf@0.112.0': resolution: {integrity: sha512-WxJrUz3pcIc2hp4lvJbvt/sTL33oX9NPvkD3vDDybE6tc0V++rS+hNOJxwXdD2FDIFPkHs/IEn5asEZFVH+VKw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2872,12 +3021,6 @@ packages: cpu: [arm] os: [linux] - '@oxc-parser/binding-linux-arm-gnueabihf@0.117.0': - resolution: {integrity: sha512-9Hdm1imzrn4RdMYnQKKcy+7p7QsSPIrgVIZmpGSJT02nYDuBWLdG1pdYMPFoEo46yiXry3tS3RoHIpNbT1IiyQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm] - os: [linux] - '@oxc-parser/binding-linux-arm-gnueabihf@0.120.0': resolution: {integrity: sha512-tkvn2CQ7QdcsMnpfiX3fd3wA3EFsWKYlcQzq9cFw/xc89Al7W6Y4O0FgLVkVQpo0Tnq/qtE1XfkJOnRRA9S/NA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2890,20 +3033,20 @@ packages: cpu: [arm] os: [linux] - '@oxc-parser/binding-linux-arm-musleabihf@0.112.0': - resolution: {integrity: sha512-jj8A8WWySaJQqM9XKAIG8U2Q3qxhFQKrXPWv98d1oC35at+L1h+C+V4M3l8BAKhpHKCu3dYlloaAbHd5q1Hw6A==} + '@oxc-parser/binding-linux-arm-gnueabihf@0.128.0': + resolution: {integrity: sha512-093zNw0zZ/e/obML+rhlSdmnzR0mVZluPcAkxunEc5E3F0yBVsFn24Y1ILfsEte11Ud041qn/gp2OJ1jxNqUng==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxc-parser/binding-linux-arm-musleabihf@0.115.0': - resolution: {integrity: sha512-fZbqt8y/sKQ+v6bBCuv/mYYFoC0+fZI3mGDDEemmDOhT78+aUs2+4ZMdbd2btlXmnLaScl37r8IRbhnok5Ka9w==} + '@oxc-parser/binding-linux-arm-musleabihf@0.112.0': + resolution: {integrity: sha512-jj8A8WWySaJQqM9XKAIG8U2Q3qxhFQKrXPWv98d1oC35at+L1h+C+V4M3l8BAKhpHKCu3dYlloaAbHd5q1Hw6A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxc-parser/binding-linux-arm-musleabihf@0.117.0': - resolution: {integrity: sha512-Itszer/VCeYhYVJLcuKnHktlY8QyGnVxapltP68S1XRGlV6IsM9HQAElJRMwQhT6/GkMjOhANmkv2Qu/9v44lw==} + '@oxc-parser/binding-linux-arm-musleabihf@0.115.0': + resolution: {integrity: sha512-fZbqt8y/sKQ+v6bBCuv/mYYFoC0+fZI3mGDDEemmDOhT78+aUs2+4ZMdbd2btlXmnLaScl37r8IRbhnok5Ka9w==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] @@ -2920,6 +3063,12 @@ packages: cpu: [arm] os: [linux] + '@oxc-parser/binding-linux-arm-musleabihf@0.128.0': + resolution: {integrity: sha512-fq7DmKmfC+dvD97IXrgbph6Jzwe0EDu+PYMofmzZ6fv5X1k9vtaqLpDGMuICO9MmUnyKAQmVl+wIv2RNy4Dz8g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + '@oxc-parser/binding-linux-arm64-gnu@0.112.0': resolution: {integrity: sha512-G2F8H6FcAExVK5vvhpSh61tqWx5QoaXXUnSsj5FyuDiFT/K7AMMVSQVqnZREDc+YxhrjB0vnKjCcuobXK63kIw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2934,22 +3083,22 @@ packages: os: [linux] libc: [glibc] - '@oxc-parser/binding-linux-arm64-gnu@0.117.0': - resolution: {integrity: sha512-jBxD7DtlHQ36ivjjZdH0noQJgWNouenzpLmXNKnYaCsBfo3jY95m5iyjYQEiWkvkhJ3TJUAs7tQ1/kEpY7x/Kg==} + '@oxc-parser/binding-linux-arm64-gnu@0.120.0': + resolution: {integrity: sha512-1GgQBCcXvFMw99EPdMy+4NZ3aYyXsxjf9kbUUg8HuAy3ZBXzOry5KfFEzT9nqmgZI1cuetvApkiJBZLAPo8uaw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@oxc-parser/binding-linux-arm64-gnu@0.120.0': - resolution: {integrity: sha512-1GgQBCcXvFMw99EPdMy+4NZ3aYyXsxjf9kbUUg8HuAy3ZBXzOry5KfFEzT9nqmgZI1cuetvApkiJBZLAPo8uaw==} + '@oxc-parser/binding-linux-arm64-gnu@0.126.0': + resolution: {integrity: sha512-r2KApRgm2pOJaduRm6GOT8x0whcr67AyejNkSdzPt34GJ+Y3axcXN2mwlTs+8lfO/SSmpO5ZJGYiHYnxEE0jkw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@oxc-parser/binding-linux-arm64-gnu@0.126.0': - resolution: {integrity: sha512-r2KApRgm2pOJaduRm6GOT8x0whcr67AyejNkSdzPt34GJ+Y3axcXN2mwlTs+8lfO/SSmpO5ZJGYiHYnxEE0jkw==} + '@oxc-parser/binding-linux-arm64-gnu@0.128.0': + resolution: {integrity: sha512-Xvm48jJah8TlIrURIjNOP/gNiGe6aKvCB+r06VliflFo8Kq7VOLE8PxtgShJzZIqubrgdMdYfvuPPozn7F6MbQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] @@ -2969,22 +3118,22 @@ packages: os: [linux] libc: [musl] - '@oxc-parser/binding-linux-arm64-musl@0.117.0': - resolution: {integrity: sha512-QagKTDF4lrz8bCXbUi39Uq5xs7C7itAseKm51f33U+Dyar9eJY/zGKqfME9mKLOiahX7Fc1J3xMWVS0AdDXLPg==} + '@oxc-parser/binding-linux-arm64-musl@0.120.0': + resolution: {integrity: sha512-gmMQ70gsPdDBgpcErvJEoWNBr7bJooSLlvOBVBSGfOzlP5NvJ3bFvnUeZZ9d+dPrqSngtonf7nyzWUTUj/U+lw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@oxc-parser/binding-linux-arm64-musl@0.120.0': - resolution: {integrity: sha512-gmMQ70gsPdDBgpcErvJEoWNBr7bJooSLlvOBVBSGfOzlP5NvJ3bFvnUeZZ9d+dPrqSngtonf7nyzWUTUj/U+lw==} + '@oxc-parser/binding-linux-arm64-musl@0.126.0': + resolution: {integrity: sha512-FQ+MMh7MT0Dr/u8+RWmWKlfoeWPQyHDbhhxJShJlYtROXXPHsRs9EvmQOZZ3sx4Nn7JU8NX+oyw2YzQ7anBJcA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@oxc-parser/binding-linux-arm64-musl@0.126.0': - resolution: {integrity: sha512-FQ+MMh7MT0Dr/u8+RWmWKlfoeWPQyHDbhhxJShJlYtROXXPHsRs9EvmQOZZ3sx4Nn7JU8NX+oyw2YzQ7anBJcA==} + '@oxc-parser/binding-linux-arm64-musl@0.128.0': + resolution: {integrity: sha512-M7iwBGmYJTx+pKOYFjI0buop4gJvlmcVzFGaXPt21DKpQkbQZG1f63Yg7LloIYT/t9yLxCw0Lhfx/RFlAlMSjA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] @@ -3004,22 +3153,22 @@ packages: os: [linux] libc: [glibc] - '@oxc-parser/binding-linux-ppc64-gnu@0.117.0': - resolution: {integrity: sha512-RPddpcE/0xxWaommWy0c5i/JdrXcXAkxBS2GOrAUh5LKmyCh03hpJedOAWszG4ADsKQwoUQQ1/tZVGRhZIWtKA==} + '@oxc-parser/binding-linux-ppc64-gnu@0.120.0': + resolution: {integrity: sha512-T/kZuU0ajop0xhzVMwH5r3srC9Nqup5HaIo+3uFjIN5uPxa0LvSxC1ZqP4aQGJVW5G0z8/nCkjIfSMS91P/wzw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@oxc-parser/binding-linux-ppc64-gnu@0.120.0': - resolution: {integrity: sha512-T/kZuU0ajop0xhzVMwH5r3srC9Nqup5HaIo+3uFjIN5uPxa0LvSxC1ZqP4aQGJVW5G0z8/nCkjIfSMS91P/wzw==} + '@oxc-parser/binding-linux-ppc64-gnu@0.126.0': + resolution: {integrity: sha512-Wv/T8C98hRQhGTlx2XFyLn5raRMp9U1lOQD+YnXNgAr7wHbJJpZ8mDBU7Rw+M3WytGcGTFcr6kqgfyQeHVtLbQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@oxc-parser/binding-linux-ppc64-gnu@0.126.0': - resolution: {integrity: sha512-Wv/T8C98hRQhGTlx2XFyLn5raRMp9U1lOQD+YnXNgAr7wHbJJpZ8mDBU7Rw+M3WytGcGTFcr6kqgfyQeHVtLbQ==} + '@oxc-parser/binding-linux-ppc64-gnu@0.128.0': + resolution: {integrity: sha512-21LGNIZb1Pcfk5/EGsqabrxv4yqQOWis1407JJrClS7XpFCrbvr74YAB1V+m54cYbwvO6UWwQqS4WecxiyfCRg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] @@ -3039,22 +3188,22 @@ packages: os: [linux] libc: [glibc] - '@oxc-parser/binding-linux-riscv64-gnu@0.117.0': - resolution: {integrity: sha512-ur/WVZF9FSOiZGxyP+nfxZzuv6r5OJDYoVxJnUR7fM/hhXLh4V/be6rjbzm9KLCDBRwYCEKJtt+XXNccwd06IA==} + '@oxc-parser/binding-linux-riscv64-gnu@0.120.0': + resolution: {integrity: sha512-vn21KXLAXzaI3N5CZWlBr1iWeXLl9QFIMor7S1hUjUGTeUuWCoE6JZB040/ZNDwf+JXPX8Ao9KbmJq9FMC2iGw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [glibc] - '@oxc-parser/binding-linux-riscv64-gnu@0.120.0': - resolution: {integrity: sha512-vn21KXLAXzaI3N5CZWlBr1iWeXLl9QFIMor7S1hUjUGTeUuWCoE6JZB040/ZNDwf+JXPX8Ao9KbmJq9FMC2iGw==} + '@oxc-parser/binding-linux-riscv64-gnu@0.126.0': + resolution: {integrity: sha512-DHx1rT1zauW0ZbLHOiQh5AC9Xs3UkWx2XmfZHs+7nnWYr3sagrufoUQC+/XPwwjMIlCFXiFGM0sFh3TyOCZwqA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [glibc] - '@oxc-parser/binding-linux-riscv64-gnu@0.126.0': - resolution: {integrity: sha512-DHx1rT1zauW0ZbLHOiQh5AC9Xs3UkWx2XmfZHs+7nnWYr3sagrufoUQC+/XPwwjMIlCFXiFGM0sFh3TyOCZwqA==} + '@oxc-parser/binding-linux-riscv64-gnu@0.128.0': + resolution: {integrity: sha512-gyHjOTFpg9bTTYjxPmQirvufb89+VdZwVfcMtAUyPr6F5H8ZswvCQshK4qOW+Q+2Xyb33hduRgY/eFHJQjU/vQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] @@ -3074,22 +3223,22 @@ packages: os: [linux] libc: [musl] - '@oxc-parser/binding-linux-riscv64-musl@0.117.0': - resolution: {integrity: sha512-ujGcAx8xAMvhy7X5sBFi3GXML1EtyORuJZ5z2T6UV3U416WgDX/4OCi3GnoteeenvxIf6JgP45B+YTHpt71vpA==} + '@oxc-parser/binding-linux-riscv64-musl@0.120.0': + resolution: {integrity: sha512-SUbUxlar007LTGmSLGIC5x/WJvwhdX+PwNzFJ9f/nOzZOrCFbOT4ikt7pJIRg1tXVsEfzk5mWpGO1NFiSs4PIw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [musl] - '@oxc-parser/binding-linux-riscv64-musl@0.120.0': - resolution: {integrity: sha512-SUbUxlar007LTGmSLGIC5x/WJvwhdX+PwNzFJ9f/nOzZOrCFbOT4ikt7pJIRg1tXVsEfzk5mWpGO1NFiSs4PIw==} + '@oxc-parser/binding-linux-riscv64-musl@0.126.0': + resolution: {integrity: sha512-umDc2mTShH0U2zcEYf8mIJ163seLJNn54ZUZYeI5jD4qlg9izPwoLrC2aNPKlMJTu6u/ysmQWiEvIiaAG+INkw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [musl] - '@oxc-parser/binding-linux-riscv64-musl@0.126.0': - resolution: {integrity: sha512-umDc2mTShH0U2zcEYf8mIJ163seLJNn54ZUZYeI5jD4qlg9izPwoLrC2aNPKlMJTu6u/ysmQWiEvIiaAG+INkw==} + '@oxc-parser/binding-linux-riscv64-musl@0.128.0': + resolution: {integrity: sha512-X6Q2oKUrP5GyDd2xniuEBLk6aFQCZ97W2+aVXGgJXdjx5t4/oFuA9ri0wLOUrBIX+qdSuK581snMBio4z910eA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] @@ -3109,22 +3258,22 @@ packages: os: [linux] libc: [glibc] - '@oxc-parser/binding-linux-s390x-gnu@0.117.0': - resolution: {integrity: sha512-hbsfKjUwRjcMZZvvmpZSc+qS0bHcHRu8aV/I3Ikn9BzOA0ZAgUE7ctPtce5zCU7bM8dnTLi4sJ1Pi9YHdx6Urw==} + '@oxc-parser/binding-linux-s390x-gnu@0.120.0': + resolution: {integrity: sha512-hYiPJTxyfJY2+lMBFk3p2bo0R9GN+TtpPFlRqVchL1qvLG+pznstramHNvJlw9AjaoRUHwp9IKR7UZQnRPGjgQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@oxc-parser/binding-linux-s390x-gnu@0.120.0': - resolution: {integrity: sha512-hYiPJTxyfJY2+lMBFk3p2bo0R9GN+TtpPFlRqVchL1qvLG+pznstramHNvJlw9AjaoRUHwp9IKR7UZQnRPGjgQ==} + '@oxc-parser/binding-linux-s390x-gnu@0.126.0': + resolution: {integrity: sha512-PXXeWayclRtO1pxQEeCpiqIglQdhK2mAI2VX5xnsWdImzSB5GpoQ8TNw7vTCKk2k+GZuxl+q1knncidjCyUP9w==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@oxc-parser/binding-linux-s390x-gnu@0.126.0': - resolution: {integrity: sha512-PXXeWayclRtO1pxQEeCpiqIglQdhK2mAI2VX5xnsWdImzSB5GpoQ8TNw7vTCKk2k+GZuxl+q1knncidjCyUP9w==} + '@oxc-parser/binding-linux-s390x-gnu@0.128.0': + resolution: {integrity: sha512-BdzTmqxfxoYkpgokoLaSnOX6T+R3/goL42klre2tnG+kHbG2TXS0VN+P5BPofH1axdKOHy5ei4ENZrjmCOt2lA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] @@ -3144,22 +3293,22 @@ packages: os: [linux] libc: [glibc] - '@oxc-parser/binding-linux-x64-gnu@0.117.0': - resolution: {integrity: sha512-1QrTrf8rige7UPJrYuDKJLQOuJlgkt+nRSJLBMHWNm9TdivzP48HaK3f4q18EjNlglKtn03lgjMu4fryDm8X4A==} + '@oxc-parser/binding-linux-x64-gnu@0.120.0': + resolution: {integrity: sha512-q+5jSVZkprJCIy3dzJpApat0InJaoxQLsJuD6DkX8hrUS61z2lHQ1Fe9L2+TYbKHXCLWbL0zXe7ovkIdopBGMQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@oxc-parser/binding-linux-x64-gnu@0.120.0': - resolution: {integrity: sha512-q+5jSVZkprJCIy3dzJpApat0InJaoxQLsJuD6DkX8hrUS61z2lHQ1Fe9L2+TYbKHXCLWbL0zXe7ovkIdopBGMQ==} + '@oxc-parser/binding-linux-x64-gnu@0.126.0': + resolution: {integrity: sha512-wzocjxm34TbB3bFlqG65JiLtvf6ZDg2ZxRkLLbgXwDQUNU+0MPjQN8zy/0jBKNA5fnPLk3XeVdZ7Uin+7+CVkg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@oxc-parser/binding-linux-x64-gnu@0.126.0': - resolution: {integrity: sha512-wzocjxm34TbB3bFlqG65JiLtvf6ZDg2ZxRkLLbgXwDQUNU+0MPjQN8zy/0jBKNA5fnPLk3XeVdZ7Uin+7+CVkg==} + '@oxc-parser/binding-linux-x64-gnu@0.128.0': + resolution: {integrity: sha512-OO1nW2Q7sSYYvJZpDHdvyFSdRaVcQqRijZSSmWVMqFxPYy8cEF45zJ9fcdIYuzIT3jYq6YRhEFm/VMWNWhE22Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] @@ -3179,22 +3328,22 @@ packages: os: [linux] libc: [musl] - '@oxc-parser/binding-linux-x64-musl@0.117.0': - resolution: {integrity: sha512-gRvK6HPzF5ITRL68fqb2WYYs/hGviPIbkV84HWCgiJX+LkaOpp+HIHQl3zVZdyKHwopXToTbXbtx/oFjDjl8pg==} + '@oxc-parser/binding-linux-x64-musl@0.120.0': + resolution: {integrity: sha512-D9QDDZNnH24e7X4ftSa6ar/2hCavETfW3uk0zgcMIrZNy459O5deTbWrjGzZiVrSWigGtlQwzs2McBP0QsfV1w==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@oxc-parser/binding-linux-x64-musl@0.120.0': - resolution: {integrity: sha512-D9QDDZNnH24e7X4ftSa6ar/2hCavETfW3uk0zgcMIrZNy459O5deTbWrjGzZiVrSWigGtlQwzs2McBP0QsfV1w==} + '@oxc-parser/binding-linux-x64-musl@0.126.0': + resolution: {integrity: sha512-e83uftP60jmkPs2+CW6T6A1GYzN2H6IumDAiTntv9WyHR73PI3ImHNBkYqnA3ukeKI3xjcCbhSh9QeJWmufxGQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@oxc-parser/binding-linux-x64-musl@0.126.0': - resolution: {integrity: sha512-e83uftP60jmkPs2+CW6T6A1GYzN2H6IumDAiTntv9WyHR73PI3ImHNBkYqnA3ukeKI3xjcCbhSh9QeJWmufxGQ==} + '@oxc-parser/binding-linux-x64-musl@0.128.0': + resolution: {integrity: sha512-4NehAe404MRdoZVS9DW8C5XbJwbXIc/KfVlYdpi5vE4081zc9Y0YzKVqyOYj/Puye7/Do+ohaONBFWlEHYl9hw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] @@ -3212,12 +3361,6 @@ packages: cpu: [arm64] os: [openharmony] - '@oxc-parser/binding-openharmony-arm64@0.117.0': - resolution: {integrity: sha512-QPJvFbnnDZZY7xc+xpbIBWLThcGBakwaYA9vKV8b3+oS5MGfAZUoTFJcix5+Zg2Ri46sOfrUim6Y6jsKNcssAQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [openharmony] - '@oxc-parser/binding-openharmony-arm64@0.120.0': resolution: {integrity: sha512-TBU8ZwOUWAOUWVfmI16CYWbvh4uQb9zHnGBHsw5Cp2JUVG044OIY1CSHODLifqzQIMTXvDvLzcL89GGdUIqNrA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3230,6 +3373,12 @@ packages: cpu: [arm64] os: [openharmony] + '@oxc-parser/binding-openharmony-arm64@0.128.0': + resolution: {integrity: sha512-kVbqgW9xLL8bh8oc7aYOJilRKXE5G33+tE0jan+duo/9OriaFRpijcCwT2waWs2oqYROYq0GlE7/p3ywoshVeg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + '@oxc-parser/binding-wasm32-wasi@0.112.0': resolution: {integrity: sha512-Gr8X2PUU3hX1g3F5oLWIZB8DhzDmjr5TfOrmn5tlBOo9l8ojPGdKjnIBfObM7X15928vza8QRKW25RTR7jfivg==} engines: {node: '>=14.0.0'} @@ -3240,11 +3389,6 @@ packages: engines: {node: '>=14.0.0'} cpu: [wasm32] - '@oxc-parser/binding-wasm32-wasi@0.117.0': - resolution: {integrity: sha512-+XRSNA0xt3pk/6CUHM7pykVe7M8SdifJk8LX1+fIp/zefvR3HBieZCbwG5un8gogNgh7srLycoh/cQA9uozv5g==} - engines: {node: '>=14.0.0'} - cpu: [wasm32] - '@oxc-parser/binding-wasm32-wasi@0.120.0': resolution: {integrity: sha512-WG/FOZgDJCpJnuF3ToG/K28rcOmSY7FmFmfBKYb2fmLyhDzPpUldFGV7/Fz4ru0Iz/v4KPmf8xVgO8N3lO4KHA==} engines: {node: '>=14.0.0'} @@ -3255,6 +3399,11 @@ packages: engines: {node: '>=14.0.0'} cpu: [wasm32] + '@oxc-parser/binding-wasm32-wasi@0.128.0': + resolution: {integrity: sha512-L38ojghJYHmgiz6fJd7jwLB/ESDBpB02NdFxh+smqVM6P2anCEvHn0jhaSrt5eVNR1Ak8+moOeftUlofeyvniA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [wasm32] + '@oxc-parser/binding-win32-arm64-msvc@0.112.0': resolution: {integrity: sha512-t5CDLbU70Ea88bGRhvU/dLJTc/Wcrtf2Jp534E8P3cgjAvHDjdKsfDDqBZrhybJ8Jv9v9vW5ngE40EK51BluDA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3267,12 +3416,6 @@ packages: cpu: [arm64] os: [win32] - '@oxc-parser/binding-win32-arm64-msvc@0.117.0': - resolution: {integrity: sha512-GpxeGS+Vo030DsrXeRPc7OSJOQIyAHkM3mzwBcnQjg/79XnOIDDMXJ5X6/aNdkVt/+Pv35pqKzGA4TQau97x8w==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [win32] - '@oxc-parser/binding-win32-arm64-msvc@0.120.0': resolution: {integrity: sha512-1T0HKGcsz/BKo77t7+89L8Qvu4f9DoleKWHp3C5sJEcbCjDOLx3m9m722bWZTY+hANlUEs+yjlK+lBFsA+vrVQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3285,6 +3428,12 @@ packages: cpu: [arm64] os: [win32] + '@oxc-parser/binding-win32-arm64-msvc@0.128.0': + resolution: {integrity: sha512-xgvO35GyHBtjlQ5AEpaYr7Rll1rvY7zqIhT6ty8E3ezBW2J1SFLjIDEvI/tcgDg6oaseDAqVcM+jU1HuCekgZw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + '@oxc-parser/binding-win32-ia32-msvc@0.112.0': resolution: {integrity: sha512-rZH0JynCCwnhe2HfRoyNOl/Kfd9pudoWxgpC5OZhj7j77pMK0UOAa35hYDfrtSOUk2HLzrikV5dPUOY2DpSBSA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3297,12 +3446,6 @@ packages: cpu: [ia32] os: [win32] - '@oxc-parser/binding-win32-ia32-msvc@0.117.0': - resolution: {integrity: sha512-tchWEYiso1+objTZirmlR+w3fcIel6PVBOJ8NuC2Jr30dxBOiKUfFLovJLANwHg1+TzeD6pVSLIIIEf2T5o5lQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [ia32] - os: [win32] - '@oxc-parser/binding-win32-ia32-msvc@0.120.0': resolution: {integrity: sha512-L7vfLzbOXsjBXV0rv/6Y3Jd9BRjPeCivINZAqrSyAOZN3moCopDN+Psq9ZrGNZtJzP8946MtlRFZ0Als0wBCOw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3315,6 +3458,12 @@ packages: cpu: [ia32] os: [win32] + '@oxc-parser/binding-win32-ia32-msvc@0.128.0': + resolution: {integrity: sha512-OY+3eM2SN72prHKRB22mPz8o5A/7dJ+f5DFLBVvggyZhEaNDAH9IB+ElMjmOkOIwf5MDCUAowCK7pAncNxzpBA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ia32] + os: [win32] + '@oxc-parser/binding-win32-x64-msvc@0.112.0': resolution: {integrity: sha512-oGHluohzmVFAuQrkEnl1OXAxMz2aYmimxUqIgKXpBgbr7PvFv0doELB273sX+5V3fKeggohKg1A2Qq21W9Z9cQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3327,12 +3476,6 @@ packages: cpu: [x64] os: [win32] - '@oxc-parser/binding-win32-x64-msvc@0.117.0': - resolution: {integrity: sha512-ysRJAjIbB4e5y+t9PZs7TwbgOV/GVT//s30AORLCT/pedYwpYzHq6ApXK7is9fvyfZtgT3anNir8+esurmyaDw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [win32] - '@oxc-parser/binding-win32-x64-msvc@0.120.0': resolution: {integrity: sha512-ys+upfqNtSu58huAhJMBKl3XCkGzyVFBlMlGPzHeFKgpFF/OdgNs1MMf8oaJIbgMH8ZxgGF7qfue39eJohmKIg==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3345,6 +3488,12 @@ packages: cpu: [x64] os: [win32] + '@oxc-parser/binding-win32-x64-msvc@0.128.0': + resolution: {integrity: sha512-NE9ny+cPUCCObXa0IKLfj0tCdPd7pe/dz9ZpkxpUOymB3miNeMPybdlYYTBSGJUalMWeBM85/4JcCErCNTqOXw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + '@oxc-project/runtime@0.115.0': resolution: {integrity: sha512-Rg8Wlt5dCbXhQnsXPrkOjL1DTSvXLgb2R/KYfnf1/K+R0k6UMLEmbQXPM+kwrWqSmWA2t0B1EtHy2/3zikQpvQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3359,9 +3508,6 @@ packages: '@oxc-project/types@0.115.0': resolution: {integrity: sha512-4n91DKnebUS4yjUHl2g3/b2T+IUdCfmoZGhmwsovZCDaJSs+QkVAM+0AqqTxHSsHfeiMuueT75cZaZcT/m0pSw==} - '@oxc-project/types@0.117.0': - resolution: {integrity: sha512-C/kPXBphID44fXdsa2xSOCuzX8fKZiFxPsvucJ6Yfkr6CJlMA+kNLPNKyLoI+l9XlDsNxBrz6h7IIjKU8pB69w==} - '@oxc-project/types@0.120.0': resolution: {integrity: sha512-k1YNu55DuvAip/MGE1FTsIuU3FUCn6v/ujG9V7Nq5Df/kX2CWb13hhwD0lmJGMGqE+bE1MXvv9SZVnMzEXlWcg==} @@ -3371,6 +3517,9 @@ packages: '@oxc-project/types@0.126.0': resolution: {integrity: sha512-oGfVtjAgwQVVpfBrbtk4e1XDyWHRFta6BS3GWVzrF8xYBT2VGQAk39yJS/wFSMrZqoiCU4oghT3Ch0HaHGIHcQ==} + '@oxc-project/types@0.128.0': + resolution: {integrity: sha512-huv1Y/LzBJkBVHt3OlC7u0zHBW9qXf1FdD7sGmc1rXc2P1mTwHssYv7jyGx5KAACSCH+9B3Bhn6Z9luHRvf7pQ==} + '@oxc-resolver/binding-android-arm-eabi@11.19.1': resolution: {integrity: sha512-aUs47y+xyXHUKlbhqHUjBABjvycq6YSD7bpxSW7vplUmdzAlJ93yXY6ZR0c1o1x5A/QKbENCvs3+NlY8IpIVzg==} cpu: [arm] @@ -3485,8 +3634,8 @@ packages: cpu: [arm] os: [android] - '@oxc-transform/binding-android-arm-eabi@0.117.0': - resolution: {integrity: sha512-17giX7h5VR9Eodru4OoSCFdgwLFIaUxeEn8JWe0vMZrAuRbT9NiDTy5dXdbGQBoO8aXPkbGS38FGlvbi31aujw==} + '@oxc-transform/binding-android-arm-eabi@0.128.0': + resolution: {integrity: sha512-qVO4izEs88ZSo7KOK4P+O5nAXXJmkSadInvFjGkhVnm2R2Wr8trU/GLhjAK0S0u8Qv9bkXspNhgpECk+CTQ/ew==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [android] @@ -3497,8 +3646,8 @@ packages: cpu: [arm64] os: [android] - '@oxc-transform/binding-android-arm64@0.117.0': - resolution: {integrity: sha512-1LrDd1CPochtLx04pAafdah6QtOQQj0/Evttevi+0u8rCI5FKucIG7pqBHkIQi/y7pycFYIj+GebhET80maeUg==} + '@oxc-transform/binding-android-arm64@0.128.0': + resolution: {integrity: sha512-F3RXlbCzIgkpRWlz1PEguDZl5NzZRmbeHKTFTQWFnK6mIdw2EkWihPVv9+CIcO80c7+sF/YRGOBaji6hwUDhtQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] @@ -3509,8 +3658,8 @@ packages: cpu: [arm64] os: [darwin] - '@oxc-transform/binding-darwin-arm64@0.117.0': - resolution: {integrity: sha512-K1Xo52xJOvFfHSkz2ax9X5Qsku23RCfTIPbHZWdUCAQ1TQooI+sFcewSubhVUJ4DVK12/tYT//XXboumin+FHA==} + '@oxc-transform/binding-darwin-arm64@0.128.0': + resolution: {integrity: sha512-xj63gIzQ67LDYHCOWXSHgfx4LbPVz1ck0G3y0eR6mbgYk3CwwylbhWi/CaDC6BWsHwoLQryeYjHB5XBCR0EPMQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] @@ -3521,8 +3670,8 @@ packages: cpu: [x64] os: [darwin] - '@oxc-transform/binding-darwin-x64@0.117.0': - resolution: {integrity: sha512-ftFT/8Laolfq49mRRWLkIhd1AbJ0MI5bW3LwddvdoAg9zXwkx4qhzTYyBPRZhvXWftts+NjlHfHsXCOqI4tPtw==} + '@oxc-transform/binding-darwin-x64@0.128.0': + resolution: {integrity: sha512-YQkvFqNqpwEt197RjREAOWeRANalPtCD+ayZlx4IjTQ6IOYZEP83B9/++gTQisHV3r8E7dU8UqJKeSS1cHlTQg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] @@ -3533,8 +3682,8 @@ packages: cpu: [x64] os: [freebsd] - '@oxc-transform/binding-freebsd-x64@0.117.0': - resolution: {integrity: sha512-QDRyw0atg9BMnwOwnJeW6REzWPLEjiWtsCc2Sj612F1hCdvP+n0L3o8sHinEWM+BiOkOYtUxHA69WjUslc3G+g==} + '@oxc-transform/binding-freebsd-x64@0.128.0': + resolution: {integrity: sha512-Jvd3Ximb3x3o0+xRBB5lq63JlzxhJN787IsBjn0PEnmuocYQj+tJ5BB4n9xPIG27GXwg3ycckQPO/RsWeEcBPg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] @@ -3545,8 +3694,8 @@ packages: cpu: [arm] os: [linux] - '@oxc-transform/binding-linux-arm-gnueabihf@0.117.0': - resolution: {integrity: sha512-UvpvOjyQVgiIJahIpMT0qAsLJT8O1ibHTBgXGOsZkQgw1xmjARPQ07dpRcucPPn6cqCF3wrxfbqtr2vFHaMkdA==} + '@oxc-transform/binding-linux-arm-gnueabihf@0.128.0': + resolution: {integrity: sha512-TaRKWeGnAJNIdCa5+m0I8/SksBgkLX94iH40qy3chvLuaIOGAmOViUStYx8geXBzO9P99V7En8nHXLoqCONBRQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] @@ -3557,8 +3706,8 @@ packages: cpu: [arm] os: [linux] - '@oxc-transform/binding-linux-arm-musleabihf@0.117.0': - resolution: {integrity: sha512-cIhztGFjKk8ngP+/7EPkEhzWMGr2neezxgWirSn/f/MirjH234oHHGJ2diKIbGQEsy0aOuJMTkL9NLfzfmH51A==} + '@oxc-transform/binding-linux-arm-musleabihf@0.128.0': + resolution: {integrity: sha512-7TMrtA5/3SCvS+yMPrGnri5T4ZhIoCbjwKWV6Kn8d3v+vx7MpEmNkfe+CdF3rb5LlnuxeDMPwr1E2ntya0b8HQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] @@ -3570,8 +3719,8 @@ packages: os: [linux] libc: [glibc] - '@oxc-transform/binding-linux-arm64-gnu@0.117.0': - resolution: {integrity: sha512-mXbDfvDN0RZVg7v4LohNzU0kK3fMAZgkUKTkpFVgxEvzibEG5VpSznkypUwHI4a8U8pz+K6mGaLetX3Xt+CvvA==} + '@oxc-transform/binding-linux-arm64-gnu@0.128.0': + resolution: {integrity: sha512-lMQEa1jLBNm1N+5uvyj9zX9urVY4xKkLnhO8/4CtSGdXX+mExqsVawyQPAZqbtq1fLQ0yt1QYJ9YuM0+fiSJTQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] @@ -3584,8 +3733,8 @@ packages: os: [linux] libc: [musl] - '@oxc-transform/binding-linux-arm64-musl@0.117.0': - resolution: {integrity: sha512-ykxpPQp0eAcSmhy0Y3qKvdanHY4d8THPonDfmCoktUXb6r0X6qnjpJB3V+taN1wevW55bOEZd97kxtjTKjqhmg==} + '@oxc-transform/binding-linux-arm64-musl@0.128.0': + resolution: {integrity: sha512-dPSjyd0gQ9dE3mpdJi0BHNJaqQz4V7mVW6Fbs6jRSiGnrxwGfXdMJFInXoJ49B3k5Zhfa9Is9Ixp6St7c6ouCA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] @@ -3598,8 +3747,8 @@ packages: os: [linux] libc: [glibc] - '@oxc-transform/binding-linux-ppc64-gnu@0.117.0': - resolution: {integrity: sha512-Rvspti4Kr7eq6zSrURK5WjscfWQPvmy/KjJZV45neRKW8RLonE3r9+NgrwSLGoHvQ3F24fbqlkplox1RtlhH5A==} + '@oxc-transform/binding-linux-ppc64-gnu@0.128.0': + resolution: {integrity: sha512-YNa9XAotPKvAXFJrHC7kBsHMVg0HOB4vRiKuYUjzFsfLkxTbuztKHTKG/gW5kjp7dBw+TNFofTaVCVZgOnHXPQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] @@ -3612,8 +3761,8 @@ packages: os: [linux] libc: [glibc] - '@oxc-transform/binding-linux-riscv64-gnu@0.117.0': - resolution: {integrity: sha512-Dr2ZW9ZZ4l1eQ5JUEUY3smBh4JFPCPuybWaDZTLn3ADZjyd8ZtNXEjeMT8rQbbhbgSL9hEgbwaqraole3FNThQ==} + '@oxc-transform/binding-linux-riscv64-gnu@0.128.0': + resolution: {integrity: sha512-jjSiG9H8ya/U3igW5DdIBFIDwhffF7Vbc7th2tcHV73eg0DQz75n36a9RmQ1/0aS9vknUuNtY6SODr8/gmuzsQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] @@ -3626,8 +3775,8 @@ packages: os: [linux] libc: [musl] - '@oxc-transform/binding-linux-riscv64-musl@0.117.0': - resolution: {integrity: sha512-oD1Bnes1bIC3LVBSrWEoSUBj6fvatESPwAVWfJVGVQlqWuOs/ZBn1e4Nmbipo3KGPHK7DJY75r/j7CQCxhrOFQ==} + '@oxc-transform/binding-linux-riscv64-musl@0.128.0': + resolution: {integrity: sha512-FVUr/XNT7BfQA4XVMel/HTCJi5mQyEitslgX42ztYPnCFMRFG1sQQKgnlLJdl7qifuyxpvKLR1f7h7HEuwWw1Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] @@ -3640,8 +3789,8 @@ packages: os: [linux] libc: [glibc] - '@oxc-transform/binding-linux-s390x-gnu@0.117.0': - resolution: {integrity: sha512-qT//IAPLvse844t99Kff5j055qEbXfwzWgvCMb0FyjisnB8foy25iHZxZIocNBe6qwrCYWUP1M8rNrB/WyfS1Q==} + '@oxc-transform/binding-linux-s390x-gnu@0.128.0': + resolution: {integrity: sha512-caJnVw5PG8v339zAyHgA7p34xXa3A4Kc9VyrDgsT1znr51qacaUv4BRlgRi0qkqxRWXYNVFfsbU2g0t1qS7E9w==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] @@ -3654,8 +3803,8 @@ packages: os: [linux] libc: [glibc] - '@oxc-transform/binding-linux-x64-gnu@0.117.0': - resolution: {integrity: sha512-2YEO5X+KgNzFqRVO5dAkhjcI5gwxus4NSWVl/+cs2sI6P0MNPjqE3VWPawl4RTC11LvetiiZdHcujUCPM8aaUw==} + '@oxc-transform/binding-linux-x64-gnu@0.128.0': + resolution: {integrity: sha512-zkQKjsHEUX3ckQBcZTtHE/7pgFMkWQp6y/4t7N8eT3j8wnoL+vapv7l4ISjgx1/EePRJN1HErYXmriz7tPVKRg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] @@ -3668,8 +3817,8 @@ packages: os: [linux] libc: [musl] - '@oxc-transform/binding-linux-x64-musl@0.117.0': - resolution: {integrity: sha512-3wqWbTSaIFZvDr1aqmTul4cg8PRWYh6VC52E8bLI7ytgS/BwJLW+sDUU2YaGIds4sAf/1yKeJRmudRCDPW9INg==} + '@oxc-transform/binding-linux-x64-musl@0.128.0': + resolution: {integrity: sha512-NjYtwl9ijp34iisHxYBvE7nii1Ac0QPP3doHv8MQHhDA3zjUcDCROuBNybfaEYCxnJ1aF+cAPqsyeopnAGsyuQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] @@ -3681,8 +3830,8 @@ packages: cpu: [arm64] os: [openharmony] - '@oxc-transform/binding-openharmony-arm64@0.117.0': - resolution: {integrity: sha512-Ebxx6NPqhzlrjvx4+PdSqbOq+li0f7X59XtJljDghkbJsbnkHvhLmPR09ifHt5X32UlZN63ekjwcg/nbmHLLlA==} + '@oxc-transform/binding-openharmony-arm64@0.128.0': + resolution: {integrity: sha512-itsi0tVkVdrYphSppdFChLq9tD0pvbRRS3EV8NQYKZ/NWHMoxzjlf9TFA/ZZYV113juYo1Dq3glVX48knhBeFQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] @@ -3692,9 +3841,9 @@ packages: engines: {node: '>=14.0.0'} cpu: [wasm32] - '@oxc-transform/binding-wasm32-wasi@0.117.0': - resolution: {integrity: sha512-Nn8mmcBiQ0XKHLTb05QBlH+CDkn7jf5YDVv9FtKhy4zJT0NEU9y3dXVbfcurOpsVrG9me4ktzDQNCaAoJjUQyw==} - engines: {node: '>=14.0.0'} + '@oxc-transform/binding-wasm32-wasi@0.128.0': + resolution: {integrity: sha512-elzjX2gy1jcseeFaKtbk/6T2FPTpGNx0IpeD0iyk6cahWN7wD6eHY5u7th1X85cYbRq9rqniS+xYIxN3StthWg==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [wasm32] '@oxc-transform/binding-win32-arm64-msvc@0.112.0': @@ -3703,8 +3852,8 @@ packages: cpu: [arm64] os: [win32] - '@oxc-transform/binding-win32-arm64-msvc@0.117.0': - resolution: {integrity: sha512-15cbsF8diXWGnHrTsVgVeabETiT/KdMAfRAcot99xsaVecJs3pITNNjC6Qj+/TPNpehbgIFjlhhxOVSbQsTBgg==} + '@oxc-transform/binding-win32-arm64-msvc@0.128.0': + resolution: {integrity: sha512-p5LmbI66dk2dziJSUzjQ24gOWeI6pJpXcOC6famloRtKCq54V5/KegsztFgZZCtYFEAEqFgcfspFHrV+CcKWcg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] @@ -3715,8 +3864,8 @@ packages: cpu: [ia32] os: [win32] - '@oxc-transform/binding-win32-ia32-msvc@0.117.0': - resolution: {integrity: sha512-I6DkhCuFX6p9rckdWiLuZfBWrrYUC7sNX+zLaCfa5zvrPNwo1/29KkefvqXVxu3AWT/6oZAbtc0A8/mqhETJPQ==} + '@oxc-transform/binding-win32-ia32-msvc@0.128.0': + resolution: {integrity: sha512-CMU3Yn05rXeLw7GyVlDB3bbp2iV14yt3VWyF0pNuMK9NVgOmUkXgFLe5SOcX9rEm64TRJjOMEghtE5+r0GtqIQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ia32] os: [win32] @@ -3727,8 +3876,8 @@ packages: cpu: [x64] os: [win32] - '@oxc-transform/binding-win32-x64-msvc@0.117.0': - resolution: {integrity: sha512-V7YzavQnYcRJBeJkp0qpb3FKrlm5I57XJetCYB4jsjStuboQmnFMZ/XQH55Szlf/kVyeU9ddQwv72gJJ5BrGjQ==} + '@oxc-transform/binding-win32-x64-msvc@0.128.0': + resolution: {integrity: sha512-Vck5AdNH2JPYMQWVDxvX5PbDFfqVG+tCOgKJzAC/S9bgbD3qcMjN5Dx6FOmEbwY3hZm//fzOsY4tErofoiK/aQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] @@ -3891,42 +4040,84 @@ packages: cpu: [arm] os: [android] + '@oxlint/binding-android-arm-eabi@1.61.0': + resolution: {integrity: sha512-6eZBPgiigK5txqoVgRqxbaxiom4lM8AP8CyKPPvpzKnQ3iFRFOIDc+0AapF+qsUSwjOzr5SGk4SxQDpQhkSJMQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] + '@oxlint/binding-android-arm64@1.58.0': resolution: {integrity: sha512-GryzujxuiRv2YFF7bRy8mKcxlbuAN+euVUtGJt9KKbLT8JBUIosamVhcthLh+VEr6KE6cjeVMAQxKAzJcoN7dg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] + '@oxlint/binding-android-arm64@1.61.0': + resolution: {integrity: sha512-CkwLR69MUnyv5wjzebvbbtTSUwqLxM35CXE79bHqDIK+NtKmPEUpStTcLQRZMCo4MP0qRT6TXIQVpK0ZVScnMA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + '@oxlint/binding-darwin-arm64@1.58.0': resolution: {integrity: sha512-7/bRSJIwl4GxeZL9rPZ11anNTyUO9epZrfEJH/ZMla3+/gbQ6xZixh9nOhsZ0QwsTW7/5J2A/fHbD1udC5DQQA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] + '@oxlint/binding-darwin-arm64@1.61.0': + resolution: {integrity: sha512-8JbefTkbmvqkqWjmQrHke+MdpgT2UghhD/ktM4FOQSpGeCgbMToJEKdl9zwhr/YWTl92i4QI1KiTwVExpcUN8A==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + '@oxlint/binding-darwin-x64@1.58.0': resolution: {integrity: sha512-EqdtJSiHweS2vfILNrpyJ6HUwpEq2g7+4Zx1FPi4hu3Hu7tC3znF6ufbXO8Ub2LD4mGgznjI7kSdku9NDD1Mkg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] + '@oxlint/binding-darwin-x64@1.61.0': + resolution: {integrity: sha512-uWpoxDT47hTnDLcdEh5jVbso8rlTTu5o0zuqa9J8E0JAKmIWn7kGFEIB03Pycn2hd2vKxybPGLhjURy/9We5FQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + '@oxlint/binding-freebsd-x64@1.58.0': resolution: {integrity: sha512-VQt5TH4M42mY20F545G637RKxV/yjwVtKk2vfXuazfReSIiuvWBnv+FVSvIV5fKVTJNjt3GSJibh6JecbhGdBw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] + '@oxlint/binding-freebsd-x64@1.61.0': + resolution: {integrity: sha512-K/o4hEyW7flfMel0iBVznmMBt7VIMHGdjADocHKpK1DUF9erpWnJ+BSSWd2W0c8K3mPtpph+CuHzRU6CI3l9jQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + '@oxlint/binding-linux-arm-gnueabihf@1.58.0': resolution: {integrity: sha512-fBYcj4ucwpAtjJT3oeBdFBYKvNyjRSK+cyuvBOTQjh0jvKp4yeA4S/D0IsCHus/VPaNG5L48qQkh+Vjy3HL2/Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] + '@oxlint/binding-linux-arm-gnueabihf@1.61.0': + resolution: {integrity: sha512-P6040ZkcyweJ0Po9yEFqJCdvZnf3VNCGs1SIHgXDf8AAQNC6ID/heXQs9iSgo2FH7gKaKq32VWc59XZwL34C5Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + '@oxlint/binding-linux-arm-musleabihf@1.58.0': resolution: {integrity: sha512-0BeuFfwlUHlJ1xpEdSD1YO3vByEFGPg36uLjK1JgFaxFb4W6w17F8ET8sz5cheZ4+x5f2xzdnRrrWv83E3Yd8g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] + '@oxlint/binding-linux-arm-musleabihf@1.61.0': + resolution: {integrity: sha512-bwxrGCzTZkuB+THv2TQ1aTkVEfv5oz8sl+0XZZCpoYzErJD8OhPQOTA0ENPd1zJz8QsVdSzSrS2umKtPq4/JXg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + '@oxlint/binding-linux-arm64-gnu@1.58.0': resolution: {integrity: sha512-TXlZgnPTlxrQzxG9ZXU7BNwx1Ilrr17P3GwZY0If2EzrinqRH3zXPc3HrRcBJgcsoZNMuNL5YivtkJYgp467UQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3934,6 +4125,13 @@ packages: os: [linux] libc: [glibc] + '@oxlint/binding-linux-arm64-gnu@1.61.0': + resolution: {integrity: sha512-vkhb9/wKguMkLlrm3FoJW/Xmdv31GgYAE+x8lxxQ+7HeOxXUySI0q36a3NTVIuQUdLzxCI1zzMGsk1o37FOe3w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + '@oxlint/binding-linux-arm64-musl@1.58.0': resolution: {integrity: sha512-zSoYRo5dxHLcUx93Stl2hW3hSNjPt99O70eRVWt5A1zwJ+FPjeCCANCD2a9R4JbHsdcl11TIQOjyigcRVOH2mw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3941,6 +4139,13 @@ packages: os: [linux] libc: [musl] + '@oxlint/binding-linux-arm64-musl@1.61.0': + resolution: {integrity: sha512-bl1dQh8LnVqsj6oOQAcxwbuOmNJkwc4p6o//HTBZhNTzJy21TLDwAviMqUFNUxDHkPGpmdKTSN4tWTjLryP8xg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + '@oxlint/binding-linux-ppc64-gnu@1.58.0': resolution: {integrity: sha512-NQ0U/lqxH2/VxBYeAIvMNUK1y0a1bJ3ZicqkF2c6wfakbEciP9jvIE4yNzCFpZaqeIeRYaV7AVGqEO1yrfVPjA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3948,6 +4153,13 @@ packages: os: [linux] libc: [glibc] + '@oxlint/binding-linux-ppc64-gnu@1.61.0': + resolution: {integrity: sha512-QoOX6KB2IiEpyOj/HKqaxi+NQHPnOgNgnr22n9N4ANJCzXkUlj1UmeAbFb4PpqdlHIzvGDM5xZ0OKtcLq9RhiQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + '@oxlint/binding-linux-riscv64-gnu@1.58.0': resolution: {integrity: sha512-X9J+kr3gIC9FT8GuZt0ekzpNUtkBVzMVU4KiKDSlocyQuEgi3gBbXYN8UkQiV77FTusLDPsovjo95YedHr+3yg==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3955,6 +4167,13 @@ packages: os: [linux] libc: [glibc] + '@oxlint/binding-linux-riscv64-gnu@1.61.0': + resolution: {integrity: sha512-1TGcTerjY6p152wCof3oKElccq3xHljS/Mucp04gV/4ATpP6nO7YNnp7opEg6SHkv2a57/b4b8Ndm9znJ1/qAw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [glibc] + '@oxlint/binding-linux-riscv64-musl@1.58.0': resolution: {integrity: sha512-CDze3pi1OO3Wvb/QsXjmLEY4XPKGM6kIo82ssNOgmcl1IdndF9VSGAE38YLhADWmOac7fjqhBw82LozuUVxD0Q==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3962,6 +4181,13 @@ packages: os: [linux] libc: [musl] + '@oxlint/binding-linux-riscv64-musl@1.61.0': + resolution: {integrity: sha512-65wXEmZIrX2ADwC8i/qFL4EWLSbeuBpAm3suuX1vu4IQkKd+wLT/HU/BOl84kp91u2SxPkPDyQgu4yrqp8vwVA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [musl] + '@oxlint/binding-linux-s390x-gnu@1.58.0': resolution: {integrity: sha512-b/89glbxFaEAcA6Uf1FvCNecBJEgcUTsV1quzrqXM/o4R1M4u+2KCVuyGCayN2UpsRWtGGLb+Ver0tBBpxaPog==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3969,6 +4195,13 @@ packages: os: [linux] libc: [glibc] + '@oxlint/binding-linux-s390x-gnu@1.61.0': + resolution: {integrity: sha512-TVvhgMvor7Qa6COeXxCJ7ENOM+lcAOGsQ0iUdPSCv2hxb9qSHLQ4XF1h50S6RE1gBOJ0WV3rNukg4JJJP1LWRA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + '@oxlint/binding-linux-x64-gnu@1.58.0': resolution: {integrity: sha512-0/yYpkq9VJFCEcuRlrViGj8pJUFFvNS4EkEREaN7CB1EcLXJIaVSSa5eCihwBGXtOZxhnblWgxks9juRdNQI7w==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3976,6 +4209,13 @@ packages: os: [linux] libc: [glibc] + '@oxlint/binding-linux-x64-gnu@1.61.0': + resolution: {integrity: sha512-SjpS5uYuFoDnDdZPwZE59ndF95AsY47R5MliuneTWR1pDm2CxGJaYXbKULI71t5TVfLQUWmrHEGRL9xvuq6dnA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + '@oxlint/binding-linux-x64-musl@1.58.0': resolution: {integrity: sha512-hr6FNvmcAXiH+JxSvaJ4SJ1HofkdqEElXICW9sm3/Rd5eC3t7kzvmLyRAB3NngKO2wzXRCAm4Z/mGWfrsS4X8w==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3983,122 +4223,153 @@ packages: os: [linux] libc: [musl] + '@oxlint/binding-linux-x64-musl@1.61.0': + resolution: {integrity: sha512-gGfAeGD4sNJGILZbc/yKcIimO9wQnPMoYp9swAaKeEtwsSQAbU+rsdQze5SBtIP6j0QDzeYd4XSSUCRCF+LIeQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + '@oxlint/binding-openharmony-arm64@1.58.0': resolution: {integrity: sha512-R+O368VXgRql1K6Xar+FEo7NEwfo13EibPMoTv3sesYQedRXd6m30Dh/7lZMxnrQVFfeo4EOfYIP4FpcgWQNHg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] + '@oxlint/binding-openharmony-arm64@1.61.0': + resolution: {integrity: sha512-OlVT0LrG/ct33EVtWRyR+B/othwmDWeRxfi13wUdPeb3lAT5TgTcFDcfLfarZtzB4W1nWF/zICMgYdkggX2WmQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + '@oxlint/binding-win32-arm64-msvc@1.58.0': resolution: {integrity: sha512-Q0FZiAY/3c4YRj4z3h9K1PgaByrifrfbBoODSeX7gy97UtB7pySPUQfC2B/GbxWU6k7CzQrRy5gME10PltLAFQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] + '@oxlint/binding-win32-arm64-msvc@1.61.0': + resolution: {integrity: sha512-vI//NZPJk6DToiovPtaiwD4iQ7kO1r5ReWQD0sOOyKRtP3E2f6jxin4uvwi3OvDzHA2EFfd7DcZl5dtkQh7g1w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + '@oxlint/binding-win32-ia32-msvc@1.58.0': resolution: {integrity: sha512-Y8FKBABrSPp9H0QkRLHDHOSUgM/309a3IvOVgPcVxYcX70wxJrk608CuTg7w+C6vEd724X5wJoNkBcGYfH7nNQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ia32] os: [win32] + '@oxlint/binding-win32-ia32-msvc@1.61.0': + resolution: {integrity: sha512-0ySj4/4zd2XjePs3XAQq7IigIstN4LPQZgCyigX5/ERMLjdWAJfnxcTsrtxZxuij8guJW8foXuHmhGxW0H4dDA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ia32] + os: [win32] + '@oxlint/binding-win32-x64-msvc@1.58.0': resolution: {integrity: sha512-bCn5rbiz5My+Bj7M09sDcnqW0QJyINRVxdZ65x1/Y2tGrMwherwK/lpk+HRQCKvXa8pcaQdF5KY5j54VGZLwNg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] - '@parcel/watcher-android-arm64@2.5.4': - resolution: {integrity: sha512-hoh0vx4v+b3BNI7Cjoy2/B0ARqcwVNrzN/n7DLq9ZB4I3lrsvhrkCViJyfTj/Qi5xM9YFiH4AmHGK6pgH1ss7g==} + '@oxlint/binding-win32-x64-msvc@1.61.0': + resolution: {integrity: sha512-0xgSiyeqDLDZxXoe9CVJrOx3TUVsfyoOY7cNi03JbItNcC9WCZqrSNdrAbHONxhSPaVh/lzfnDcON1RqSUMhHw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + + '@parcel/watcher-android-arm64@2.5.6': + resolution: {integrity: sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [android] - '@parcel/watcher-darwin-arm64@2.5.4': - resolution: {integrity: sha512-kphKy377pZiWpAOyTgQYPE5/XEKVMaj6VUjKT5VkNyUJlr2qZAn8gIc7CPzx+kbhvqHDT9d7EqdOqRXT6vk0zw==} + '@parcel/watcher-darwin-arm64@2.5.6': + resolution: {integrity: sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [darwin] - '@parcel/watcher-darwin-x64@2.5.4': - resolution: {integrity: sha512-UKaQFhCtNJW1A9YyVz3Ju7ydf6QgrpNQfRZ35wNKUhTQ3dxJ/3MULXN5JN/0Z80V/KUBDGa3RZaKq1EQT2a2gg==} + '@parcel/watcher-darwin-x64@2.5.6': + resolution: {integrity: sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [darwin] - '@parcel/watcher-freebsd-x64@2.5.4': - resolution: {integrity: sha512-Dib0Wv3Ow/m2/ttvLdeI2DBXloO7t3Z0oCp4bAb2aqyqOjKPPGrg10pMJJAQ7tt8P4V2rwYwywkDhUia/FgS+Q==} + '@parcel/watcher-freebsd-x64@2.5.6': + resolution: {integrity: sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [freebsd] - '@parcel/watcher-linux-arm-glibc@2.5.4': - resolution: {integrity: sha512-I5Vb769pdf7Q7Sf4KNy8Pogl/URRCKu9ImMmnVKYayhynuyGYMzuI4UOWnegQNa2sGpsPSbzDsqbHNMyeyPCgw==} + '@parcel/watcher-linux-arm-glibc@2.5.6': + resolution: {integrity: sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ==} engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] libc: [glibc] - '@parcel/watcher-linux-arm-musl@2.5.4': - resolution: {integrity: sha512-kGO8RPvVrcAotV4QcWh8kZuHr9bXi9a3bSZw7kFarYR0+fGliU7hd/zevhjw8fnvIKG3J9EO5G6sXNGCSNMYPQ==} + '@parcel/watcher-linux-arm-musl@2.5.6': + resolution: {integrity: sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==} engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] libc: [musl] - '@parcel/watcher-linux-arm64-glibc@2.5.4': - resolution: {integrity: sha512-KU75aooXhqGFY2W5/p8DYYHt4hrjHZod8AhcGAmhzPn/etTa+lYCDB2b1sJy3sWJ8ahFVTdy+EbqSBvMx3iFlw==} + '@parcel/watcher-linux-arm64-glibc@2.5.6': + resolution: {integrity: sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] libc: [glibc] - '@parcel/watcher-linux-arm64-musl@2.5.4': - resolution: {integrity: sha512-Qx8uNiIekVutnzbVdrgSanM+cbpDD3boB1f8vMtnuG5Zau4/bdDbXyKwIn0ToqFhIuob73bcxV9NwRm04/hzHQ==} + '@parcel/watcher-linux-arm64-musl@2.5.6': + resolution: {integrity: sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] libc: [musl] - '@parcel/watcher-linux-x64-glibc@2.5.4': - resolution: {integrity: sha512-UYBQvhYmgAv61LNUn24qGQdjtycFBKSK3EXr72DbJqX9aaLbtCOO8+1SkKhD/GNiJ97ExgcHBrukcYhVjrnogA==} + '@parcel/watcher-linux-x64-glibc@2.5.6': + resolution: {integrity: sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] libc: [glibc] - '@parcel/watcher-linux-x64-musl@2.5.4': - resolution: {integrity: sha512-YoRWCVgxv8akZrMhdyVi6/TyoeeMkQ0PGGOf2E4omODrvd1wxniXP+DBynKoHryStks7l+fDAMUBRzqNHrVOpg==} + '@parcel/watcher-linux-x64-musl@2.5.6': + resolution: {integrity: sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] libc: [musl] - '@parcel/watcher-wasm@2.5.4': - resolution: {integrity: sha512-9Cn7GFQevsvKjUKIP4lh7MNwak6z9e1DcOK0g9sJc8O8qRAbnet8uBNg0mMRY+MU+z3a6EEl9u9bhSFKhx5kCw==} + '@parcel/watcher-wasm@2.5.6': + resolution: {integrity: sha512-byAiBZ1t3tXQvc8dMD/eoyE7lTXYorhn+6uVW5AC+JGI1KtJC/LvDche5cfUE+qiefH+Ybq0bUCJU0aB1cSHUA==} engines: {node: '>= 10.0.0'} bundledDependencies: - napi-wasm - '@parcel/watcher-win32-arm64@2.5.4': - resolution: {integrity: sha512-iby+D/YNXWkiQNYcIhg8P5hSjzXEHaQrk2SLrWOUD7VeC4Ohu0WQvmV+HDJokZVJ2UjJ4AGXW3bx7Lls9Ln4TQ==} + '@parcel/watcher-win32-arm64@2.5.6': + resolution: {integrity: sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [win32] - '@parcel/watcher-win32-ia32@2.5.4': - resolution: {integrity: sha512-vQN+KIReG0a2ZDpVv8cgddlf67J8hk1WfZMMP7sMeZmJRSmEax5xNDNWKdgqSe2brOKTQQAs3aCCUal2qBHAyg==} + '@parcel/watcher-win32-ia32@2.5.6': + resolution: {integrity: sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g==} engines: {node: '>= 10.0.0'} cpu: [ia32] os: [win32] - '@parcel/watcher-win32-x64@2.5.4': - resolution: {integrity: sha512-3A6efb6BOKwyw7yk9ro2vus2YTt2nvcd56AuzxdMiVOxL9umDyN5PKkKfZ/gZ9row41SjVmTVQNWQhaRRGpOKw==} + '@parcel/watcher-win32-x64@2.5.6': + resolution: {integrity: sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [win32] - '@parcel/watcher@2.5.4': - resolution: {integrity: sha512-WYa2tUVV5HiArWPB3ydlOc4R2ivq0IDrlqhMi3l7mVsFEXNcTfxYFPIHXHXIh/ca/y/V5N4E1zecyxdIBjYnkQ==} + '@parcel/watcher@2.5.6': + resolution: {integrity: sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==} engines: {node: '>= 10.0.0'} '@pkgjs/parseargs@0.11.0': @@ -4402,12 +4673,12 @@ packages: cpu: [x64] os: [win32] + '@rolldown/pluginutils@1.0.0-rc.13': + resolution: {integrity: sha512-3ngTAv6F/Py35BsYbeeLeecvhMKdsKm4AoOETVhAA+Qc8nrA2I0kF7oa93mE9qnIurngOSpMnQ0x2nQY2FPviA==} + '@rolldown/pluginutils@1.0.0-rc.16': resolution: {integrity: sha512-45+YtqxLYKDWQouLKCrpIZhke+nXxhsw+qAHVzHDVwttyBlHNBVs2K25rDXrZzhpTp9w1FlAlvweV1H++fdZoA==} - '@rolldown/pluginutils@1.0.0-rc.2': - resolution: {integrity: sha512-izyXV/v+cHiRfozX62W9htOAvwMo4/bXKDrQ+vom1L1qRuexPock/7VZDAhnpHCLNejd3NJ6hiab+tO0D44Rgw==} - '@rolldown/pluginutils@1.0.0-rc.9': resolution: {integrity: sha512-w6oiRWgEBl04QkFZgmW+jnU1EC9b57Oihi2ot3HNWIQRqgHp5PnYDia5iZ5FF7rpa4EQdiqMDXjlqKGXBhsoXw==} @@ -4431,8 +4702,8 @@ packages: '@types/babel__core': optional: true - '@rollup/plugin-commonjs@29.0.0': - resolution: {integrity: sha512-U2YHaxR2cU/yAiwKJtJRhnyLk7cifnQw0zUpISsocBDoHDJn+HTV74ABqnwr5bEgWUwFZC9oFL6wLe21lHu5eQ==} + '@rollup/plugin-commonjs@29.0.2': + resolution: {integrity: sha512-S/ggWH1LU7jTyi9DxZOKyxpVd4hF/OZ0JrEbeLjXk/DFXwRny0tjD2c992zOUYQobLrVkRVMDdmHP16HKP7GRg==} engines: {node: '>=16.0.0 || 14 >= 14.17'} peerDependencies: rollup: ^2.68.0||^3.0.0||^4.0.0 @@ -4499,6 +4770,15 @@ packages: rollup: optional: true + '@rollup/plugin-terser@1.0.0': + resolution: {integrity: sha512-FnCxhTBx6bMOYQrar6C8h3scPt8/JwIzw3+AJ2K++6guogH5fYaIFia+zZuhqv0eo1RN7W1Pz630SyvLbDjhtQ==} + engines: {node: '>=20.0.0'} + peerDependencies: + rollup: ^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + '@rollup/plugin-yaml@4.1.2': resolution: {integrity: sha512-RpupciIeZMUqhgFE97ba0s98mOFS7CWzN3EJNhJkqSv9XLlWYtwVdtE6cDw6ASOF/sZVFS7kRJXftaqM2Vakdw==} engines: {node: '>=14.0.0'} @@ -4523,141 +4803,141 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.56.0': - resolution: {integrity: sha512-LNKIPA5k8PF1+jAFomGe3qN3bbIgJe/IlpDBwuVjrDKrJhVWywgnJvflMt/zkbVNLFtF1+94SljYQS6e99klnw==} + '@rollup/rollup-android-arm-eabi@4.60.3': + resolution: {integrity: sha512-x35CNW/ANXG3hE/EZpRU8MXX1JDN86hBb2wMGAtltkz7pc6cxgjpy1OMMfDosOQ+2hWqIkag/fGok1Yady9nGw==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.56.0': - resolution: {integrity: sha512-lfbVUbelYqXlYiU/HApNMJzT1E87UPGvzveGg2h0ktUNlOCxKlWuJ9jtfvs1sKHdwU4fzY7Pl8sAl49/XaEk6Q==} + '@rollup/rollup-android-arm64@4.60.3': + resolution: {integrity: sha512-xw3xtkDApIOGayehp2+Rz4zimfkaX65r4t47iy+ymQB2G4iJCBBfj0ogVg5jpvjpn8UWn/+q9tprxleYeNp3Hw==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.56.0': - resolution: {integrity: sha512-EgxD1ocWfhoD6xSOeEEwyE7tDvwTgZc8Bss7wCWe+uc7wO8G34HHCUH+Q6cHqJubxIAnQzAsyUsClt0yFLu06w==} + '@rollup/rollup-darwin-arm64@4.60.3': + resolution: {integrity: sha512-vo6Y5Qfpx7/5EaamIwi0WqW2+zfiusVihKatLvtN1VFVy3D13uERk/6gZLU1UiHRL6fDXqj/ELIeVRGnvcTE1g==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.56.0': - resolution: {integrity: sha512-1vXe1vcMOssb/hOF8iv52A7feWW2xnu+c8BV4t1F//m9QVLTfNVpEdja5ia762j/UEJe2Z1jAmEqZAK42tVW3g==} + '@rollup/rollup-darwin-x64@4.60.3': + resolution: {integrity: sha512-D+0QGcZhBzTN82weOnsSlY7V7+RMmPuF1CkbxyMAGE8+ZHeUjyb76ZiWmBlCu//AQQONvxcqRbwZTajZKqjuOw==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.56.0': - resolution: {integrity: sha512-bof7fbIlvqsyv/DtaXSck4VYQ9lPtoWNFCB/JY4snlFuJREXfZnm+Ej6yaCHfQvofJDXLDMTVxWscVSuQvVWUQ==} + '@rollup/rollup-freebsd-arm64@4.60.3': + resolution: {integrity: sha512-6HnvHCT7fDyj6R0Ph7A6x8dQS/S38MClRWeDLqc0MdfWkxjiu1HSDYrdPhqSILzjTIC/pnXbbJbo+ft+gy/9hQ==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.56.0': - resolution: {integrity: sha512-KNa6lYHloW+7lTEkYGa37fpvPq+NKG/EHKM8+G/g9WDU7ls4sMqbVRV78J6LdNuVaeeK5WB9/9VAFbKxcbXKYg==} + '@rollup/rollup-freebsd-x64@4.60.3': + resolution: {integrity: sha512-KHLgC3WKlUYW3ShFKnnosZDOJ0xjg9zp7au3sIm2bs/tGBeC2ipmvRh/N7JKi0t9Ue20C0dpEshi8WUubg+cnA==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.56.0': - resolution: {integrity: sha512-E8jKK87uOvLrrLN28jnAAAChNq5LeCd2mGgZF+fGF5D507WlG/Noct3lP/QzQ6MrqJ5BCKNwI9ipADB6jyiq2A==} + '@rollup/rollup-linux-arm-gnueabihf@4.60.3': + resolution: {integrity: sha512-DV6fJoxEYWJOvaZIsok7KrYl0tPvga5OZ2yvKHNNYyk/2roMLqQAbGhr78EQ5YhHpnhLKJD3S1WFusAkmUuV5g==} cpu: [arm] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm-musleabihf@4.56.0': - resolution: {integrity: sha512-jQosa5FMYF5Z6prEpTCCmzCXz6eKr/tCBssSmQGEeozA9tkRUty/5Vx06ibaOP9RCrW1Pvb8yp3gvZhHwTDsJw==} + '@rollup/rollup-linux-arm-musleabihf@4.60.3': + resolution: {integrity: sha512-mQKoJAzvuOs6F+TZybQO4GOTSMUu7v0WdxEk24krQ/uUxXoPTtHjuaUuPmFhtBcM4K0ons8nrE3JyhTuCFtT/w==} cpu: [arm] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm64-gnu@4.56.0': - resolution: {integrity: sha512-uQVoKkrC1KGEV6udrdVahASIsaF8h7iLG0U0W+Xn14ucFwi6uS539PsAr24IEF9/FoDtzMeeJXJIBo5RkbNWvQ==} + '@rollup/rollup-linux-arm64-gnu@4.60.3': + resolution: {integrity: sha512-Whjj2qoiJ6+OOJMGptTYazaJvjOJm+iKHpXQM1P3LzGjt7Ff++Tp7nH4N8J/BUA7R9IHfDyx4DJIflifwnbmIA==} cpu: [arm64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm64-musl@4.56.0': - resolution: {integrity: sha512-vLZ1yJKLxhQLFKTs42RwTwa6zkGln+bnXc8ueFGMYmBTLfNu58sl5/eXyxRa2RarTkJbXl8TKPgfS6V5ijNqEA==} + '@rollup/rollup-linux-arm64-musl@4.60.3': + resolution: {integrity: sha512-4YTNHKqGng5+yiZt3mg77nmyuCfmNfX4fPmyUapBcIk+BdwSwmCWGXOUxhXbBEkFHtoN5boLj/5NON+u5QC9tg==} cpu: [arm64] os: [linux] libc: [musl] - '@rollup/rollup-linux-loong64-gnu@4.56.0': - resolution: {integrity: sha512-FWfHOCub564kSE3xJQLLIC/hbKqHSVxy8vY75/YHHzWvbJL7aYJkdgwD/xGfUlL5UV2SB7otapLrcCj2xnF1dg==} + '@rollup/rollup-linux-loong64-gnu@4.60.3': + resolution: {integrity: sha512-SU3kNlhkpI4UqlUc2VXPGK9o886ZsSeGfMAX2ba2b8DKmMXq4AL7KUrkSWVbb7koVqx41Yczx6dx5PNargIrEA==} cpu: [loong64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-loong64-musl@4.56.0': - resolution: {integrity: sha512-z1EkujxIh7nbrKL1lmIpqFTc/sr0u8Uk0zK/qIEFldbt6EDKWFk/pxFq3gYj4Bjn3aa9eEhYRlL3H8ZbPT1xvA==} + '@rollup/rollup-linux-loong64-musl@4.60.3': + resolution: {integrity: sha512-6lDLl5h4TXpB1mTf2rQWnAk/LcXrx9vBfu/DT5TIPhvMhRWaZ5MxkIc8u4lJAmBo6klTe1ywXIUHFjylW505sg==} cpu: [loong64] os: [linux] libc: [musl] - '@rollup/rollup-linux-ppc64-gnu@4.56.0': - resolution: {integrity: sha512-iNFTluqgdoQC7AIE8Q34R3AuPrJGJirj5wMUErxj22deOcY7XwZRaqYmB6ZKFHoVGqRcRd0mqO+845jAibKCkw==} + '@rollup/rollup-linux-ppc64-gnu@4.60.3': + resolution: {integrity: sha512-BMo8bOw8evlup/8G+cj5xWtPyp93xPdyoSN16Zy90Q2QZ0ZYRhCt6ZJSwbrRzG9HApFabjwj2p25TUPDWrhzqQ==} cpu: [ppc64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-ppc64-musl@4.56.0': - resolution: {integrity: sha512-MtMeFVlD2LIKjp2sE2xM2slq3Zxf9zwVuw0jemsxvh1QOpHSsSzfNOTH9uYW9i1MXFxUSMmLpeVeUzoNOKBaWg==} + '@rollup/rollup-linux-ppc64-musl@4.60.3': + resolution: {integrity: sha512-E0L8X1dZN1/Rph+5VPF6Xj2G7JJvMACVXtamTJIDrVI44Y3K+G8gQaMEAavbqCGTa16InptiVrX6eM6pmJ+7qA==} cpu: [ppc64] os: [linux] libc: [musl] - '@rollup/rollup-linux-riscv64-gnu@4.56.0': - resolution: {integrity: sha512-in+v6wiHdzzVhYKXIk5U74dEZHdKN9KH0Q4ANHOTvyXPG41bajYRsy7a8TPKbYPl34hU7PP7hMVHRvv/5aCSew==} + '@rollup/rollup-linux-riscv64-gnu@4.60.3': + resolution: {integrity: sha512-oZJ/WHaVfHUiRAtmTAeo3DcevNsVvH8mbvodjZy7D5QKvCefO371SiKRpxoDcCxB3PTRTLayWBkvmDQKTcX/sw==} cpu: [riscv64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-riscv64-musl@4.56.0': - resolution: {integrity: sha512-yni2raKHB8m9NQpI9fPVwN754mn6dHQSbDTwxdr9SE0ks38DTjLMMBjrwvB5+mXrX+C0npX0CVeCUcvvvD8CNQ==} + '@rollup/rollup-linux-riscv64-musl@4.60.3': + resolution: {integrity: sha512-Dhbyh7j9FybM3YaTgaHmVALwA8AkUwTPccyCQ79TG9AJUsMQqgN1DDEZNr4+QUfwiWvLDumW5vdwzoeUF+TNxQ==} cpu: [riscv64] os: [linux] libc: [musl] - '@rollup/rollup-linux-s390x-gnu@4.56.0': - resolution: {integrity: sha512-zhLLJx9nQPu7wezbxt2ut+CI4YlXi68ndEve16tPc/iwoylWS9B3FxpLS2PkmfYgDQtosah07Mj9E0khc3Y+vQ==} + '@rollup/rollup-linux-s390x-gnu@4.60.3': + resolution: {integrity: sha512-cJd1X5XhHHlltkaypz1UcWLA8AcoIi1aWhsvaWDskD1oz2eKCypnqvTQ8ykMNI0RSmm7NkTdSqSSD7zM0xa6Ig==} cpu: [s390x] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.56.0': - resolution: {integrity: sha512-MVC6UDp16ZSH7x4rtuJPAEoE1RwS8N4oK9DLHy3FTEdFoUTCFVzMfJl/BVJ330C+hx8FfprA5Wqx4FhZXkj2Kw==} + '@rollup/rollup-linux-x64-gnu@4.60.3': + resolution: {integrity: sha512-DAZDBHQfG2oQuhY7mc6I3/qB4LU2fQCjRvxbDwd/Jdvb9fypP4IJ4qmtu6lNjes6B531AI8cg1aKC2di97bUxA==} cpu: [x64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-musl@4.56.0': - resolution: {integrity: sha512-ZhGH1eA4Qv0lxaV00azCIS1ChedK0V32952Md3FtnxSqZTBTd6tgil4nZT5cU8B+SIw3PFYkvyR4FKo2oyZIHA==} + '@rollup/rollup-linux-x64-musl@4.60.3': + resolution: {integrity: sha512-cRxsE8c13mZOh3vP+wLDxpQBRrOHDIGOWyDL93Sy0Ga8y515fBcC2pjUfFwUe5T7tqvTvWbCpg1URM/AXdWIXA==} cpu: [x64] os: [linux] libc: [musl] - '@rollup/rollup-openbsd-x64@4.56.0': - resolution: {integrity: sha512-O16XcmyDeFI9879pEcmtWvD/2nyxR9mF7Gs44lf1vGGx8Vg2DRNx11aVXBEqOQhWb92WN4z7fW/q4+2NYzCbBA==} + '@rollup/rollup-openbsd-x64@4.60.3': + resolution: {integrity: sha512-QaWcIgRxqEdQdhJqW4DJctsH6HCmo5vHxY0krHSX4jMtOqfzC+dqDGuHM87bu4H8JBeibWx7jFz+h6/4C8wA5Q==} cpu: [x64] os: [openbsd] - '@rollup/rollup-openharmony-arm64@4.56.0': - resolution: {integrity: sha512-LhN/Reh+7F3RCgQIRbgw8ZMwUwyqJM+8pXNT6IIJAqm2IdKkzpCh/V9EdgOMBKuebIrzswqy4ATlrDgiOwbRcQ==} + '@rollup/rollup-openharmony-arm64@4.60.3': + resolution: {integrity: sha512-AaXwSvUi3QIPtroAUw1t5yHGIyqKEXwH54WUocFolZhpGDruJcs8c+xPNDRn4XiQsS7MEwnYsHW2l0MBLDMkWg==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.56.0': - resolution: {integrity: sha512-kbFsOObXp3LBULg1d3JIUQMa9Kv4UitDmpS+k0tinPBz3watcUiV2/LUDMMucA6pZO3WGE27P7DsfaN54l9ing==} + '@rollup/rollup-win32-arm64-msvc@4.60.3': + resolution: {integrity: sha512-65LAKM/bAWDqKNEelHlcHvm2V+Vfb8C6INFxQXRHCvaVN1rJfwr4NvdP4FyzUaLqWfaCGaadf6UbTm8xJeYfEg==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.56.0': - resolution: {integrity: sha512-vSSgny54D6P4vf2izbtFm/TcWYedw7f8eBrOiGGecyHyQB9q4Kqentjaj8hToe+995nob/Wv48pDqL5a62EWtg==} + '@rollup/rollup-win32-ia32-msvc@4.60.3': + resolution: {integrity: sha512-EEM2gyhBF5MFnI6vMKdX1LAosE627RGBzIoGMdLloPZkXrUN0Ckqgr2Qi8+J3zip/8NVVro3/FjB+tjhZUgUHA==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-gnu@4.56.0': - resolution: {integrity: sha512-FeCnkPCTHQJFbiGG49KjV5YGW/8b9rrXAM2Mz2kiIoktq2qsJxRD5giEMEOD2lPdgs72upzefaUvS+nc8E3UzQ==} + '@rollup/rollup-win32-x64-gnu@4.60.3': + resolution: {integrity: sha512-E5Eb5H/DpxaoXH++Qkv28RcUJboMopmdDUALBczvHMf7hNIxaDZqwY5lK12UK1BHacSmvupoEWGu+n993Z0y1A==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.56.0': - resolution: {integrity: sha512-H8AE9Ur/t0+1VXujj90w0HrSOuv0Nq9r1vSZF2t5km20NTfosQsGGUXDaKdQZzwuLts7IyL1fYT4hM95TI9c4g==} + '@rollup/rollup-win32-x64-msvc@4.60.3': + resolution: {integrity: sha512-hPt/bgL5cE+Qp+/TPHBqptcAgPzgj46mPcg/16zNUmbQk0j+mOEQV/+Lqu8QRtDV3Ek95Q6FeFITpuhl6OTsAA==} cpu: [x64] os: [win32] @@ -4753,42 +5033,43 @@ packages: '@standard-schema/spec@1.1.0': resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} - '@storybook-vue/nuxt@9.0.1': - resolution: {integrity: sha512-a+a/gHNR7e/1UhUWoODr5DJEFtQOvre1d0v0dBNQRU18rtSEQlBEeHvxaT7MNhfIV2GGTAPNRWAiIGVXujaY4w==} - engines: {node: '>=20.0.0'} + '@storybook-vue/nuxt@https://pkg.pr.new/@storybook-vue/nuxt@1021': + resolution: {tarball: https://pkg.pr.new/@storybook-vue/nuxt@1021} + version: 9.0.1 + engines: {node: '>=20.19.0'} peerDependencies: - nuxt: ^3.13.0 - storybook: ^10.3.1 - vite: ^5.2.0 || ^6.0.0 || ^7.0.0 + nuxt: ^3.18.1 || ^4.0.0 + storybook: ^10.3.4 + vite: ^5.2.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 vue: ^3.4.0 '@storybook/addon-a11y@10.3.5': resolution: {integrity: sha512-5k6lpgfIeLxvNhE8v3wEzdiu73ONKjF4gmH1AHvfqYd8kIVzQJai0KCDxgvqNncXHQhIWkaf1fg6+9hKaYJyaw==} peerDependencies: - storybook: ^10.3.1 + storybook: ^10.3.5 '@storybook/addon-docs@10.3.5': resolution: {integrity: sha512-WuHbxia/o5TX4Rg/IFD0641K5qId/Nk0dxhmAUNoFs5L0+yfZUwh65XOBbzXqrkYmYmcVID4v7cgDRmzstQNkA==} peerDependencies: - storybook: ^10.3.1 + storybook: ^10.3.5 '@storybook/addon-themes@10.3.5': resolution: {integrity: sha512-Mv+C7GuZ0MhGRx5C+rv8sCEjgYsDTLBvq68101V0s8Vwh3gKd6W9cbS31HoOeLAiIMiPPZ8C1iWudA3Oumdtlw==} peerDependencies: - storybook: ^10.3.1 + storybook: ^10.3.5 - '@storybook/builder-vite@9.1.2': - resolution: {integrity: sha512-5Y7e5wnSzFxCGP63UNRRZVoxHe1znU4dYXazJBobAlEcUPBk7A0sH2716tA6bS4oz92oG9tgvn1g996hRrw4ow==} + '@storybook/builder-vite@10.3.4': + resolution: {integrity: sha512-dNQyBZpBKvwmhSTpjrsuxxY8FqFCh0hgu5+46h2WbgQ2Te3pO458heWkGb+QO7mC6FmkXO6j6zgYzXticD6F2A==} peerDependencies: - storybook: ^10.3.1 - vite: ^5.0.0 || ^6.0.0 || ^7.0.0 + storybook: ^10.3.4 + vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 - '@storybook/csf-plugin@10.3.5': - resolution: {integrity: sha512-qlEzNKxOjq86pvrbuMwiGD/bylnsXk1dg7ve0j77YFjEEchqtl7qTlrXvFdNaLA89GhW6D/EV6eOCu/eobPDgw==} + '@storybook/csf-plugin@10.3.4': + resolution: {integrity: sha512-WPP0Z39o82WiohPkhPOs6z+9yJ+bVvqPz4d+QUPfE6FMvOOBLojlwOcGx6Xmclyn5H/CKwywFrjuz4mBO/nHhA==} peerDependencies: esbuild: '*' rollup: '*' - storybook: ^10.3.1 + storybook: ^10.3.4 vite: '*' webpack: '*' peerDependenciesMeta: @@ -4801,10 +5082,23 @@ packages: webpack: optional: true - '@storybook/csf-plugin@9.1.2': - resolution: {integrity: sha512-bfMh6r+RieBLPWtqqYN70le2uTE4JzOYPMYSCagHykUti3uM/1vRFaZNkZtUsRy5GwEzE5jLdDXioG1lOEeT2Q==} + '@storybook/csf-plugin@10.3.5': + resolution: {integrity: sha512-qlEzNKxOjq86pvrbuMwiGD/bylnsXk1dg7ve0j77YFjEEchqtl7qTlrXvFdNaLA89GhW6D/EV6eOCu/eobPDgw==} peerDependencies: - storybook: ^10.3.1 + esbuild: '*' + rollup: '*' + storybook: ^10.3.5 + vite: '*' + webpack: '*' + peerDependenciesMeta: + esbuild: + optional: true + rollup: + optional: true + vite: + optional: true + webpack: + optional: true '@storybook/global@5.0.0': resolution: {integrity: sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==} @@ -4820,20 +5114,18 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - storybook: ^10.3.1 + storybook: ^10.3.5 - '@storybook/vue3-vite@9.1.2': - resolution: {integrity: sha512-MSXNtSbY8dnlcSzmbjkzJs1gAmDVRH1b4lBYU8TPHb8YmFz9vdYi8JNjOFztEjcnFe6VPVeCys69MpzZqGF31g==} - engines: {node: '>=20.0.0'} + '@storybook/vue3-vite@10.3.4': + resolution: {integrity: sha512-QJ5oXNfSAnsMbmgQ/XCbWFkFGDdoH9LQtgs4h3rDK2w7bxlw0B7RVEjI3+dxQ5asPa9nl7rPP5lvW92PKVBMAg==} peerDependencies: - storybook: ^10.3.1 - vite: ^5.0.0 || ^6.0.0 || ^7.0.0 + storybook: ^10.3.4 + vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 - '@storybook/vue3@9.1.2': - resolution: {integrity: sha512-aYLh6/DZEuoOtsn/qePb9I/kuzwZGy+mS/ELlFoj72vpJc4d21hKZfiepO5bZ3z73XK7nLmdMVQ2tIwvsin4Vw==} - engines: {node: '>=20.0.0'} + '@storybook/vue3@10.3.4': + resolution: {integrity: sha512-OXCH1zpBYmrADV3/RylrwJXWR6vMZtBksu84BShxuVmxr8UDmnB7EVCQTFOHyyCshb+Fn1WVO/lTkWakgoJsHQ==} peerDependencies: - storybook: ^10.3.1 + storybook: ^10.3.4 vue: ^3.0.0 '@surma/rollup-plugin-off-main-thread@2.2.3': @@ -5397,9 +5689,10 @@ packages: '@ungap/structured-clone@1.3.0': resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} + deprecated: Potential CWE-502 - Update to 1.3.1 or higher - '@unhead/vue@2.1.12': - resolution: {integrity: sha512-zEWqg0nZM8acpuTZE40wkeUl8AhIe0tU0OkilVi1D4fmVjACrwoh5HP6aNqJ8kUnKsoy6D+R3Vi/O+fmdNGO7g==} + '@unhead/vue@2.1.13': + resolution: {integrity: sha512-HYy0shaHRnLNW9r85gppO8IiGz0ONWVV3zGdlT8CQ0tbTwixznJCIiyqV4BSV1aIF1jJIye0pd1p/k6Eab8Z/A==} peerDependencies: vue: '>=3.5.18' @@ -5491,8 +5784,8 @@ packages: peerDependencies: valibot: ^1.2.0 - '@vercel/nft@1.3.0': - resolution: {integrity: sha512-i4EYGkCsIjzu4vorDUbqglZc5eFtQI2syHb++9ZUDm6TU4edVywGpVnYDein35x9sevONOn9/UabfQXuNXtuzQ==} + '@vercel/nft@1.5.0': + resolution: {integrity: sha512-IWTDeIoWhQ7ZtRO/JRKH+jhmeQvZYhtGPmzw/QGDY+wDCQqfm25P9yIdoAFagu4fWsK4IwZXDFIjrmp5rRm/sA==} engines: {node: '>=20'} hasBin: true @@ -5500,6 +5793,32 @@ packages: resolution: {integrity: sha512-Fw28YZpRnA3cAHHDlkt7xQHiJ0fcL+NRcIqsocZQUSmbzeIKRpwttJjik5ZGanXP+vlA4SbTg+AbA3bP363l+w==} engines: {node: '>= 20'} + '@vercel/speed-insights@2.0.0': + resolution: {integrity: sha512-jwkNcrTeafWxjmWq4AHBaptSqZiJkYU5adLC9QBSqeim0GcqDMgN5Ievh8OG1rJ6W3A4l1oiP7qr9CWxGuzu3w==} + peerDependencies: + '@sveltejs/kit': ^1 || ^2 + next: '>= 13' + nuxt: '>= 3' + react: ^18 || ^19 || ^19.0.0-rc + svelte: '>= 4' + vue: ^3 + vue-router: 5.0.4 + peerDependenciesMeta: + '@sveltejs/kit': + optional: true + next: + optional: true + nuxt: + optional: true + react: + optional: true + svelte: + optional: true + vue: + optional: true + vue-router: + optional: true + '@vite-pwa/assets-generator@1.0.2': resolution: {integrity: sha512-MCbrb508JZHqe7bUibmZj/lyojdhLRnfkmyXnkrCM2zVrjTgL89U8UEfInpKTvPeTnxsw2hmyZxnhsdNR6yhwg==} engines: {node: '>=16.14.0'} @@ -5513,18 +5832,18 @@ packages: '@vite-pwa/assets-generator': optional: true - '@vitejs/plugin-vue-jsx@5.1.4': - resolution: {integrity: sha512-70LmoVk9riR7qc4W2CpjsbNMWTPnuZb9dpFKX1emru0yP57nsc9k8nhLA6U93ngQapv5VDIUq2JatNfLbBIkrA==} + '@vitejs/plugin-vue-jsx@5.1.5': + resolution: {integrity: sha512-jIAsvHOEtWpslLOI2MeElGFxH7M8pM83BU/Tor4RLyiwH0FM4nUW3xdvbw20EeU9wc5IspQwMq225K3CMnJEpA==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: - vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 vue: ^3.0.0 - '@vitejs/plugin-vue@6.0.4': - resolution: {integrity: sha512-uM5iXipgYIn13UUQCZNdWkYk+sysBeA97d5mHsAoAt1u/wpN3+zxOmsVJWosuzX+IMGRzeYUNytztrYznboIkQ==} + '@vitejs/plugin-vue@6.0.6': + resolution: {integrity: sha512-u9HHgfrq3AjXlysn0eINFnWQOJQLO9WN6VprZ8FXl7A2bYisv3Hui9Ij+7QZ41F/WYWarHjwBbXtD7dKg3uxbg==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: - vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 vue: ^3.2.25 '@vitest/coverage-v8@4.1.5': @@ -5734,17 +6053,17 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@vue/compiler-core@3.5.33': - resolution: {integrity: sha512-3PZLQwFw4Za3TC8t0FvTy3wI16Kt+pmwcgNZca4Pj9iWL2E72a/gZlpBtAJvEdDMdCxdG/qq0C7PN0bsJuv0Rw==} + '@vue/compiler-core@3.5.34': + resolution: {integrity: sha512-s9cLyK5mLcvZ4Agva5QgRsQyLKvts9WbU9DB6NqiZkkGEdwmcEiylj5Jbwkp680drF/NNCV8OlAJSe+yMLxaJw==} - '@vue/compiler-dom@3.5.33': - resolution: {integrity: sha512-PXq0yrfCLzzL07rbXO4awtXY1Z06LG2eu6Adg3RJFa/j3Cii217XxxLXG22N330gw7GmALCY0Z8RgXEviwgpjA==} + '@vue/compiler-dom@3.5.34': + resolution: {integrity: sha512-EbF/T++k0e2MMZlJsBhzK8Sgwt0HcIPOhzn1CTB/lv6sQcyk+OWf8YeiLxZp3ro7MbbLcAfAJ6sEvjFWuNgUCw==} - '@vue/compiler-sfc@3.5.33': - resolution: {integrity: sha512-UTUvRO9cY+rROrx/pvN9P5Z7FgA6QGfokUCfhQE4EnmUj3rVnK+CHI0LsEO1pg+I7//iRYMUfcNcCPe7tg0CoA==} + '@vue/compiler-sfc@3.5.34': + resolution: {integrity: sha512-D/ihr6uZeIt6r+pVZf46RWT1fAsLFMbUP7k8G1VkiiWexriED9GrX3echHd4Abbt17zjlfiFJ8z7a3BxZOPNjg==} - '@vue/compiler-ssr@3.5.33': - resolution: {integrity: sha512-IErjYdnj1qIupG5xxiVIYiiRvDhGWV4zuh/RCrwfYpuL+HWQzeU6lCk/nF9r7olWMnjKxCAkOctT2qFWFkzb1A==} + '@vue/compiler-ssr@3.5.34': + resolution: {integrity: sha512-cDtTHKibkThKGHH1SP+WdccquNRYQDFH6rRjQCqT9G2ltFAfoR5pUftpab/z+aM5mW9HLLVQW7hfKKQe/1GBeQ==} '@vue/compiler-vue2@2.7.16': resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} @@ -5780,22 +6099,22 @@ packages: '@vue/language-core@3.2.6': resolution: {integrity: sha512-xYYYX3/aVup576tP/23sEUpgiEnujrENaoNRbaozC1/MA9I6EGFQRJb4xrt/MmUCAGlxTKL2RmT8JLTPqagCkg==} - '@vue/reactivity@3.5.33': - resolution: {integrity: sha512-p8UfIqyIhb0rYGlSgSBV+lPhF2iUSBcRy7enhTmPqKWadHy9kcOFYF1AejYBP9P+avnd3OBbD49DU4pLWX/94A==} + '@vue/reactivity@3.5.34': + resolution: {integrity: sha512-y9XDjCEuBp+98k+UL5dbYkh57AHU4o6cxZedOPXw3bmrZZYLQsVHguGurq7hVrPCSrQtrnz1f9dssyFr+dMXfQ==} - '@vue/runtime-core@3.5.33': - resolution: {integrity: sha512-UpFF45RI9//a7rvq7RdOQblb4tup7hHG9QsmIrxkFQLzQ7R8/iNQ5LE15NhLZ1/WcHMU2b47u6P33CPUelHyIQ==} + '@vue/runtime-core@3.5.34': + resolution: {integrity: sha512-mKeBYvu8tcMSLhypAHBmriUFfWXKTCF/23Z4jiCoYK3UtWepkliViNLuR90V9XOyD62mUxs9p1jsrpK3CCGIzw==} - '@vue/runtime-dom@3.5.33': - resolution: {integrity: sha512-IOxMsAOwquhfITgmOgaPYl7/j8gKUxUFoflRc+u4LxyD3+783xne8vNta1PONVCvCV9A0w7hkyEepINDqfO0tw==} + '@vue/runtime-dom@3.5.34': + resolution: {integrity: sha512-e8kZzERmCwUnBRVsgSQlAfrfU2rGoy0FFKPBXSlfEjc/O3KfA7QP0t1/2ZylrbchjmIKB4dPTd07A6WPr0eOrg==} - '@vue/server-renderer@3.5.33': - resolution: {integrity: sha512-0xylq/8/h44lVG0pZFknv1XIdEgymq2E9n59uTWJBG+dIgiT0TMCSsxrN7nO16Z0MU0MPjFcguBbZV8Itk52Hw==} + '@vue/server-renderer@3.5.34': + resolution: {integrity: sha512-nHxmJoTrKsmrkbILRhkC9gY1G3moZbJTqCzDd7DOOzG5KH9oeJ0Unqrff5f9v0pW//jES05ZkJcNtfE8JjOIew==} peerDependencies: - vue: 3.5.33 + vue: 3.5.34 - '@vue/shared@3.5.33': - resolution: {integrity: sha512-5vR2QIlmaLG77Ygd4pMP6+SGQ5yox9VhtnbDWTy9DzMzdmeLxZ1QqxrywEZ9sa1AVubfIJyaCG3ytyWU81ufcQ==} + '@vue/shared@3.5.34': + resolution: {integrity: sha512-24uqU4OIiX29ryC3MeWid/Xf2fa2EFRUVLb77nRhk+UrTVrh/XiGtFAFmJBAtBRbjwNdsPRP+jj/OL27Eg1NDA==} '@vue/test-utils@2.4.6': resolution: {integrity: sha512-FMxEjOpYNYiFe0GkaHsnJPXFHxQ6m4t8vI/ElPGpMWxZKpmRvQ33OIrvRXemy6yha03RxhOlQuy+gZMC3CQSow==} @@ -5808,6 +6127,11 @@ packages: peerDependencies: vue: ^3.5.0 + '@vueuse/core@14.3.0': + resolution: {integrity: sha512-aHfz47g0ZhMtTVHmIzMVpJy8ePhhOy68GY5bv110+5DVtZ+W7BsOx+m61UNQqfrWyPztIHIanWa3E2tib3NFIw==} + peerDependencies: + vue: ^3.5.0 + '@vueuse/integrations@14.2.1': resolution: {integrity: sha512-2LIUpBi/67PoXJGqSDQUF0pgQWpNHh7beiA+KG2AbybcNm+pTGWT6oPGlBgUoDWmYwfeQqM/uzOHqcILpKL7nA==} peerDependencies: @@ -5856,6 +6180,9 @@ packages: '@vueuse/metadata@14.2.1': resolution: {integrity: sha512-1ButlVtj5Sb/HDtIy1HFr1VqCP4G6Ypqt5MAo0lCgjokrk2mvQKsK2uuy0vqu/Ks+sHfuHo0B9Y9jn9xKdjZsw==} + '@vueuse/metadata@14.3.0': + resolution: {integrity: sha512-BwxmbAzwAVF50+MW57GXOUEV61nFBGnlBvrTqj49PqWJu3uw7hdu72ztXeZ33RdZtDY6kO+bfCAE1PCn88Tktw==} + '@vueuse/nuxt@14.2.1': resolution: {integrity: sha512-DHgFMUpyH98M1YM9pbnRjFXMAMKEsHntJeOp8rOXs8QN2cvJBzEZ+TTWIBSPESNFOEwM02RA6BDsaTL35OK4Mw==} peerDependencies: @@ -5876,6 +6203,11 @@ packages: peerDependencies: vue: ^3.5.0 + '@vueuse/shared@14.3.0': + resolution: {integrity: sha512-bZpge9eSXwa4ToSiqJ7j6KRwhAsneMFoSz3LMWKQDkqimm3D/tbFlrklrs/IOqC8tEcYmXQZJ6N0UrjhBirVCg==} + peerDependencies: + vue: ^3.5.0 + '@webassemblyjs/ast@1.14.1': resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} @@ -6130,8 +6462,8 @@ packages: resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} engines: {node: '>=8.0.0'} - autoprefixer@10.4.27: - resolution: {integrity: sha512-NP9APE+tO+LuJGn7/9+cohklunJsXWiaWEfV3si4Gi/XHDwVNgkwr1J3RQYFIvPy76GmJ9/bW8vyoU1LcxwKHA==} + autoprefixer@10.5.0: + resolution: {integrity: sha512-FMhOoZV4+qR6aTUALKX2rEqGG+oyATvwBt9IIzVR5rMa2HRWPkxf+P+PAJLD1I/H5/II+HuZcBJYEFBpq39ong==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: @@ -6200,8 +6532,9 @@ packages: base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - baseline-browser-mapping@2.9.17: - resolution: {integrity: sha512-agD0MgJFUP/4nvjqzIB29zRPUuCF7Ge6mEv9s8dHrtYD7QWXRcx75rOADE/d5ah1NI+0vkDl0yorDd5U852IQQ==} + baseline-browser-mapping@2.10.27: + resolution: {integrity: sha512-zEs/ufmZoUd7WftKpKyXaT6RFxpQ5Qm9xytKRHvJfxFV9DFJkZph9RvJ1LcOUi0Z1ZVijMte65JbILeV+8QQEA==} + engines: {node: '>=6.0.0'} hasBin: true better-sqlite3@12.8.0: @@ -6244,8 +6577,8 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - browserslist@4.28.1: - resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==} + browserslist@4.28.2: + resolution: {integrity: sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -6311,8 +6644,8 @@ packages: caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} - caniuse-lite@1.0.30001774: - resolution: {integrity: sha512-DDdwPGz99nmIEv216hKSgLD+D4ikHQHjBC/seF98N9CPqRX4M5mSxT9eTV6oyisnJcuzxtZy4n17yKKQYmYQOA==} + caniuse-lite@1.0.30001791: + resolution: {integrity: sha512-yk0l/YSrOnFZk3UROpDLQD9+kC1l4meK/wed583AXrzoarMGJcbRi2Q4RaUYbKxYAsZ8sWmaSa/DsLmdBeI1vQ==} cborg@1.10.2: resolution: {integrity: sha512-b3tFPA9pUr2zCUiCfRd2+wok2/LBSNUMKOuRRok+WlvvAgEt/PlbgPTsZUcwCOs53IJvLgTp0eotwtosE6njug==} @@ -6405,14 +6738,14 @@ packages: resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} engines: {node: '>= 12'} - clipboardy@4.0.0: - resolution: {integrity: sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==} - engines: {node: '>=18'} - cliui@8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} + cliui@9.0.1: + resolution: {integrity: sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==} + engines: {node: '>=20'} + cluster-key-slot@1.1.2: resolution: {integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==} engines: {node: '>=0.10.0'} @@ -6427,9 +6760,6 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - colord@2.9.3: - resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} - colorette@2.0.20: resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} @@ -6508,8 +6838,11 @@ packages: cookie-es@1.2.3: resolution: {integrity: sha512-lXVyvUvrNXblMqzIRrxHb57UUVmqsSWlxqt3XIjCkUP0wDAf6uicO6KMbEgYrMNtEvWgWHwe42CKxPu9MYAnWw==} - cookie-es@2.0.0: - resolution: {integrity: sha512-RAj4E421UYRgqokKUmotqAwuplYw15qtdXfY+hGzgCJ/MBjCVZcSoHK/kH9kocfjRjcDME7IiDWR/1WX1TM2Pg==} + cookie-es@2.0.1: + resolution: {integrity: sha512-aVf4A4hI2w70LnF7GG+7xDQUkliwiXWXFvTjkip4+b64ygDQ2sJPRSKFDHbxn8o0xu9QzPkMuuiWIXyFSE2slA==} + + cookie-es@3.1.1: + resolution: {integrity: sha512-UaXxwISYJPTr9hwQxMFYZ7kNhSXboMXP+Z3TRX6f1/NyaGPfuNUZOWP1pUEb75B2HjfklIYLVRfWiFZJyC6Npg==} cookie-signature@1.2.2: resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==} @@ -6548,8 +6881,8 @@ packages: crelt@1.0.6: resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==} - croner@9.1.0: - resolution: {integrity: sha512-p9nwwR4qyT5W996vBZhdvBCnMhicY5ytZkR4D1Xj0wuTDEiMnjwR57Q3RXYY/s0EpX6Ay3vgIcfaR+ewGHsi+g==} + croner@10.0.1: + resolution: {integrity: sha512-ixNtAJndqh173VQ4KodSdJEI6nuioBWI0V1ITNKhZZsO0pEMoDxz539T4FTTbSZ/xIOSuDnzxLVRqBVSvPNE2g==} engines: {node: '>=18.0'} cross-spawn@7.0.6: @@ -6612,23 +6945,23 @@ packages: cssfilter@0.0.10: resolution: {integrity: sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw==} - cssnano-preset-default@7.0.11: - resolution: {integrity: sha512-waWlAMuCakP7//UCY+JPrQS1z0OSLeOXk2sKWJximKWGupVxre50bzPlvpbUwZIDylhf/ptf0Pk+Yf7C+hoa3g==} + cssnano-preset-default@7.0.16: + resolution: {integrity: sha512-W0hiFi/ca/u2OTptL11OdApaz1vh9jyfd2ku9dMjou6KdpdgbMTagaXHKNl5kaEyRSCu9GIIaPRp5YLdqRAZMw==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: - postcss: ^8.4.32 + postcss: ^8.5.13 - cssnano-utils@5.0.1: - resolution: {integrity: sha512-ZIP71eQgG9JwjVZsTPSqhc6GHgEr53uJ7tK5///VfyWj6Xp2DBmixWHqJgPno+PqATzn48pL42ww9x5SSGmhZg==} + cssnano-utils@5.0.3: + resolution: {integrity: sha512-ynIREMICLxkxm7e9bCR9sh75s4Q5drICi0ua1yxo5jH2XPBqSKkl4dOh4EbFqtUmnTMhRffHgYL0EKKkMjtJTg==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: - postcss: ^8.4.32 + postcss: ^8.5.13 - cssnano@7.1.3: - resolution: {integrity: sha512-mLFHQAzyapMVFLiJIn7Ef4C2UCEvtlTlbyILR6B5ZsUAV3D/Pa761R5uC1YPhyBkRd3eqaDm2ncaNrD7R4mTRg==} + cssnano@7.1.8: + resolution: {integrity: sha512-OGXtXqXmwEoIGfXM2QoD35vweUAtx+J8ZvLSZHOEV0Jv9Hs9ScTdGGjRzZXun5J4PEZhEoytKig2O2NR8NXxKw==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: - postcss: ^8.4.32 + postcss: ^8.5.13 csso@5.0.5: resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} @@ -6741,10 +7074,6 @@ packages: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} - define-lazy-prop@2.0.0: - resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} - engines: {node: '>=8'} - define-lazy-prop@3.0.0: resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} engines: {node: '>=12'} @@ -6873,8 +7202,8 @@ packages: engines: {node: '>=0.10.0'} hasBin: true - electron-to-chromium@1.5.267: - resolution: {integrity: sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==} + electron-to-chromium@1.5.349: + resolution: {integrity: sha512-QsWVGyRuY07Aqb234QytTfwd5d9AJlfNIQ5wIOl1L+PZDzI9d9+Fn0FRale/QYlFxt/bUnB0/nLd1jFPGxGK1A==} embla-carousel-auto-height@8.6.0: resolution: {integrity: sha512-/HrJQOEM6aol/oF33gd2QlINcXy3e19fJWvHDuHWp2bpyTa+2dm9tVVJak30m2Qy6QyQ6Fc8DkImtv7pxWOJUQ==} @@ -6924,6 +7253,9 @@ packages: resolution: {integrity: sha512-1QFuh8l7LqUcKe24LsPUNzjrzJQ7pgRwp1QMcZ5MX6mFplk2zQ08NVCM84++1cveaUUYtcCYHmeFEuNg16sU4g==} engines: {node: '>=10.0.0'} + emoji-regex@10.6.0: + resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} + emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -7019,6 +7351,11 @@ packages: engines: {node: '>=18'} hasBin: true + esbuild@0.28.0: + resolution: {integrity: sha512-sNR9MHpXSUV/XB4zmsFKN+QgVG82Cc7+/aaxJ8Adi8hyOac+EXptIp45QBPaVyX3N70664wRbTcLTOemCAnyqw==} + engines: {node: '>=18'} + hasBin: true + escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} @@ -7039,11 +7376,6 @@ packages: engines: {node: '>=6.0'} hasBin: true - eslint-plugin-depend@1.5.0: - resolution: {integrity: sha512-i3UeLYmclf1Icp35+6W7CR4Bp2PIpDgBuf/mpmXK5UeLkZlvYJ21VuQKKHHAIBKRTPivPGX/gZl5JGno1o9Y0A==} - peerDependencies: - eslint: '>=8.40.0' - eslint-plugin-regexp@3.1.0: resolution: {integrity: sha512-qGXIC3DIKZHcK1H9A9+Byz9gmndY6TTSRkSMTZpNXdyCw2ObSehRgccJv35n9AdUakEjQp5VFNLas6BMXizCZg==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} @@ -7176,9 +7508,6 @@ packages: extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} - externality@1.0.2: - resolution: {integrity: sha512-LyExtJWKxtgVzmgtEHyQtLFpw1KFhQphF9nTG8TpAIVkiI/xQ3FJh75tRFLYl4hkn7BNIIdLJInuDAavX35pMw==} - fake-indexeddb@6.2.5: resolution: {integrity: sha512-CGnyrvbhPlWYMngksqrSSUT1BAVP49dZocrHuK0SvtR0D5TMs5wP0o3j7jexDJW01KSadjBp1M/71o/KR3nD1w==} engines: {node: '>=18'} @@ -7259,9 +7588,6 @@ packages: resolution: {integrity: sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==} engines: {node: '>= 18.0.0'} - find-package-json@1.2.0: - resolution: {integrity: sha512-+SOGcLGYDJHtyqHd87ysBhmaeQ95oWspDKnMXBrnQ9Eq4OkLNqejgoaD8xVWu6GPa0B6roa6KinCMEMcVeqONw==} - find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} @@ -7366,8 +7692,8 @@ packages: functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - fuse.js@7.1.0: - resolution: {integrity: sha512-trLf4SzuuUxfusZADLINj+dE8clK1frKdmqiJNb1Es75fmI5oY6X2mxLVUciLLjxqw/xr72Dhy+lER6dGd02FQ==} + fuse.js@7.3.0: + resolution: {integrity: sha512-plz8RVjfcDedTGfVngWH1jmJvBvAwi1v2jecfDerbEnMcmOYUEEwKFTHbNoCiYyzaK2Ws8lABkTCcRSqCY1q4w==} engines: {node: '>=10'} fzf@0.5.2: @@ -7385,6 +7711,10 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} + get-east-asian-width@1.5.0: + resolution: {integrity: sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==} + engines: {node: '>=18'} + get-intrinsic@1.3.0: resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} engines: {node: '>= 0.4'} @@ -7473,8 +7803,8 @@ packages: resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} engines: {node: '>= 0.4'} - globby@16.1.0: - resolution: {integrity: sha512-+A4Hq7m7Ze592k9gZRy4gJ27DrXRNnC1vPjxTt1qQxEY8RxagBkBxivkCwg7FxSTG0iLLEMaUx13oOr0R2/qcQ==} + globby@16.2.0: + resolution: {integrity: sha512-QrJia2qDf5BB/V6HYlDTs0I0lBahyjLzpGQg3KT7FnCdTonAyPy2RtY802m2k4ALx6Dp752f82WsOczEVr3l6Q==} engines: {node: '>=20'} gopd@1.2.0: @@ -7692,8 +8022,8 @@ packages: resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} engines: {node: '>= 14'} - httpxy@0.1.7: - resolution: {integrity: sha512-pXNx8gnANKAndgga5ahefxc++tJvNL87CXoRwxn1cJE2ZkWEojF3tNfQIEhZX/vfpt+wzeAzpUI4qkediX1MLQ==} + httpxy@0.5.1: + resolution: {integrity: sha512-JPhqYiixe1A1I+MXDewWDZqeudBGU8Q9jCHYN8ML+779RQzLjTi78HBvWz4jMxUD6h2/vUL12g4q/mFM0OUw1A==} human-signals@5.0.0: resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} @@ -7764,8 +8094,8 @@ packages: resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} engines: {node: '>= 0.4'} - ioredis@5.9.2: - resolution: {integrity: sha512-tAAg/72/VxOUW7RQSX1pIxJVucYKcjFjfvj60L57jrZpYCHC3XN0WCQ3sNYL4Gmvv+7GPvTAjc+KSdeNuE8oWQ==} + ioredis@5.10.1: + resolution: {integrity: sha512-HuEDBTI70aYdx1v6U97SbNx9F1+svQKBDo30o0b9fw055LMepzpOOd0Ccg9Q6tbqmBSJaMuY0fB7yw9/vjBYCA==} engines: {node: '>=12.22.0'} ip-address@10.0.1: @@ -7872,6 +8202,10 @@ packages: is-hexadecimal@2.0.1: resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} + is-in-ssh@1.0.0: + resolution: {integrity: sha512-jYa6Q9rH90kR1vKB6NM7qqd1mge3Fx4Dhw5TVlK1MUBqhEOuCagrEHMevNuCcbECmXZ0ThXkRm+Ymr51HwEPAw==} + engines: {node: '>=20'} + is-inside-container@1.0.0: resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} engines: {node: '>=14.16'} @@ -7994,10 +8328,6 @@ packages: resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} engines: {node: '>=16'} - is64bit@2.0.0: - resolution: {integrity: sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw==} - engines: {node: '>=18'} - isarray@1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} @@ -8007,9 +8337,9 @@ packages: isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - isexe@3.1.1: - resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} - engines: {node: '>=16'} + isexe@4.0.0: + resolution: {integrity: sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==} + engines: {node: '>=20'} iso-datestring-validator@2.2.2: resolution: {integrity: sha512-yLEMkBbLZTlVQqOnQ4FiMujR6T4DEcCb1xizmvXS+OxuhwcbtynoosRzdMA69zZCShCNAbi+gJ71FxZBBXx1SA==} @@ -8374,8 +8704,8 @@ packages: linkifyjs@4.3.2: resolution: {integrity: sha512-NT1CJtq3hHIreOianA8aSXn6Cw0JzYOuDQbOrSPe7gqFnCpKP++MQe3ODgO3oh2GJFORkAAdqredOa60z63GbA==} - listhen@1.9.0: - resolution: {integrity: sha512-I8oW2+QL5KJo8zXNWX046M134WchxsXC7SawLPvRQpogCbkyQIaFxPE89A2HiwR7vAK2Dm2ERBAmyjTYGYEpBg==} + listhen@1.10.0: + resolution: {integrity: sha512-kfz4C0OrC6IpaVMtYDJtf6PFjurxe9NBBoDAh/o2p587INryFOO4DQ9OetbCdDrWFt1m1CJKvYrzkGsuPHw8nQ==} hasBin: true loader-runner@4.3.1: @@ -8711,15 +9041,12 @@ packages: mkdirp-classic@0.5.3: resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} - mlly@1.8.1: - resolution: {integrity: sha512-SnL6sNutTwRWWR/vcmCYHSADjiEesp5TGQQ0pXyLhW5IoeibRlF/CbSLailbB3CNqJUk9cVJ9dUDnbD7GrcHBQ==} + mlly@1.8.2: + resolution: {integrity: sha512-d+ObxMQFmbt10sretNDytwt85VrbkhhUA/JBGm1MPaWJ65Cl4wOgLaB1NYvJSZ0Ef03MMEU/0xpPMXUIQ29UfA==} mocked-exports@0.1.1: resolution: {integrity: sha512-aF7yRQr/Q0O2/4pIXm6PZ5G+jAd7QS4Yu8m+WEeEHGnbo+7mE36CbLSDQiXYV8bVL3NfmdeqPJct0tUlnjVSnA==} - module-replacements@2.11.0: - resolution: {integrity: sha512-j5sNQm3VCpQQ7nTqGeOZtoJtV3uKERgCBm9QRhmGRiXiqkf7iRFOkfxdJRZWLkqYY8PNf4cDQF/WfXUYLENrRA==} - module-replacements@3.0.0-beta.7: resolution: {integrity: sha512-n1F9l3gF1wNh13xmnXS2JU7P9c3DlzCgVEyLKrVN0U37RwrXyYoePMMvYvs/6aUONAxbnscphzESZTCorXFh7Q==} @@ -8796,8 +9123,8 @@ packages: resolution: {integrity: sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==} engines: {node: '>= 10'} - nitropack@2.13.1: - resolution: {integrity: sha512-2dDj89C4wC2uzG7guF3CnyG+zwkZosPEp7FFBGHB3AJo11AywOolWhyQJFHDzve8COvGxJaqscye9wW2IrUsNw==} + nitropack@2.13.4: + resolution: {integrity: sha512-tX7bT6zxNeMwkc6hxHiZeUoTOjVrcjoh1Z3cmxOlodIqjl4HISgqfGOmkWSayky3Nv9Z5+KQH52F8nmXJY5AAA==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -8829,8 +9156,8 @@ packages: encoding: optional: true - node-forge@1.3.3: - resolution: {integrity: sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg==} + node-forge@1.4.0: + resolution: {integrity: sha512-LarFH0+6VfriEhqMMcLX2F7SwSXeWwnEAJEsYm5QKWchiVYVvJyV9v7UDvUv+w5HO23ZpQTXDv/GxdDdMyOuoQ==} engines: {node: '>= 6.13.0'} node-gyp-build@4.8.4: @@ -8840,8 +9167,8 @@ packages: node-mock-http@1.0.4: resolution: {integrity: sha512-8DY+kFsDkNXy1sJglUfuODx1/opAGJGyrTuFqEoN90oRc2Vk0ZbD4K2qmKXBBEhZQzdKHIVfEJpDU8Ak2NJEvQ==} - node-releases@2.0.27: - resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==} + node-releases@2.0.38: + resolution: {integrity: sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==} nopt@7.2.1: resolution: {integrity: sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==} @@ -8929,8 +9256,8 @@ packages: nuxt-site-config@4.0.8: resolution: {integrity: sha512-H7wHoOJ5Z6ZnTqD5vUugaKkWZbejZ9kGmzpr2dheOaC6RdT8JafCfMrmJG7W+cyJiJJ3YmzL+bzPBW2bW6MExA==} - nuxt@4.4.2: - resolution: {integrity: sha512-iWVFpr/YEqVU/CenqIHMnIkvb2HE/9f+q8oxZ+pj2et+60NljGRClCgnmbvGPdmNFE0F1bEhoBCYfqbDOCim3Q==} + nuxt@4.4.4: + resolution: {integrity: sha512-r9E3PYo+uJazltAmjm0TwFW3MQ++Wd//2uRZgCyqkt7VSAVJ5KnRRwUF7JktK/NZbLYAUDiV3tgqE9ZYbHbymA==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -9018,9 +9345,9 @@ packages: resolution: {integrity: sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==} engines: {node: '>=18'} - open@8.4.2: - resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} - engines: {node: '>=12'} + open@11.0.0: + resolution: {integrity: sha512-smsWv2LzFjP03xmvFoJ331ss6h+jixfA4UUV/Bsiyuu4YJPfN+FIQGOIiv4w9/+MoHkfkJ22UIaQWRVFRfH6Vw==} + engines: {node: '>=20'} optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} @@ -9036,8 +9363,8 @@ packages: resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} engines: {node: '>= 0.4'} - oxc-minify@0.117.0: - resolution: {integrity: sha512-JHsv/b+bmBJkAzkHXgTN7RThloVxLHPT0ojHfjqxVeHuQB7LPpLUbJ2qfwz37sto9stZ9+AVwUP4b3gtR7p/Tw==} + oxc-minify@0.128.0: + resolution: {integrity: sha512-VIXQO2W886aB+N17yV55Sack6aCpbUqtuNAYhNcPV6dFiWIZ5+kwOjvvw36igWwoljfjWhasu99CQ5wtvPJDYg==} engines: {node: ^20.19.0 || >=22.12.0} oxc-parser@0.112.0: @@ -9048,10 +9375,6 @@ packages: resolution: {integrity: sha512-2w7Xn3CbS/zwzSY82S5WLemrRu3CT57uF7Lx8llrE/2bul6iMTcJE4Rbls7GDNbLn3ttATI68PfOz2Pt3KZ2cQ==} engines: {node: ^20.19.0 || >=22.12.0} - oxc-parser@0.117.0: - resolution: {integrity: sha512-l3cbgK5wUvWDVNWM/JFU77qDdGZK1wudnLsFcrRyNo/bL1CyU8pC25vDhMHikVY29lbK2InTWsX42RxVSutUdQ==} - engines: {node: ^20.19.0 || >=22.12.0} - oxc-parser@0.120.0: resolution: {integrity: sha512-WyPWZlcIm+Fkte63FGfgFB8mAAk33aH9h5N9lphXVOHSXEBFFsmYdOBedVKly363aWABjZdaj/m9lBfEY4wt+w==} engines: {node: ^20.19.0 || >=22.12.0} @@ -9060,6 +9383,10 @@ packages: resolution: {integrity: sha512-FktCvLby/mOHyuijZt22+nOt10dS24gGUZE3XwIbUg7Kf4+rer3/5T7RgwzazlNuVsCjPloZ3p8E+4ONT3A8Kw==} engines: {node: ^20.19.0 || >=22.12.0} + oxc-parser@0.128.0: + resolution: {integrity: sha512-XkOw3eiIxAgQ19WRew/Bq9wc5Ga/guaWIzDBzq80z1PyuDNGvWBpPby9k6YGwV8A8uMw+Nlq3xqlzuDYmUFYUw==} + engines: {node: ^20.19.0 || >=22.12.0} + oxc-resolver@11.19.1: resolution: {integrity: sha512-qE/CIg/spwrTBFt5aKmwe3ifeDdLfA2NESN30E42X/lII5ClF8V7Wt6WIJhcGZjp0/Q+nQ+9vgxGk//xZNX2hg==} @@ -9067,8 +9394,8 @@ packages: resolution: {integrity: sha512-cIRRvZgrHfsAHrkt8LWdAX4+Do8R0MzQSfeo9yzErzHeYiuyNiP4PCTPbOy/wBXL4MYzt3ebrBa5jt3akQkKAg==} engines: {node: ^20.19.0 || >=22.12.0} - oxc-transform@0.117.0: - resolution: {integrity: sha512-u1Stl2uhDh9bFuOGjGXQIqx46IRUNMyHQkq59LayXNGS2flNv7RpZpRSWs5S5deuNP6jJZ12gtMBze+m4dOhmw==} + oxc-transform@0.128.0: + resolution: {integrity: sha512-8DfEHlmUiLOHlCK9DGX+d5tORc1xwPPvoRSHSJCYgLHyGjKp4PvfBrvgi59DkEW0SMOWfO8GL9t+R7vdKtupbg==} engines: {node: ^20.19.0 || >=22.12.0} oxc-walker@0.7.0: @@ -9095,6 +9422,16 @@ packages: oxlint-tsgolint: optional: true + oxlint@1.61.0: + resolution: {integrity: sha512-ZC0ALuhDZ6ivOFG+sy0D0pEDN49EvsId98zVlmYdkcXHsEM14m/qTNUEsUpiFiCVbpIxYtVBmmLE87nsbUHohQ==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + oxlint-tsgolint: '>=0.18.0' + peerDependenciesMeta: + oxlint-tsgolint: + optional: true + p-all@5.0.1: resolution: {integrity: sha512-LMT7WX9ZSaq3J1zjloApkIVmtz0ZdMFSIqbuiEa3txGYPLjUPOvgOPOx3nFjo+f37ZYL+1aY666I2SG7GVwLOA==} engines: {node: '>=16'} @@ -9238,8 +9575,8 @@ packages: pkg-types@1.3.1: resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} - pkg-types@2.3.0: - resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==} + pkg-types@2.3.1: + resolution: {integrity: sha512-y+ichcgc2LrADuhLNAx8DFjVfgz91pRxfZdI3UDhxHvcVEZsenLO+7XaU5vOp0u/7V/wZ+plyuQxtrDlZJ+yeg==} playwright-core@1.58.2: resolution: {integrity: sha512-yZkEtftgwS8CsfYo7nm0KE8jsvm6i/PTgVtB8DL726wNf6H2IMsDuxCpJj59KDaxCtSnrWan2AeDqM7JBaultg==} @@ -9265,173 +9602,177 @@ packages: peerDependencies: postcss: ^8.4.38 - postcss-colormin@7.0.6: - resolution: {integrity: sha512-oXM2mdx6IBTRm39797QguYzVEWzbdlFiMNfq88fCCN1Wepw3CYmJ/1/Ifa/KjWo+j5ZURDl2NTldLJIw51IeNQ==} + postcss-colormin@7.0.10: + resolution: {integrity: sha512-yFr6JezOolHLta/buLE71VKPh2mXursp4saVe98/ol8ZnEWhL+racShqPKlvd/DKWLre/39B6HhcMXf7RZ3hxg==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: - postcss: ^8.4.32 + postcss: ^8.5.13 - postcss-convert-values@7.0.9: - resolution: {integrity: sha512-l6uATQATZaCa0bckHV+r6dLXfWtUBKXxO3jK+AtxxJJtgMPD+VhhPCCx51I4/5w8U5uHV67g3w7PXj+V3wlMlg==} + 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.4.32 + postcss: ^8.5.13 - postcss-discard-comments@7.0.6: - resolution: {integrity: sha512-Sq+Fzj1Eg5/CPf1ERb0wS1Im5cvE2gDXCE+si4HCn1sf+jpQZxDI4DXEp8t77B/ImzDceWE2ebJQFXdqZ6GRJw==} + 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.4.32 + postcss: ^8.5.13 - postcss-discard-duplicates@7.0.2: - resolution: {integrity: sha512-eTonaQvPZ/3i1ASDHOKkYwAybiM45zFIc7KXils4mQmHLqIswXD9XNOKEVxtTFnsmwYzF66u4LMgSr0abDlh5w==} + 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.4.32 + postcss: ^8.5.13 - postcss-discard-empty@7.0.1: - resolution: {integrity: sha512-cFrJKZvcg/uxB6Ijr4l6qmn3pXQBna9zyrPC+sK0zjbkDUZew+6xDltSF7OeB7rAtzaaMVYSdbod+sZOCWnMOg==} + postcss-discard-empty@7.0.3: + resolution: {integrity: sha512-M2pyjQCU+/7cMHVtL6bKTHjv0lZnPLMpicgr67Dlth7AbuV9gjVTtUqaRwn6Pp6BwSDspUzhz8SaUrRykJU5Dw==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: - postcss: ^8.4.32 + postcss: ^8.5.13 - postcss-discard-overridden@7.0.1: - resolution: {integrity: sha512-7c3MMjjSZ/qYrx3uc1940GSOzN1Iqjtlqe8uoSg+qdVPYyRb0TILSqqmtlSFuE4mTDECwsm397Ya7iXGzfF7lg==} + 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.4.32 + postcss: ^8.5.13 - postcss-merge-longhand@7.0.5: - resolution: {integrity: sha512-Kpu5v4Ys6QI59FxmxtNB/iHUVDn9Y9sYw66D6+SZoIk4QTz1prC4aYkhIESu+ieG1iylod1f8MILMs1Em3mmIw==} + 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.4.32 + postcss: ^8.5.13 - postcss-merge-rules@7.0.8: - resolution: {integrity: sha512-BOR1iAM8jnr7zoQSlpeBmCsWV5Uudi/+5j7k05D0O/WP3+OFMPD86c1j/20xiuRtyt45bhxw/7hnhZNhW2mNFA==} + 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.4.32 + postcss: ^8.5.13 - postcss-minify-font-values@7.0.1: - resolution: {integrity: sha512-2m1uiuJeTplll+tq4ENOQSzB8LRnSUChBv7oSyFLsJRtUgAAJGP6LLz0/8lkinTgxrmJSPOEhgY1bMXOQ4ZXhQ==} + 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.4.32 + postcss: ^8.5.13 - postcss-minify-gradients@7.0.1: - resolution: {integrity: sha512-X9JjaysZJwlqNkJbUDgOclyG3jZEpAMOfof6PUZjPnPrePnPG62pS17CjdM32uT1Uq1jFvNSff9l7kNbmMSL2A==} + 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.4.32 + postcss: ^8.5.13 - postcss-minify-params@7.0.6: - resolution: {integrity: sha512-YOn02gC68JijlaXVuKvFSCvQOhTpblkcfDre2hb/Aaa58r2BIaK4AtE/cyZf2wV7YKAG+UlP9DT+By0ry1E4VQ==} + 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.4.32 + postcss: ^8.5.13 - postcss-minify-selectors@7.0.6: - resolution: {integrity: sha512-lIbC0jy3AAwDxEgciZlBullDiMBeBCT+fz5G8RcA9MWqh/hfUkpOI3vNDUNEZHgokaoiv0juB9Y8fGcON7rU/A==} + postcss-minify-selectors@7.1.1: + resolution: {integrity: sha512-MZWXwSTfcpmNVJIs7tddar/275a4/zT5nG9/gEndHPRZGTAQNpiSkk8s/dq+yZVX2jKfvVn1d5X8Z5SJHWnDoQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: - postcss: ^8.4.32 + postcss: ^8.5.13 - postcss-normalize-charset@7.0.1: - resolution: {integrity: sha512-sn413ofhSQHlZFae//m9FTOfkmiZ+YQXsbosqOWRiVQncU2BA3daX3n0VF3cG6rGLSFVc5Di/yns0dFfh8NFgQ==} + postcss-normalize-charset@7.0.3: + resolution: {integrity: sha512-NoBfZu8PR4c2NlmjvrqQTzCzLY79hwcSRgNQ3ZiNK0ABzf9kYKloE/jNj+/8GQY1wsm8pRRgANk6ydLH8cwo0Q==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: - postcss: ^8.4.32 + postcss: ^8.5.13 - postcss-normalize-display-values@7.0.1: - resolution: {integrity: sha512-E5nnB26XjSYz/mGITm6JgiDpAbVuAkzXwLzRZtts19jHDUBFxZ0BkXAehy0uimrOjYJbocby4FVswA/5noOxrQ==} + 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.4.32 + postcss: ^8.5.13 - postcss-normalize-positions@7.0.1: - resolution: {integrity: sha512-pB/SzrIP2l50ZIYu+yQZyMNmnAcwyYb9R1fVWPRxm4zcUFCY2ign7rcntGFuMXDdd9L2pPNUgoODDk91PzRZuQ==} + 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.4.32 + postcss: ^8.5.13 - postcss-normalize-repeat-style@7.0.1: - resolution: {integrity: sha512-NsSQJ8zj8TIDiF0ig44Byo3Jk9e4gNt9x2VIlJudnQQ5DhWAHJPF4Tr1ITwyHio2BUi/I6Iv0HRO7beHYOloYQ==} + 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.4.32 + postcss: ^8.5.13 - postcss-normalize-string@7.0.1: - resolution: {integrity: sha512-QByrI7hAhsoze992kpbMlJSbZ8FuCEc1OT9EFbZ6HldXNpsdpZr+YXC5di3UEv0+jeZlHbZcoCADgb7a+lPmmQ==} + 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.4.32 + postcss: ^8.5.13 - postcss-normalize-timing-functions@7.0.1: - resolution: {integrity: sha512-bHifyuuSNdKKsnNJ0s8fmfLMlvsQwYVxIoUBnowIVl2ZAdrkYQNGVB4RxjfpvkMjipqvbz0u7feBZybkl/6NJg==} + 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.4.32 + postcss: ^8.5.13 - postcss-normalize-unicode@7.0.6: - resolution: {integrity: sha512-z6bwTV84YW6ZvvNoaNLuzRW4/uWxDKYI1iIDrzk6D2YTL7hICApy+Q1LP6vBEsljX8FM7YSuV9qI79XESd4ddQ==} + 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.4.32 + postcss: ^8.5.13 - postcss-normalize-url@7.0.1: - resolution: {integrity: sha512-sUcD2cWtyK1AOL/82Fwy1aIVm/wwj5SdZkgZ3QiUzSzQQofrbq15jWJ3BA7Z+yVRwamCjJgZJN0I9IS7c6tgeQ==} + 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.4.32 + postcss: ^8.5.13 - postcss-normalize-whitespace@7.0.1: - resolution: {integrity: sha512-vsbgFHMFQrJBJKrUFJNZ2pgBeBkC2IvvoHjz1to0/0Xk7sII24T0qFOiJzG6Fu3zJoq/0yI4rKWi7WhApW+EFA==} + 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.4.32 + postcss: ^8.5.13 - postcss-ordered-values@7.0.2: - resolution: {integrity: sha512-AMJjt1ECBffF7CEON/Y0rekRLS6KsePU6PRP08UqYW4UGFRnTXNrByUzYK1h8AC7UWTZdQ9O3Oq9kFIhm0SFEw==} + 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.4.32 + postcss: ^8.5.13 - postcss-reduce-initial@7.0.6: - resolution: {integrity: sha512-G6ZyK68AmrPdMB6wyeA37ejnnRG2S8xinJrZJnOv+IaRKf6koPAVbQsiC7MfkmXaGmF1UO+QCijb27wfpxuRNg==} + postcss-reduce-initial@7.0.9: + resolution: {integrity: sha512-ztTNPdIxXTxtBcG03E9u8v44M4ElXbMIRT7pf2onlquGula0Y83nKKxqM22FA/hMgkfCjN7ohevkVlaNwI8iOQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: - postcss: ^8.4.32 + postcss: ^8.5.13 - postcss-reduce-transforms@7.0.1: - resolution: {integrity: sha512-MhyEbfrm+Mlp/36hvZ9mT9DaO7dbncU0CvWI8V93LRkY6IYlu38OPg3FObnuKTUxJ4qA8HpurdQOo5CyqqO76g==} + 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.4.32 + postcss: ^8.5.13 postcss-selector-parser@7.1.1: resolution: {integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==} engines: {node: '>=4'} - postcss-svgo@7.1.1: - resolution: {integrity: sha512-zU9H9oEDrUFKa0JB7w+IYL7Qs9ey1mZyjhbf0KLxwJDdDRtoPvCmaEfknzqfHj44QS9VD6c5sJnBAVYTLRg/Sg==} + postcss-svgo@7.1.3: + resolution: {integrity: sha512-2QfoFOYMcj8lwcVEf9WeTlkVIAm7u2QvOEhMzkQU3KUhhGX/l8hVV9EtjMv4iq3E9iI3OeeMN0YoMLbGusuigw==} engines: {node: ^18.12.0 || ^20.9.0 || >= 18} peerDependencies: - postcss: ^8.4.32 + postcss: ^8.5.13 - postcss-unique-selectors@7.0.5: - resolution: {integrity: sha512-3QoYmEt4qg/rUWDn6Tc8+ZVPmbp4G1hXDtCNWDx0st8SjtCbRcxRXDDM1QrEiXGG3A45zscSJFb4QH90LViyxg==} + 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.4.32 + postcss: ^8.5.13 postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - postcss@8.5.10: - resolution: {integrity: sha512-pMMHxBOZKFU6HgAZ4eyGnwXF/EvPGGqUr0MnZ5+99485wwW41kW91A4LOGxSHhgugZmSChL5AlElNdwlNgcnLQ==} + postcss@8.5.14: + resolution: {integrity: sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==} engines: {node: ^10 || ^12 || >=14} + powershell-utils@0.1.0: + resolution: {integrity: sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A==} + engines: {node: '>=20'} + prebuild-install@7.1.3: resolution: {integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==} engines: {node: '>=10'} @@ -9480,6 +9821,9 @@ packages: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} engines: {node: '>= 6'} + proper-lockfile@4.1.2: + resolution: {integrity: sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==} + property-information@7.1.0: resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} @@ -9808,6 +10152,10 @@ packages: engines: {node: '>= 0.4'} hasBin: true + retry@0.12.0: + resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} + engines: {node: '>= 4'} + rettime@0.11.7: resolution: {integrity: sha512-DoAm1WjR1eH7z8sHPtvvUMIZh4/CSKkGCz6CxPqOrEAnOGtOuHSnSE9OC+razqxKuf4ub7pAYyl/vZV0vGs5tg==} @@ -9844,12 +10192,12 @@ packages: engines: {node: ^20.19.0 || >=22.12.0} hasBin: true - rollup-plugin-visualizer@6.0.5: - resolution: {integrity: sha512-9+HlNgKCVbJDs8tVtjQ43US12eqaiHyyiLMdBwQ7vSZPiHMysGNo2E88TAp1si5wx8NAoYriI2A5kuKfIakmJg==} - engines: {node: '>=18'} + rollup-plugin-visualizer@7.0.1: + resolution: {integrity: sha512-UJUT4+1Ho4OcWmPYU3sYXgUqI8B8Ayfe06MX7y0qCJ1K8aGoKtR/NDd/2nZqM7ADkrzny+I99Ul7GgyoiVNAgg==} + engines: {node: '>=22'} hasBin: true peerDependencies: - rolldown: 1.x || ^1.0.0-beta + rolldown: 1.x || ^1.0.0-beta || ^1.0.0-rc rollup: 2.x || 3.x || 4.x peerDependenciesMeta: rolldown: @@ -9862,8 +10210,8 @@ packages: engines: {node: '>=10.0.0'} hasBin: true - rollup@4.56.0: - resolution: {integrity: sha512-9FwVqlgUHzbXtDg9RCMgodF3Ua4Na6Gau+Sdt9vyCN4RhHfVKX2DCHy3BjMLTDd47ITDhYAnTwGulWTblJSDLg==} + rollup@4.60.3: + resolution: {integrity: sha512-pAQK9HalE84QSm4Po3EmWIZPd3FnjkShVkiMlz1iligWYkWQ7wHYd1PF/T7QZ5TVSD6uSTon5gBVMSM4JfBV+A==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -9967,8 +10315,12 @@ packages: serialize-javascript@6.0.2: resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} - seroval@1.5.1: - resolution: {integrity: sha512-OwrZRZAfhHww0WEnKHDY8OM0U/Qs8OTfIDWhUD4BLpNJUfXK4cGmjiagGze086m+mhI+V2nD0gfbHEnJjb9STA==} + serialize-javascript@7.0.5: + resolution: {integrity: sha512-F4LcB0UqUl1zErq+1nYEEzSHJnIwb3AF2XWB94b+afhrekOUijwooAYqFyRbjYkm2PAKBabx6oYv/xDxNi8IBw==} + engines: {node: '>=20.0.0'} + + seroval@1.5.3: + resolution: {integrity: sha512-BXe0x4buEeYiIKaRUnth1WqCILQ3k4O67KP/B4pC3pVz0Mv2c96ngA9QDREUYxWY1sb2RZVRqwI9RcpVMyHCVw==} engines: {node: '>=10'} serve-placeholder@2.0.2: @@ -10054,6 +10406,9 @@ packages: resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} engines: {node: '>= 0.4'} + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} @@ -10180,7 +10535,7 @@ packages: storybook-i18n@10.1.1: resolution: {integrity: sha512-A2cFaGCysU2VkjDQUFY0aQsppAFIhZU3Tx38/NYLhWShTRkUpE3huGHP59CAgArxLQEzEjLmieiTSuNT2bwA4Q==} peerDependencies: - storybook: ^10.3.1 + storybook: ^9.0.0 || ^10.0.0 storybook@10.3.5: resolution: {integrity: sha512-uBSZu/GZa9aEIW3QMGvdQPMZWhGxSe4dyRWU8B3/Vd47Gy/XLC7tsBxRr13txmmPOEDHZR94uLuq0H50fvuqBw==} @@ -10205,6 +10560,10 @@ packages: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} engines: {node: '>=12'} + string-width@7.2.0: + resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} + engines: {node: '>=18'} + string.prototype.codepointat@0.2.1: resolution: {integrity: sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==} @@ -10276,14 +10635,14 @@ packages: strip-literal@3.1.0: resolution: {integrity: sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==} - structured-clone-es@1.0.0: - resolution: {integrity: sha512-FL8EeKFFyNQv5cMnXI31CIMCsFarSVI2bF0U0ImeNE3g/F1IvJQyqzOXxPBRXiwQfyBTlbNe88jh1jFW0O/jiQ==} + structured-clone-es@2.0.0: + resolution: {integrity: sha512-5UuAHmBLXYPCl22xWJrFuGmIhBKQzxISPVz6E7nmTmTcAOpUzlbjKJsRrCE4vADmMQ0dzeCnlWn9XufnAGf76Q==} - stylehacks@7.0.7: - resolution: {integrity: sha512-bJkD0JkEtbRrMFtwgpJyBbFIwfDDONQ1Ov3sDLZQP8HuJ73kBOyx66H4bOcAbVWmnfLdvQ0AJwXxOMkpujcO6g==} + stylehacks@7.0.11: + resolution: {integrity: sha512-iODNfhXVLqc5LADs+Y6Oh5wJuK5ZcHbVng8aiK3y9pjMQdc5hLrBW0eFU6FtnpNrE6PoEg/MmFTU4waotj5WNg==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: - postcss: ^8.4.32 + postcss: ^8.5.13 supports-color@10.2.2: resolution: {integrity: sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==} @@ -10314,10 +10673,6 @@ packages: symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} - system-architecture@0.1.0: - resolution: {integrity: sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==} - engines: {node: '>=18'} - tabbable@6.4.0: resolution: {integrity: sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg==} @@ -10609,6 +10964,9 @@ packages: ufo@1.6.3: resolution: {integrity: sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==} + ufo@1.6.4: + resolution: {integrity: sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA==} + uint8arrays@3.0.0: resolution: {integrity: sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==} @@ -10648,8 +11006,8 @@ packages: unenv@2.0.0-rc.24: resolution: {integrity: sha512-i7qRCmY42zmCwnYlh9H2SvLEypEFGye5iRmEMKjcGi7zk9UquigRjFtTLz0TYqr0ZGLZhaMHl/foy1bZR+Cwlw==} - unhead@2.1.12: - resolution: {integrity: sha512-iTHdWD9ztTunOErtfUFk6Wr11BxvzumcYJ0CzaSCBUOEtg+DUZ9+gnE99i8QkLFT2q1rZD48BYYGXpOZVDLYkA==} + unhead@2.1.13: + resolution: {integrity: sha512-jO9M1sI6b2h/1KpIu4Jeu+ptumLmUKboRRLxys5pYHFeT+lqTzfNHbYUX9bxVDhC1FBszAGuWcUVlmvIPsah8Q==} unicode-canonical-property-names-ecmascript@2.0.1: resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} @@ -10695,9 +11053,14 @@ packages: resolution: {integrity: sha512-8rqAmtJV8o60x46kBAJKtHpJDJWkA2xcBqWKPI14MgUb05o1pnpnCnXSxedUXyeq7p8fR5g3pTo2BaswZ9lD9A==} engines: {node: '>=18.12.0'} - unimport@6.0.1: - resolution: {integrity: sha512-RbT3PfMshH2eYH5ylQuCf1sUQ1ocygZp57HaBNIp96g1upcTZnIstCfl6ZbZM7KHI88K3jmwhgeMxwtYsWSqug==} + unimport@6.2.0: + resolution: {integrity: sha512-4NcqaphAHQff4eBWQ3pjVOCYNLlmVGGMoLDmboobh8+OQe9yP7UyeoMP043M1bG0YNc3CqtukD2VuINxOqm4rQ==} engines: {node: '>=18.12.0'} + peerDependencies: + oxc-parser: '*' + peerDependenciesMeta: + oxc-parser: + optional: true unique-string@2.0.0: resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} @@ -10779,10 +11142,6 @@ packages: peerDependencies: vite: ^2.0.0 || ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0 || ^7.0.0 - unplugin@1.16.1: - resolution: {integrity: sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==} - engines: {node: '>=14.0.0'} - unplugin@2.3.11: resolution: {integrity: sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww==} engines: {node: '>=18.12.0'} @@ -10890,8 +11249,8 @@ packages: peerDependencies: browserslist: '>= 4.21.0' - uqr@0.1.2: - resolution: {integrity: sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==} + uqr@0.1.3: + resolution: {integrity: sha512-0rjE8iEJe4YmT9TOhwsZtqCMRLc5DXZUI2UEYUUg63ikBkqqE5EYWaI0etFe/5KUcmcYwLih2RND1kq+hrUJXA==} uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} @@ -10981,16 +11340,16 @@ packages: engines: {node: ^20.19.0 || >=22.12.0} hasBin: true - vite-plugin-checker@0.12.0: - resolution: {integrity: sha512-CmdZdDOGss7kdQwv73UyVgLPv0FVYe5czAgnmRX2oKljgEvSrODGuClaV3PDR2+3ou7N/OKGauDDBjy2MB07Rg==} + vite-plugin-checker@0.13.0: + resolution: {integrity: sha512-14EkOZmfinVZNxRmg2uCNDwtqGc/33lU/UEJansHgu27+ad+r6mMBf1Xtnq57jGZWiO/xzwtiEKPYsganw7ZFQ==} engines: {node: '>=16.11'} peerDependencies: '@biomejs/biome': '>=1.7' - eslint: '>=9.39.1' - meow: ^13.2.0 + eslint: '>=9.39.4' + meow: ^13.2.0 || ^14.0.0 optionator: ^0.9.4 oxlint: '>=1' - stylelint: '>=16' + stylelint: '>=16.26.1' typescript: '*' vite: '>=5.4.21' vls: '*' @@ -11040,8 +11399,8 @@ packages: '@vite-pwa/assets-generator': optional: true - vite-plugin-vue-tracer@1.2.0: - resolution: {integrity: sha512-a9Z/TLpxwmoE9kIcv28wqQmiszM7ec4zgndXWEsVD/2lEZLRGzcg7ONXmplzGF/UP5W59QNtS809OdywwpUWQQ==} + vite-plugin-vue-tracer@1.3.0: + resolution: {integrity: sha512-Cgfce6VikzOw5MUJTpeg50s5rRjzU1Vr61ZjuHunVVHLjZZ5AUlgyExHthZ3r59vtoz9W2rDt23FYG81avYBKw==} peerDependencies: vite: ^6.0.0 || ^7.0.0 vue: ^3.5.0 @@ -11126,11 +11485,11 @@ packages: vue-component-type-helpers@2.2.12: resolution: {integrity: sha512-YbGqHZ5/eW4SnkPNR44mKVc6ZKQoRs/Rux1sxC6rdwXb4qpbOSYfDr9DsTHolOTGmIKgM9j141mZbBeg05R1pw==} - vue-component-type-helpers@3.2.7: - resolution: {integrity: sha512-+gPp5YGmhfsj1IN+xUo7y0fb4clfnOiiUA39y07yW1VzCRjzVgwLbtmdWlghh7mXrPsEaYc7rrIir/HT6C8vYQ==} + vue-component-type-helpers@3.2.8: + resolution: {integrity: sha512-9689efAXhN/EV86plgkL/XFiJSXhGtWPG6JDboZ+QnjlUWUUQrQ0ILKQtw4iQsuwIwu5k6Aw+JnehDe7161e7A==} - vue-data-ui@3.18.2: - resolution: {integrity: sha512-BJP+YMrJeAdVnT2rmBsZBe+rHksReCHrzFM8MYXAgndgAdPJlzsLigylwflLhm9sndQeAt6ihCslX0VIU+nyUQ==} + vue-data-ui@3.19.4: + resolution: {integrity: sha512-kp12dZnHWCwCczscGbmwec9rjtCFqYFDO5Abenpn2mKaZUUNWrMwnoCVwYtdu8LeBBhs/JQLX7Ty6OjlK05kag==} peerDependencies: jspdf: '>=3.0.1' vue: '>=3.3.0' @@ -11193,8 +11552,8 @@ packages: peerDependencies: typescript: '>=5.0.0' - vue@3.5.33: - resolution: {integrity: sha512-1AgChhx5w3ALgT4oK3acm2Es/7jyZhWSVUfs3rOBlGQC0rjEDkS7G4lWlJJGGNQD+BV3reCwbQrOe1mPNwKHBQ==} + vue@3.5.34: + resolution: {integrity: sha512-WdLBG9gm02OgJIG9axd5Hpx0TFLdzVgfG2evFFu8Rur5O/IoGc5cMjnjh3tPL6GnRGsYvUhBSKVPYVcxRKpMCA==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -11293,9 +11652,9 @@ packages: engines: {node: '>= 8'} hasBin: true - which@5.0.0: - resolution: {integrity: sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==} - engines: {node: ^18.17.0 || >=20.5.0} + which@6.0.1: + resolution: {integrity: sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==} + engines: {node: ^20.17.0 || >=22.9.0} hasBin: true with@7.0.2: @@ -11367,6 +11726,10 @@ packages: resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} engines: {node: '>=12'} + wrap-ansi@9.0.2: + resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==} + engines: {node: '>=18'} + wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} @@ -11398,6 +11761,10 @@ packages: resolution: {integrity: sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==} engines: {node: '>=18'} + wsl-utils@0.3.1: + resolution: {integrity: sha512-g/eziiSUNBSsdDJtCLB8bdYEUMj4jR7AGeUo96p/3dTafgjHhpF4RiCFPiRILwjQoDXx5MqkBr4fwWtR3Ky4Wg==} + engines: {node: '>=20'} + xml-name-validator@5.0.0: resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} engines: {node: '>=18'} @@ -11444,10 +11811,18 @@ packages: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} + yargs-parser@22.0.0: + resolution: {integrity: sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==} + engines: {node: ^20.19.0 || ^22.12.0 || >=23} + yargs@17.7.2: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} + yargs@18.0.0: + resolution: {integrity: sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==} + engines: {node: ^20.19.0 || ^22.12.0 || >=23} + yjs@13.6.29: resolution: {integrity: sha512-kHqDPdltoXH+X4w1lVmMtddE3Oeqq48nM40FD5ojTd8xYhQpzIDcfE2keMSU5bAgRPJBe225WTUdyUgj1DtbiQ==} engines: {node: '>=16.0.0', npm: '>=8.0.0'} @@ -11466,8 +11841,8 @@ packages: youch-core@0.3.3: resolution: {integrity: sha512-ho7XuGjLaJ2hWHoK8yFnsUGy2Y5uDpqSTq1FkHLK4/oqKtyUU1AFbOOxY4IpC9f0fTLjwYbslUz0Po5BpD1wrA==} - youch@4.1.0: - resolution: {integrity: sha512-cYekNh2tUoU+voS11X0D0UQntVCSO6LQ1h10VriQGmfbpf0mnGTruwZICts23UUNiZCXm8H8hQBtRrdsbhuNNg==} + youch@4.1.1: + resolution: {integrity: sha512-mxW3qiSnl+GRxXsaUMzv2Mbada1Y8CDltET9UxejDQe6DBYlSekghl5U5K0ReAikcHDi0G1vKZEmmo/NWAGKLA==} zip-stream@6.0.1: resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} @@ -11533,12 +11908,12 @@ snapshots: dependencies: json-schema: 0.4.0 - '@ai-sdk/vue@3.0.116(vue@3.5.33)(zod@4.3.6)': + '@ai-sdk/vue@3.0.116(vue@3.5.34)(zod@4.3.6)': dependencies: '@ai-sdk/provider-utils': 4.0.19(zod@4.3.6) ai: 6.0.116(zod@4.3.6) - swrv: 1.1.0(vue@3.5.33) - vue: 3.5.33(typescript@6.0.2) + swrv: 1.1.0(vue@3.5.34) + vue: 3.5.34(typescript@6.0.2) transitivePeerDependencies: - zod @@ -11961,7 +12336,7 @@ snapshots: '@babel/helper-compilation-targets': 7.28.6 '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) '@babel/helpers': 7.28.6 - '@babel/parser': 7.29.2 + '@babel/parser': 7.29.3 '@babel/template': 7.28.6 '@babel/traverse': 7.29.0 '@babel/types': 7.29.0 @@ -11976,7 +12351,7 @@ snapshots: '@babel/generator@7.29.1': dependencies: - '@babel/parser': 7.29.2 + '@babel/parser': 7.29.3 '@babel/types': 7.29.0 '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 @@ -11999,7 +12374,7 @@ snapshots: dependencies: '@babel/compat-data': 7.29.0 '@babel/helper-validator-option': 7.27.1 - browserslist: 4.28.1 + browserslist: 4.28.2 lru-cache: 5.1.1 semver: 6.3.1 @@ -12113,7 +12488,7 @@ snapshots: '@babel/template': 7.28.6 '@babel/types': 7.29.0 - '@babel/parser@7.29.2': + '@babel/parser@7.29.3': dependencies: '@babel/types': 7.29.0 @@ -12618,7 +12993,7 @@ snapshots: '@babel/template@7.28.6': dependencies: '@babel/code-frame': 7.29.0 - '@babel/parser': 7.29.2 + '@babel/parser': 7.29.3 '@babel/types': 7.29.0 '@babel/traverse@7.29.0': @@ -12626,7 +13001,7 @@ snapshots: '@babel/code-frame': 7.29.0 '@babel/generator': 7.29.1 '@babel/helper-globals': 7.28.0 - '@babel/parser': 7.29.2 + '@babel/parser': 7.29.3 '@babel/template': 7.28.6 '@babel/types': 7.29.0 debug: 4.4.3 @@ -12670,6 +13045,8 @@ snapshots: '@cloudflare/kv-asset-handler@0.4.2': {} + '@colordx/core@5.4.3': {} + '@csstools/color-helpers@6.0.2': optional: true @@ -12698,25 +13075,34 @@ snapshots: '@csstools/css-tokenizer@4.0.0': optional: true - '@dxup/nuxt@0.4.0(magicast@0.5.2)(typescript@6.0.2)': + '@dxup/nuxt@0.4.1(magicast@0.5.2)(typescript@6.0.2)': dependencies: '@dxup/unimport': 0.1.2 - '@nuxt/kit': 4.4.2(magicast@0.5.2) + '@nuxt/kit': 4.4.4(magicast@0.5.2) chokidar: 5.0.0 pathe: 2.0.3 tinyglobby: 0.2.16 + optionalDependencies: typescript: 6.0.2 transitivePeerDependencies: - magicast '@dxup/unimport@0.1.2': {} - '@e18e/eslint-plugin@0.3.0(eslint@9.39.2)(oxlint@1.58.0)': + '@e18e/eslint-plugin@0.4.1(eslint@9.39.2)(oxlint@1.61.0)': dependencies: - eslint-plugin-depend: 1.5.0(eslint@9.39.2) + empathic: 2.0.0 + module-replacements: 3.0.0-beta.7 + semver: 7.7.4 optionalDependencies: eslint: 9.39.2(jiti@2.6.1) - oxlint: 1.58.0(oxlint-tsgolint@0.20.0) + oxlint: 1.61.0(oxlint-tsgolint@0.20.0) + + '@emnapi/core@1.10.0': + dependencies: + '@emnapi/wasi-threads': 1.2.1 + tslib: 2.8.1 + optional: true '@emnapi/core@1.9.2': dependencies: @@ -12724,6 +13110,11 @@ snapshots: tslib: 2.8.1 optional: true + '@emnapi/runtime@1.10.0': + dependencies: + tslib: 2.8.1 + optional: true + '@emnapi/runtime@1.9.2': dependencies: tslib: 2.8.1 @@ -12740,156 +13131,234 @@ snapshots: '@esbuild/aix-ppc64@0.27.3': optional: true + '@esbuild/aix-ppc64@0.28.0': + optional: true + '@esbuild/android-arm64@0.25.12': optional: true '@esbuild/android-arm64@0.27.3': optional: true + '@esbuild/android-arm64@0.28.0': + optional: true + '@esbuild/android-arm@0.25.12': optional: true '@esbuild/android-arm@0.27.3': optional: true + '@esbuild/android-arm@0.28.0': + optional: true + '@esbuild/android-x64@0.25.12': optional: true '@esbuild/android-x64@0.27.3': optional: true + '@esbuild/android-x64@0.28.0': + optional: true + '@esbuild/darwin-arm64@0.25.12': optional: true '@esbuild/darwin-arm64@0.27.3': optional: true + '@esbuild/darwin-arm64@0.28.0': + optional: true + '@esbuild/darwin-x64@0.25.12': optional: true '@esbuild/darwin-x64@0.27.3': optional: true + '@esbuild/darwin-x64@0.28.0': + optional: true + '@esbuild/freebsd-arm64@0.25.12': optional: true '@esbuild/freebsd-arm64@0.27.3': optional: true + '@esbuild/freebsd-arm64@0.28.0': + optional: true + '@esbuild/freebsd-x64@0.25.12': optional: true '@esbuild/freebsd-x64@0.27.3': optional: true + '@esbuild/freebsd-x64@0.28.0': + optional: true + '@esbuild/linux-arm64@0.25.12': optional: true '@esbuild/linux-arm64@0.27.3': optional: true + '@esbuild/linux-arm64@0.28.0': + optional: true + '@esbuild/linux-arm@0.25.12': optional: true '@esbuild/linux-arm@0.27.3': optional: true + '@esbuild/linux-arm@0.28.0': + optional: true + '@esbuild/linux-ia32@0.25.12': optional: true '@esbuild/linux-ia32@0.27.3': optional: true + '@esbuild/linux-ia32@0.28.0': + optional: true + '@esbuild/linux-loong64@0.25.12': optional: true '@esbuild/linux-loong64@0.27.3': optional: true + '@esbuild/linux-loong64@0.28.0': + optional: true + '@esbuild/linux-mips64el@0.25.12': optional: true '@esbuild/linux-mips64el@0.27.3': optional: true + '@esbuild/linux-mips64el@0.28.0': + optional: true + '@esbuild/linux-ppc64@0.25.12': optional: true '@esbuild/linux-ppc64@0.27.3': optional: true + '@esbuild/linux-ppc64@0.28.0': + optional: true + '@esbuild/linux-riscv64@0.25.12': optional: true '@esbuild/linux-riscv64@0.27.3': optional: true + '@esbuild/linux-riscv64@0.28.0': + optional: true + '@esbuild/linux-s390x@0.25.12': optional: true '@esbuild/linux-s390x@0.27.3': optional: true + '@esbuild/linux-s390x@0.28.0': + optional: true + '@esbuild/linux-x64@0.25.12': optional: true '@esbuild/linux-x64@0.27.3': optional: true + '@esbuild/linux-x64@0.28.0': + optional: true + '@esbuild/netbsd-arm64@0.25.12': optional: true '@esbuild/netbsd-arm64@0.27.3': optional: true + '@esbuild/netbsd-arm64@0.28.0': + optional: true + '@esbuild/netbsd-x64@0.25.12': optional: true '@esbuild/netbsd-x64@0.27.3': optional: true + '@esbuild/netbsd-x64@0.28.0': + optional: true + '@esbuild/openbsd-arm64@0.25.12': optional: true '@esbuild/openbsd-arm64@0.27.3': optional: true + '@esbuild/openbsd-arm64@0.28.0': + optional: true + '@esbuild/openbsd-x64@0.25.12': optional: true '@esbuild/openbsd-x64@0.27.3': optional: true + '@esbuild/openbsd-x64@0.28.0': + optional: true + '@esbuild/openharmony-arm64@0.25.12': optional: true '@esbuild/openharmony-arm64@0.27.3': optional: true + '@esbuild/openharmony-arm64@0.28.0': + optional: true + '@esbuild/sunos-x64@0.25.12': optional: true '@esbuild/sunos-x64@0.27.3': optional: true + '@esbuild/sunos-x64@0.28.0': + optional: true + '@esbuild/win32-arm64@0.25.12': optional: true '@esbuild/win32-arm64@0.27.3': optional: true + '@esbuild/win32-arm64@0.28.0': + optional: true + '@esbuild/win32-ia32@0.25.12': optional: true '@esbuild/win32-ia32@0.27.3': optional: true + '@esbuild/win32-ia32@0.28.0': + optional: true + '@esbuild/win32-x64@0.25.12': optional: true '@esbuild/win32-x64@0.27.3': optional: true + '@esbuild/win32-x64@0.28.0': + optional: true + '@eslint-community/eslint-utils@4.9.1(eslint@9.39.2)': dependencies: eslint: 9.39.2(jiti@2.6.1) @@ -12957,11 +13426,11 @@ snapshots: '@floating-ui/utils@0.2.11': {} - '@floating-ui/vue@1.1.11(vue@3.5.33)': + '@floating-ui/vue@1.1.11(vue@3.5.34)': dependencies: '@floating-ui/dom': 1.7.6 '@floating-ui/utils': 0.2.11 - vue-demi: 0.14.10(vue@3.5.33) + vue-demi: 0.14.10(vue@3.5.34) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -13011,12 +13480,12 @@ snapshots: dependencies: '@antfu/install-pkg': 1.1.0 '@iconify/types': 2.0.0 - mlly: 1.8.1 + mlly: 1.8.2 - '@iconify/vue@5.0.0(vue@3.5.33)': + '@iconify/vue@5.0.0(vue@3.5.34)': dependencies: '@iconify/types': 2.0.0 - vue: 3.5.33(typescript@6.0.2) + vue: 3.5.34(typescript@6.0.2) '@img/colour@1.0.0': {} @@ -13102,7 +13571,7 @@ snapshots: '@img/sharp-wasm32@0.34.5': dependencies: - '@emnapi/runtime': 1.9.2 + '@emnapi/runtime': 1.10.0 optional: true '@img/sharp-win32-arm64@0.34.5': @@ -13162,7 +13631,7 @@ snapshots: source-map-js: 1.2.1 yaml-eslint-parser: 1.3.2 optionalDependencies: - vue-i18n: 11.2.8(vue@3.5.33) + vue-i18n: 11.2.8(vue@3.5.34) '@intlify/core-base@11.2.8': dependencies: @@ -13204,13 +13673,13 @@ snapshots: '@intlify/shared@11.3.0': {} - '@intlify/unplugin-vue-i18n@11.0.7(@vue/compiler-dom@3.5.33)(eslint@9.39.2)(rollup@4.56.0)(typescript@6.0.2)(vue-i18n@11.2.8)(vue@3.5.33)': + '@intlify/unplugin-vue-i18n@11.0.7(@vue/compiler-dom@3.5.34)(eslint@9.39.2)(rollup@4.60.3)(typescript@6.0.2)(vue-i18n@11.2.8)(vue@3.5.34)': dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2) '@intlify/bundle-utils': 11.0.7(vue-i18n@11.2.8) '@intlify/shared': 11.3.0 - '@intlify/vue-i18n-extensions': 8.0.0(@intlify/shared@11.3.0)(@vue/compiler-dom@3.5.33)(vue-i18n@11.2.8)(vue@3.5.33) - '@rollup/pluginutils': 5.3.0(rollup@4.56.0) + '@intlify/vue-i18n-extensions': 8.0.0(@intlify/shared@11.3.0)(@vue/compiler-dom@3.5.34)(vue-i18n@11.2.8)(vue@3.5.34) + '@rollup/pluginutils': 5.3.0(rollup@4.60.3) '@typescript-eslint/scope-manager': 8.56.1 '@typescript-eslint/typescript-estree': 8.56.1(typescript@6.0.2) debug: 4.4.3 @@ -13218,9 +13687,9 @@ snapshots: pathe: 2.0.3 picocolors: 1.1.1 unplugin: 2.3.11 - vue: 3.5.33(typescript@6.0.2) + vue: 3.5.34(typescript@6.0.2) optionalDependencies: - vue-i18n: 11.2.8(vue@3.5.33) + vue-i18n: 11.2.8(vue@3.5.34) transitivePeerDependencies: - '@vue/compiler-dom' - eslint @@ -13232,16 +13701,16 @@ snapshots: '@intlify/utils@0.14.1': {} - '@intlify/vue-i18n-extensions@8.0.0(@intlify/shared@11.3.0)(@vue/compiler-dom@3.5.33)(vue-i18n@11.2.8)(vue@3.5.33)': + '@intlify/vue-i18n-extensions@8.0.0(@intlify/shared@11.3.0)(@vue/compiler-dom@3.5.34)(vue-i18n@11.2.8)(vue@3.5.34)': dependencies: - '@babel/parser': 7.29.2 + '@babel/parser': 7.29.3 optionalDependencies: '@intlify/shared': 11.3.0 - '@vue/compiler-dom': 3.5.33 - vue: 3.5.33(typescript@6.0.2) - vue-i18n: 11.2.8(vue@3.5.33) + '@vue/compiler-dom': 3.5.34 + vue: 3.5.34(typescript@6.0.2) + vue-i18n: 11.2.8(vue@3.5.34) - '@ioredis/commands@1.5.0': {} + '@ioredis/commands@1.5.1': {} '@ipld/dag-cbor@7.0.3': dependencies: @@ -13409,11 +13878,11 @@ snapshots: '@types/react': 19.2.14 react: 19.2.4 - '@miyaneee/rollup-plugin-json5@1.2.0(rollup@4.56.0)': + '@miyaneee/rollup-plugin-json5@1.2.0(rollup@4.60.3)': dependencies: - '@rollup/pluginutils': 5.3.0(rollup@4.56.0) + '@rollup/pluginutils': 5.3.0(rollup@4.60.3) json5: 2.2.3 - rollup: 4.56.0 + rollup: 4.60.3 '@modelcontextprotocol/sdk@1.27.1(zod@4.3.6)': dependencies: @@ -13446,52 +13915,59 @@ snapshots: outvariant: 1.4.3 strict-event-emitter: 0.5.1 - '@napi-rs/canvas-android-arm64@0.1.97': + '@napi-rs/canvas-android-arm64@1.0.0': optional: true - '@napi-rs/canvas-darwin-arm64@0.1.97': + '@napi-rs/canvas-darwin-arm64@1.0.0': optional: true - '@napi-rs/canvas-darwin-x64@0.1.97': + '@napi-rs/canvas-darwin-x64@1.0.0': optional: true - '@napi-rs/canvas-linux-arm-gnueabihf@0.1.97': + '@napi-rs/canvas-linux-arm-gnueabihf@1.0.0': optional: true - '@napi-rs/canvas-linux-arm64-gnu@0.1.97': + '@napi-rs/canvas-linux-arm64-gnu@1.0.0': optional: true - '@napi-rs/canvas-linux-arm64-musl@0.1.97': + '@napi-rs/canvas-linux-arm64-musl@1.0.0': optional: true - '@napi-rs/canvas-linux-riscv64-gnu@0.1.97': + '@napi-rs/canvas-linux-riscv64-gnu@1.0.0': optional: true - '@napi-rs/canvas-linux-x64-gnu@0.1.97': + '@napi-rs/canvas-linux-x64-gnu@1.0.0': optional: true - '@napi-rs/canvas-linux-x64-musl@0.1.97': + '@napi-rs/canvas-linux-x64-musl@1.0.0': optional: true - '@napi-rs/canvas-win32-arm64-msvc@0.1.97': + '@napi-rs/canvas-win32-arm64-msvc@1.0.0': optional: true - '@napi-rs/canvas-win32-x64-msvc@0.1.97': + '@napi-rs/canvas-win32-x64-msvc@1.0.0': optional: true - '@napi-rs/canvas@0.1.97': + '@napi-rs/canvas@1.0.0': optionalDependencies: - '@napi-rs/canvas-android-arm64': 0.1.97 - '@napi-rs/canvas-darwin-arm64': 0.1.97 - '@napi-rs/canvas-darwin-x64': 0.1.97 - '@napi-rs/canvas-linux-arm-gnueabihf': 0.1.97 - '@napi-rs/canvas-linux-arm64-gnu': 0.1.97 - '@napi-rs/canvas-linux-arm64-musl': 0.1.97 - '@napi-rs/canvas-linux-riscv64-gnu': 0.1.97 - '@napi-rs/canvas-linux-x64-gnu': 0.1.97 - '@napi-rs/canvas-linux-x64-musl': 0.1.97 - '@napi-rs/canvas-win32-arm64-msvc': 0.1.97 - '@napi-rs/canvas-win32-x64-msvc': 0.1.97 + '@napi-rs/canvas-android-arm64': 1.0.0 + '@napi-rs/canvas-darwin-arm64': 1.0.0 + '@napi-rs/canvas-darwin-x64': 1.0.0 + '@napi-rs/canvas-linux-arm-gnueabihf': 1.0.0 + '@napi-rs/canvas-linux-arm64-gnu': 1.0.0 + '@napi-rs/canvas-linux-arm64-musl': 1.0.0 + '@napi-rs/canvas-linux-riscv64-gnu': 1.0.0 + '@napi-rs/canvas-linux-x64-gnu': 1.0.0 + '@napi-rs/canvas-linux-x64-musl': 1.0.0 + '@napi-rs/canvas-win32-arm64-msvc': 1.0.0 + '@napi-rs/canvas-win32-x64-msvc': 1.0.0 + + '@napi-rs/wasm-runtime@1.1.4(@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.1 + optional: true '@napi-rs/wasm-runtime@1.1.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': dependencies: @@ -13523,14 +13999,14 @@ snapshots: '@nuxt/a11y@1.0.0-alpha.1(magicast@0.5.2)(vite@8.0.0)': dependencies: '@nuxt/devtools-kit': 3.2.4(magicast@0.5.2)(vite@8.0.0) - '@nuxt/kit': 4.4.2(magicast@0.5.2) + '@nuxt/kit': 4.4.4(magicast@0.5.2) axe-core: 4.11.1 sirv: 3.0.2 transitivePeerDependencies: - magicast - vite - '@nuxt/cli@3.34.0(@nuxt/schema@4.4.2)(cac@6.7.14)(magicast@0.5.2)': + '@nuxt/cli@3.35.1(@nuxt/schema@4.4.4)(cac@6.7.14)(magicast@0.5.2)': dependencies: '@bomb.sh/tab': 0.0.14(cac@6.7.14)(citty@0.2.2) '@clack/prompts': 1.2.0 @@ -13539,29 +14015,29 @@ snapshots: confbox: 0.2.4 consola: 3.4.2 debug: 4.4.3 - defu: 6.1.4 + defu: 6.1.7 exsolve: 1.0.8 - fuse.js: 7.1.0 + fuse.js: 7.3.0 fzf: 0.5.2 giget: 3.2.0 jiti: 2.6.1 - listhen: 1.9.0 + listhen: 1.10.0 nypm: 0.6.6 ofetch: 1.5.1 ohash: 2.0.11 pathe: 2.0.3 perfect-debounce: 2.1.0 - pkg-types: 2.3.0 + pkg-types: 2.3.1 scule: 1.3.0 semver: 7.7.4 srvx: 0.11.15 - std-env: 3.10.0 + std-env: 4.1.0 tinyclip: 0.1.12 tinyexec: 1.1.1 ufo: 1.6.3 - youch: 4.1.0 + youch: 4.1.1 optionalDependencies: - '@nuxt/schema': 4.4.2 + '@nuxt/schema': 4.4.4 transitivePeerDependencies: - cac - commander @@ -13570,7 +14046,7 @@ snapshots: '@nuxt/content@3.12.0(@valibot/to-json-schema@1.5.0)(better-sqlite3@12.8.0)(magicast@0.5.2)(valibot@1.3.1)': dependencies: - '@nuxt/kit': 4.4.2(magicast@0.5.2) + '@nuxt/kit': 4.4.4(magicast@0.5.2) '@nuxtjs/mdc': 0.20.2(magicast@0.5.2) '@shikijs/langs': 3.23.0 '@sqlite.org/sqlite-wasm': 3.50.4-build1 @@ -13601,7 +14077,7 @@ snapshots: nypm: 0.6.6 ohash: 2.0.11 pathe: 2.0.3 - pkg-types: 2.3.0 + pkg-types: 2.3.1 remark-mdc: 3.10.0 scule: 1.3.0 shiki: 4.0.2 @@ -13635,35 +14111,27 @@ snapshots: dependencies: '@nuxt/kit': 3.21.2(magicast@0.5.2) execa: 8.0.1 - vite: 8.0.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) - transitivePeerDependencies: - - magicast - - '@nuxt/devtools-kit@3.2.3(magicast@0.5.2)(vite@8.0.0)': - dependencies: - '@nuxt/kit': 4.4.2(magicast@0.5.2) - execa: 8.0.1 - vite: 8.0.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) + vite: 8.0.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@24.12.0)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - magicast '@nuxt/devtools-kit@3.2.4(magicast@0.5.2)(vite@8.0.0)': dependencies: - '@nuxt/kit': 4.4.2(magicast@0.5.2) + '@nuxt/kit': 4.4.4(magicast@0.5.2) execa: 8.0.1 - vite: 8.0.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) + vite: 8.0.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@24.12.0)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - magicast '@nuxt/devtools-kit@4.0.0-alpha.3(magicast@0.5.2)(vite@8.0.0)': dependencies: - '@nuxt/kit': 4.4.2(magicast@0.5.2) + '@nuxt/kit': 4.4.4(magicast@0.5.2) tinyexec: 1.1.1 - vite: 8.0.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) + vite: 8.0.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@24.12.0)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - magicast - '@nuxt/devtools-wizard@3.2.3': + '@nuxt/devtools-wizard@3.2.4': dependencies: '@clack/prompts': 1.2.0 consola: 3.4.2 @@ -13671,15 +14139,15 @@ snapshots: execa: 8.0.1 magicast: 0.5.2 pathe: 2.0.3 - pkg-types: 2.3.0 + pkg-types: 2.3.1 semver: 7.7.4 - '@nuxt/devtools@3.2.3(vite@8.0.0)(vue@3.5.33)': + '@nuxt/devtools@3.2.4(vite@8.0.0)(vue@3.5.34)': dependencies: - '@nuxt/devtools-kit': 3.2.3(magicast@0.5.2)(vite@8.0.0) - '@nuxt/devtools-wizard': 3.2.3 - '@nuxt/kit': 4.4.2(magicast@0.5.2) - '@vue/devtools-core': 8.1.0(vue@3.5.33) + '@nuxt/devtools-kit': 3.2.4(magicast@0.5.2)(vite@8.0.0) + '@nuxt/devtools-wizard': 3.2.4 + '@nuxt/kit': 4.4.4(magicast@0.5.2) + '@vue/devtools-core': 8.1.0(vue@3.5.34) '@vue/devtools-kit': 8.1.0 birpc: 4.0.0 consola: 3.4.2 @@ -13698,16 +14166,16 @@ snapshots: ohash: 2.0.11 pathe: 2.0.3 perfect-debounce: 2.1.0 - pkg-types: 2.3.0 + pkg-types: 2.3.1 semver: 7.7.4 simple-git: 3.33.0 sirv: 3.0.2 - structured-clone-es: 1.0.0 + structured-clone-es: 2.0.0 tinyglobby: 0.2.16 - vite: 8.0.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) - vite-plugin-inspect: 11.3.3(@nuxt/kit@4.4.2)(vite@8.0.0) - vite-plugin-vue-tracer: 1.2.0(vite@8.0.0)(vue@3.5.33) - which: 5.0.0 + vite: 8.0.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@24.12.0)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) + vite-plugin-inspect: 11.3.3(@nuxt/kit@4.4.4)(vite@8.0.0) + vite-plugin-vue-tracer: 1.3.0(vite@8.0.0)(vue@3.5.34) + which: 6.0.1 ws: 8.19.0 transitivePeerDependencies: - bufferutil @@ -13715,13 +14183,13 @@ snapshots: - utf-8-validate - vue - '@nuxt/fonts@0.14.0(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.9.2)(magicast@0.5.2)(vite@8.0.0)': + '@nuxt/fonts@0.14.0(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.10.1)(magicast@0.5.2)(vite@8.0.0)': dependencies: '@nuxt/devtools-kit': 3.2.4(magicast@0.5.2)(vite@8.0.0) - '@nuxt/kit': 4.4.2(magicast@0.5.2) + '@nuxt/kit': 4.4.4(magicast@0.5.2) consola: 3.4.2 defu: 6.1.4 - fontless: 0.2.1(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.9.2)(vite@8.0.0) + fontless: 0.2.1(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.10.1)(vite@8.0.0) h3: 1.15.8 magic-regexp: 0.10.0 ofetch: 1.5.1 @@ -13731,7 +14199,7 @@ snapshots: ufo: 1.6.3 unifont: 0.7.4 unplugin: 3.0.0 - unstorage: 1.17.5(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.9.2) + unstorage: 1.17.5(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.10.1) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -13755,17 +14223,17 @@ snapshots: - uploadthing - vite - '@nuxt/icon@2.2.1(magicast@0.5.2)(vite@8.0.0)(vue@3.5.33)': + '@nuxt/icon@2.2.1(magicast@0.5.2)(vite@8.0.0)(vue@3.5.34)': dependencies: '@iconify/collections': 1.0.654 '@iconify/types': 2.0.0 '@iconify/utils': 3.1.0 - '@iconify/vue': 5.0.0(vue@3.5.33) + '@iconify/vue': 5.0.0(vue@3.5.34) '@nuxt/devtools-kit': 3.2.4(magicast@0.5.2)(vite@8.0.0) - '@nuxt/kit': 4.4.2(magicast@0.5.2) + '@nuxt/kit': 4.4.4(magicast@0.5.2) consola: 3.4.2 local-pkg: 1.1.2 - mlly: 1.8.1 + mlly: 1.8.2 ohash: 2.0.11 pathe: 2.0.3 picomatch: 4.0.4 @@ -13776,9 +14244,9 @@ snapshots: - vite - vue - '@nuxt/image@2.0.0(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.9.2)(magicast@0.5.2)': + '@nuxt/image@2.0.0(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.10.1)(magicast@0.5.2)': dependencies: - '@nuxt/kit': 4.4.2(magicast@0.5.2) + '@nuxt/kit': 4.4.4(magicast@0.5.2) consola: 3.4.2 defu: 6.1.4 h3: 1.15.8 @@ -13789,7 +14257,7 @@ snapshots: std-env: 3.10.0 ufo: 1.6.3 optionalDependencies: - ipx: 3.1.1(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.9.2) + ipx: 3.1.1(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.10.1) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -13812,32 +14280,6 @@ snapshots: - magicast - uploadthing - '@nuxt/kit@3.21.1(magicast@0.5.2)': - dependencies: - c12: 3.3.4(magicast@0.5.2) - consola: 3.4.2 - defu: 6.1.4 - destr: 2.0.5 - errx: 0.1.0 - exsolve: 1.0.8 - ignore: 7.0.5 - jiti: 2.6.1 - klona: 2.0.6 - knitwork: 1.3.0 - mlly: 1.8.1 - ohash: 2.0.11 - pathe: 2.0.3 - pkg-types: 2.3.0 - rc9: 3.0.1 - scule: 1.3.0 - semver: 7.7.4 - tinyglobby: 0.2.16 - ufo: 1.6.3 - unctx: 2.5.0 - untyped: 2.0.0 - transitivePeerDependencies: - - magicast - '@nuxt/kit@3.21.2(magicast@0.5.2)': dependencies: c12: 3.3.4(magicast@0.5.2) @@ -13850,10 +14292,10 @@ snapshots: jiti: 2.6.1 klona: 2.0.6 knitwork: 1.3.0 - mlly: 1.8.1 + mlly: 1.8.2 ohash: 2.0.11 pathe: 2.0.3 - pkg-types: 2.3.0 + pkg-types: 2.3.1 rc9: 3.0.1 scule: 1.3.0 semver: 7.7.4 @@ -13864,61 +14306,60 @@ snapshots: transitivePeerDependencies: - magicast - '@nuxt/kit@4.4.2(magicast@0.5.2)': + '@nuxt/kit@4.4.4(magicast@0.5.2)': dependencies: c12: 3.3.4(magicast@0.5.2) consola: 3.4.2 - defu: 6.1.4 + defu: 6.1.7 destr: 2.0.5 errx: 0.1.0 exsolve: 1.0.8 ignore: 7.0.5 jiti: 2.6.1 klona: 2.0.6 - mlly: 1.8.1 + mlly: 1.8.2 ohash: 2.0.11 pathe: 2.0.3 - pkg-types: 2.3.0 + pkg-types: 2.3.1 rc9: 3.0.1 scule: 1.3.0 semver: 7.7.4 tinyglobby: 0.2.16 - ufo: 1.6.3 + ufo: 1.6.4 unctx: 2.5.0 untyped: 2.0.0 transitivePeerDependencies: - magicast - '@nuxt/nitro-server@4.4.2(@babel/core@7.29.0)(@upstash/redis@1.37.0)(better-sqlite3@12.8.0)(db0@0.3.4)(encoding@0.1.13)(ioredis@5.9.2)(magicast@0.5.2)(nuxt@4.4.2)(rolldown@1.0.0-rc.16)(typescript@6.0.2)': + '@nuxt/nitro-server@4.4.4(@babel/core@7.29.0)(@upstash/redis@1.37.0)(better-sqlite3@12.8.0)(db0@0.3.4)(encoding@0.1.13)(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.4)(oxc-parser@0.128.0)(rolldown@1.0.0-rc.16)(typescript@6.0.2)': dependencies: '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.0) '@nuxt/devalue': 2.0.2 - '@nuxt/kit': 4.4.2(magicast@0.5.2) - '@unhead/vue': 2.1.12(vue@3.5.33) - '@vue/shared': 3.5.33 + '@nuxt/kit': 4.4.4(magicast@0.5.2) + '@unhead/vue': 2.1.13(vue@3.5.34) + '@vue/shared': 3.5.34 consola: 3.4.2 - defu: 6.1.4 + defu: 6.1.7 destr: 2.0.5 - devalue: 5.6.4 + devalue: 5.7.1 errx: 0.1.0 escape-string-regexp: 5.0.0 exsolve: 1.0.8 - h3: 1.15.8 + h3: 1.15.11 impound: 1.1.5 klona: 2.0.6 mocked-exports: 0.1.1 - nitropack: 2.13.1(@upstash/redis@1.37.0)(better-sqlite3@12.8.0)(encoding@0.1.13)(rolldown@1.0.0-rc.16) - nuxt: 4.4.2(@babel/core@7.29.0)(@babel/plugin-syntax-jsx@7.28.6)(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@parcel/watcher@2.5.4)(@types/node@24.12.0)(@upstash/redis@1.37.0)(@vue/compiler-sfc@3.5.33)(better-sqlite3@12.8.0)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(esbuild@0.27.3)(eslint@9.39.2)(ioredis@5.9.2)(magicast@0.5.2)(optionator@0.9.4)(oxlint@1.58.0)(rolldown@1.0.0-rc.16)(rollup-plugin-visualizer@6.0.5)(rollup@4.56.0)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(vue-tsc@3.2.6)(yaml@2.8.2) + nitropack: 2.13.4(@upstash/redis@1.37.0)(better-sqlite3@12.8.0)(encoding@0.1.13)(oxc-parser@0.128.0)(rolldown@1.0.0-rc.16) + nuxt: 4.4.4(@babel/core@7.29.0)(@babel/plugin-syntax-jsx@7.28.6)(@parcel/watcher@2.5.6)(@types/node@24.12.0)(@upstash/redis@1.37.0)(@vue/compiler-sfc@3.5.34)(better-sqlite3@12.8.0)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(eslint@9.39.2)(ioredis@5.10.1)(magicast@0.5.2)(optionator@0.9.4)(oxlint@1.61.0)(rolldown@1.0.0-rc.16)(rollup-plugin-visualizer@7.0.1)(rollup@4.60.3)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(vue-tsc@3.2.6)(yaml@2.8.2) nypm: 0.6.6 ohash: 2.0.11 pathe: 2.0.3 - pkg-types: 2.3.0 rou3: 0.8.1 - std-env: 4.0.0 - ufo: 1.6.3 + std-env: 4.1.0 + ufo: 1.6.4 unctx: 2.5.0 - unstorage: 1.17.5(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.9.2) - vue: 3.5.33(typescript@6.0.2) + unstorage: 1.17.5(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.10.1) + vue: 3.5.34(typescript@6.0.2) vue-bundle-renderer: 2.2.0 vue-devtools-stub: 0.1.0 transitivePeerDependencies: @@ -13949,6 +14390,7 @@ snapshots: - ioredis - magicast - mysql2 + - oxc-parser - react-native-b4a - rolldown - sqlite3 @@ -13957,29 +14399,21 @@ snapshots: - uploadthing - xml2js - '@nuxt/schema@3.21.1': - dependencies: - '@vue/shared': 3.5.33 - defu: 6.1.4 - pathe: 2.0.3 - pkg-types: 2.3.0 - std-env: 3.10.0 - - '@nuxt/schema@4.4.2': + '@nuxt/schema@4.4.4': dependencies: - '@vue/shared': 3.5.33 - defu: 6.1.4 + '@vue/shared': 3.5.34 + defu: 6.1.7 pathe: 2.0.3 - pkg-types: 2.3.0 - std-env: 4.0.0 + pkg-types: 2.3.1 + std-env: 4.1.0 - '@nuxt/scripts@1.0.1(@unhead/vue@2.1.12)(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.9.2)(magicast@0.5.2)(typescript@6.0.2)(vite@8.0.0)(vue@3.5.33)': + '@nuxt/scripts@1.0.1(@unhead/vue@2.1.13)(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.10.1)(magicast@0.5.2)(typescript@6.0.2)(vite@8.0.0)(vue@3.5.34)': dependencies: '@nuxt/devtools-kit': 3.2.4(magicast@0.5.2)(vite@8.0.0) - '@nuxt/kit': 4.4.2(magicast@0.5.2) - '@unhead/vue': 2.1.12(vue@3.5.33) - '@vueuse/core': 14.2.1(vue@3.5.33) - '@vueuse/shared': 14.2.1(vue@3.5.33) + '@nuxt/kit': 4.4.4(magicast@0.5.2) + '@unhead/vue': 2.1.13(vue@3.5.34) + '@vueuse/core': 14.3.0(vue@3.5.34) + '@vueuse/shared': 14.2.1(vue@3.5.34) consola: 3.4.2 defu: 6.1.7 estree-walker: 3.0.3 @@ -13990,13 +14424,13 @@ snapshots: oxc-parser: 0.126.0 oxc-walker: 0.7.0(oxc-parser@0.126.0) pathe: 2.0.3 - pkg-types: 2.3.0 + pkg-types: 2.3.1 sirv: 3.0.2 std-env: 4.1.0 ufo: 1.6.3 ultrahtml: 1.6.0 unplugin: 3.0.0 - unstorage: 1.17.5(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.9.2) + unstorage: 1.17.5(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.10.1) valibot: 1.3.1(typescript@6.0.2) transitivePeerDependencies: - '@azure/app-configuration' @@ -14023,14 +14457,14 @@ snapshots: - vite - vue - '@nuxt/telemetry@2.7.0(@nuxt/kit@4.4.2)': + '@nuxt/telemetry@2.8.0(@nuxt/kit@4.4.4)': dependencies: - '@nuxt/kit': 4.4.2(magicast@0.5.2) + '@nuxt/kit': 4.4.4(magicast@0.5.2) citty: 0.2.2 consola: 3.4.2 ofetch: 2.0.0-alpha.3 rc9: 3.0.1 - std-env: 3.10.0 + std-env: 4.0.0 '@nuxt/test-utils@4.0.3(patch_hash=8438d6588e19230d3392ce53e45dd8e9bff54eaa3ce18092602fefd40c2eefe9)(@playwright/test@1.58.2)(@voidzero-dev/vite-plus-test@0.1.16)(@vue/test-utils@2.4.6)(happy-dom@20.3.5)(jsdom@27.4.0)(magicast@0.5.2)(playwright-core@1.58.2)(typescript@6.0.2)(vite@8.0.0)': dependencies: @@ -14062,42 +14496,42 @@ snapshots: ufo: 1.6.3 unplugin: 3.0.0 vitest-environment-nuxt: 2.0.0(@playwright/test@1.58.2)(@voidzero-dev/vite-plus-test@0.1.16)(@vue/test-utils@2.4.6)(happy-dom@20.3.5)(jsdom@27.4.0)(magicast@0.5.2)(playwright-core@1.58.2)(typescript@6.0.2)(vite@8.0.0) - vue: 3.5.33(typescript@6.0.2) + vue: 3.5.34(typescript@6.0.2) optionalDependencies: '@playwright/test': 1.58.2 '@vue/test-utils': 2.4.6 happy-dom: 20.3.5 jsdom: 27.4.0(@noble/hashes@1.8.0) playwright-core: 1.58.2 - vitest: '@voidzero-dev/vite-plus-test@0.1.16(@opentelemetry/api@1.9.0)(@types/node@24.12.0)(esbuild@0.27.3)(happy-dom@20.3.5)(jiti@2.6.1)(jsdom@27.4.0)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(yaml@2.8.2)' + vitest: '@voidzero-dev/vite-plus-test@0.1.16(@opentelemetry/api@1.9.0)(@types/node@24.12.0)(happy-dom@20.3.5)(jiti@2.6.1)(jsdom@27.4.0)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(yaml@2.8.2)' transitivePeerDependencies: - crossws - magicast - typescript - vite - '@nuxt/ui@4.5.1(@nuxt/content@3.12.0)(@tiptap/extensions@3.20.0)(@tiptap/y-tiptap@3.0.2)(@upstash/redis@1.37.0)(db0@0.3.4)(embla-carousel@8.6.0)(focus-trap@8.0.0)(ioredis@5.9.2)(magicast@0.5.2)(react-dom@19.2.4)(react@19.2.4)(tailwindcss@4.2.2)(typescript@6.0.2)(valibot@1.3.1)(vite@8.0.0)(vue-router@5.0.4)(vue@3.5.33)(yjs@13.6.29)(zod@4.3.6)': + '@nuxt/ui@4.5.1(@nuxt/content@3.12.0)(@tiptap/extensions@3.20.0)(@tiptap/y-tiptap@3.0.2)(@upstash/redis@1.37.0)(db0@0.3.4)(embla-carousel@8.6.0)(focus-trap@8.0.0)(ioredis@5.10.1)(magicast@0.5.2)(react-dom@19.2.4)(react@19.2.4)(tailwindcss@4.2.2)(typescript@6.0.2)(valibot@1.3.1)(vite@8.0.0)(vue-router@5.0.4)(vue@3.5.34)(yjs@13.6.29)(zod@4.3.6)': dependencies: '@floating-ui/dom': 1.7.6 - '@iconify/vue': 5.0.0(vue@3.5.33) + '@iconify/vue': 5.0.0(vue@3.5.34) '@internationalized/date': 3.11.0 '@internationalized/number': 3.6.5 - '@nuxt/fonts': 0.14.0(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.9.2)(magicast@0.5.2)(vite@8.0.0) - '@nuxt/icon': 2.2.1(magicast@0.5.2)(vite@8.0.0)(vue@3.5.33) - '@nuxt/kit': 4.4.2(magicast@0.5.2) - '@nuxt/schema': 4.4.2 + '@nuxt/fonts': 0.14.0(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.10.1)(magicast@0.5.2)(vite@8.0.0) + '@nuxt/icon': 2.2.1(magicast@0.5.2)(vite@8.0.0)(vue@3.5.34) + '@nuxt/kit': 4.4.4(magicast@0.5.2) + '@nuxt/schema': 4.4.4 '@nuxtjs/color-mode': 3.5.2(magicast@0.5.2) '@standard-schema/spec': 1.1.0 '@tailwindcss/postcss': 4.2.1 '@tailwindcss/vite': 4.2.1(vite@8.0.0) - '@tanstack/vue-table': 8.21.3(vue@3.5.33) - '@tanstack/vue-virtual': 3.13.19(vue@3.5.33) + '@tanstack/vue-table': 8.21.3(vue@3.5.34) + '@tanstack/vue-virtual': 3.13.19(vue@3.5.34) '@tiptap/core': 3.20.0(@tiptap/pm@3.20.0) '@tiptap/extension-bubble-menu': 3.20.0(@tiptap/core@3.20.0)(@tiptap/pm@3.20.0) '@tiptap/extension-code': 3.20.0(@tiptap/core@3.20.0) '@tiptap/extension-collaboration': 3.20.0(@tiptap/core@3.20.0)(@tiptap/pm@3.20.0)(@tiptap/y-tiptap@3.0.2)(yjs@13.6.29) '@tiptap/extension-drag-handle': 3.20.0(@tiptap/core@3.20.0)(@tiptap/extension-collaboration@3.20.0)(@tiptap/extension-node-range@3.20.0)(@tiptap/pm@3.20.0)(@tiptap/y-tiptap@3.0.2) - '@tiptap/extension-drag-handle-vue-3': 3.20.0(@tiptap/extension-drag-handle@3.20.0)(@tiptap/pm@3.20.0)(@tiptap/vue-3@3.20.0)(vue@3.5.33) + '@tiptap/extension-drag-handle-vue-3': 3.20.0(@tiptap/extension-drag-handle@3.20.0)(@tiptap/pm@3.20.0)(@tiptap/vue-3@3.20.0)(vue@3.5.34) '@tiptap/extension-floating-menu': 3.20.0(@floating-ui/dom@1.7.6)(@tiptap/core@3.20.0)(@tiptap/pm@3.20.0) '@tiptap/extension-horizontal-rule': 3.20.0(@tiptap/core@3.20.0)(@tiptap/pm@3.20.0) '@tiptap/extension-image': 3.20.0(@tiptap/core@3.20.0) @@ -14108,11 +14542,11 @@ snapshots: '@tiptap/pm': 3.20.0 '@tiptap/starter-kit': 3.20.0 '@tiptap/suggestion': 3.20.0(@tiptap/core@3.20.0)(@tiptap/pm@3.20.0) - '@tiptap/vue-3': 3.20.0(@floating-ui/dom@1.7.6)(@tiptap/core@3.20.0)(@tiptap/pm@3.20.0)(vue@3.5.33) - '@unhead/vue': 2.1.12(vue@3.5.33) - '@vueuse/core': 14.2.1(vue@3.5.33) - '@vueuse/integrations': 14.2.1(focus-trap@8.0.0)(fuse.js@7.1.0)(vue@3.5.33) - '@vueuse/shared': 14.2.1(vue@3.5.33) + '@tiptap/vue-3': 3.20.0(@floating-ui/dom@1.7.6)(@tiptap/core@3.20.0)(@tiptap/pm@3.20.0)(vue@3.5.34) + '@unhead/vue': 2.1.13(vue@3.5.34) + '@vueuse/core': 14.3.0(vue@3.5.34) + '@vueuse/integrations': 14.2.1(focus-trap@8.0.0)(fuse.js@7.3.0)(vue@3.5.34) + '@vueuse/shared': 14.2.1(vue@3.5.34) colortranslator: 5.0.0 consola: 3.4.2 defu: 6.1.4 @@ -14121,17 +14555,17 @@ snapshots: embla-carousel-autoplay: 8.6.0(embla-carousel@8.6.0) embla-carousel-class-names: 8.6.0(embla-carousel@8.6.0) embla-carousel-fade: 8.6.0(embla-carousel@8.6.0) - embla-carousel-vue: 8.6.0(vue@3.5.33) + embla-carousel-vue: 8.6.0(vue@3.5.34) embla-carousel-wheel-gestures: 8.1.0(embla-carousel@8.6.0) - fuse.js: 7.1.0 + fuse.js: 7.3.0 hookable: 5.5.3 knitwork: 1.3.0 magic-string: 0.30.21 - mlly: 1.8.1 - motion-v: 1.10.3(@vueuse/core@14.2.1)(react-dom@19.2.4)(react@19.2.4)(vue@3.5.33) + mlly: 1.8.2 + motion-v: 1.10.3(@vueuse/core@14.3.0)(react-dom@19.2.4)(react@19.2.4)(vue@3.5.34) ohash: 2.0.11 pathe: 2.0.3 - reka-ui: 2.8.2(vue@3.5.33) + reka-ui: 2.8.2(vue@3.5.34) scule: 1.3.0 tailwind-merge: 3.5.0 tailwind-variants: 3.2.2(tailwind-merge@3.5.0)(tailwindcss@4.2.2) @@ -14140,14 +14574,14 @@ snapshots: typescript: 6.0.2 ufo: 1.6.3 unplugin: 3.0.0 - unplugin-auto-import: 21.0.0(@nuxt/kit@4.4.2)(@vueuse/core@14.2.1) - unplugin-vue-components: 31.0.0(@nuxt/kit@4.4.2)(vue@3.5.33) - vaul-vue: 0.4.1(reka-ui@2.8.2)(vue@3.5.33) - vue-component-type-helpers: 3.2.7 + unplugin-auto-import: 21.0.0(@nuxt/kit@4.4.4)(@vueuse/core@14.3.0) + unplugin-vue-components: 31.0.0(@nuxt/kit@4.4.4)(vue@3.5.34) + vaul-vue: 0.4.1(reka-ui@2.8.2)(vue@3.5.34) + vue-component-type-helpers: 3.2.8 optionalDependencies: '@nuxt/content': 3.12.0(@valibot/to-json-schema@1.5.0)(better-sqlite3@12.8.0)(magicast@0.5.2)(valibot@1.3.1) valibot: 1.3.1(typescript@6.0.2) - vue-router: 5.0.4(@vue/compiler-sfc@3.5.33)(vue@3.5.33) + vue-router: 5.0.4(@vue/compiler-sfc@3.5.34)(vue@3.5.34) zod: 4.3.6 transitivePeerDependencies: - '@azure/app-configuration' @@ -14191,110 +14625,42 @@ snapshots: - vue - yjs - '@nuxt/vite-builder@3.21.1(@types/node@24.12.0)(eslint@9.39.2)(magicast@0.5.2)(nuxt@4.4.2)(optionator@0.9.4)(oxlint@1.58.0)(rolldown@1.0.0-rc.16)(rollup@4.56.0)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vue-tsc@3.2.6)(vue@3.5.33)(yaml@2.8.2)': - dependencies: - '@nuxt/kit': 3.21.1(magicast@0.5.2) - '@rollup/plugin-replace': 6.0.3(rollup@4.56.0) - '@vitejs/plugin-vue': 6.0.4(@voidzero-dev/vite-plus-core@0.1.16)(vue@3.5.33) - '@vitejs/plugin-vue-jsx': 5.1.4(@voidzero-dev/vite-plus-core@0.1.16)(vue@3.5.33) - autoprefixer: 10.4.27(postcss@8.5.10) - consola: 3.4.2 - cssnano: 7.1.3(postcss@8.5.10) - defu: 6.1.4 - esbuild: 0.27.3 - escape-string-regexp: 5.0.0 - exsolve: 1.0.8 - externality: 1.0.2 - get-port-please: 3.2.0 - jiti: 2.6.1 - knitwork: 1.3.0 - magic-string: 0.30.21 - mlly: 1.8.1 - mocked-exports: 0.1.1 - nuxt: 4.4.2(@babel/core@7.29.0)(@babel/plugin-syntax-jsx@7.28.6)(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@parcel/watcher@2.5.4)(@types/node@24.12.0)(@upstash/redis@1.37.0)(@vue/compiler-sfc@3.5.33)(better-sqlite3@12.8.0)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(esbuild@0.27.3)(eslint@9.39.2)(ioredis@5.9.2)(magicast@0.5.2)(optionator@0.9.4)(oxlint@1.58.0)(rolldown@1.0.0-rc.16)(rollup-plugin-visualizer@6.0.5)(rollup@4.56.0)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(vue-tsc@3.2.6)(yaml@2.8.2) - ohash: 2.0.11 - pathe: 2.0.3 - perfect-debounce: 2.1.0 - pkg-types: 2.3.0 - postcss: 8.5.10 - rollup-plugin-visualizer: 6.0.5(rolldown@1.0.0-rc.16)(rollup@4.56.0) - seroval: 1.5.1 - std-env: 3.10.0 - ufo: 1.6.3 - unenv: 2.0.0-rc.24 - vite: '@voidzero-dev/vite-plus-core@0.1.16(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(yaml@2.8.2)' - vite-node: 5.3.0(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(yaml@2.8.2) - vite-plugin-checker: 0.12.0(@voidzero-dev/vite-plus-core@0.1.16)(eslint@9.39.2)(optionator@0.9.4)(oxlint@1.58.0)(typescript@6.0.2)(vue-tsc@3.2.6) - vue: 3.5.33(typescript@6.0.2) - vue-bundle-renderer: 2.2.0 - optionalDependencies: - rolldown: 1.0.0-rc.16 - transitivePeerDependencies: - - '@arethetypeswrong/core' - - '@biomejs/biome' - - '@tsdown/css' - - '@tsdown/exe' - - '@types/node' - - '@vitejs/devtools' - - eslint - - less - - magicast - - meow - - optionator - - oxlint - - publint - - rollup - - sass - - sass-embedded - - stylelint - - stylus - - sugarss - - supports-color - - terser - - tsx - - typescript - - unplugin-unused - - vls - - vti - - vue-tsc - - yaml - - '@nuxt/vite-builder@4.4.2(@babel/plugin-syntax-jsx@7.28.6)(@types/node@24.12.0)(esbuild@0.27.3)(eslint@9.39.2)(magicast@0.5.2)(nuxt@4.4.2)(optionator@0.9.4)(oxlint@1.58.0)(rolldown@1.0.0-rc.16)(rollup-plugin-visualizer@6.0.5)(rollup@4.56.0)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vue-tsc@3.2.6)(vue@3.5.33)(yaml@2.8.2)': + '@nuxt/vite-builder@4.4.4(@babel/plugin-syntax-jsx@7.28.6)(@types/node@24.12.0)(eslint@9.39.2)(magicast@0.5.2)(nuxt@4.4.4)(optionator@0.9.4)(oxlint@1.61.0)(rolldown@1.0.0-rc.16)(rollup-plugin-visualizer@7.0.1)(rollup@4.60.3)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vue-tsc@3.2.6)(vue@3.5.34)(yaml@2.8.2)': dependencies: - '@nuxt/kit': 4.4.2(magicast@0.5.2) - '@rollup/plugin-replace': 6.0.3(rollup@4.56.0) - '@vitejs/plugin-vue': 6.0.4(@voidzero-dev/vite-plus-core@0.1.16)(vue@3.5.33) - '@vitejs/plugin-vue-jsx': 5.1.4(@voidzero-dev/vite-plus-core@0.1.16)(vue@3.5.33) - autoprefixer: 10.4.27(postcss@8.5.10) + '@nuxt/kit': 4.4.4(magicast@0.5.2) + '@rollup/plugin-replace': 6.0.3(rollup@4.60.3) + '@vitejs/plugin-vue': 6.0.6(@voidzero-dev/vite-plus-core@0.1.16)(vue@3.5.34) + '@vitejs/plugin-vue-jsx': 5.1.5(@voidzero-dev/vite-plus-core@0.1.16)(vue@3.5.34) + autoprefixer: 10.5.0(postcss@8.5.14) consola: 3.4.2 - cssnano: 7.1.3(postcss@8.5.10) - defu: 6.1.4 + cssnano: 7.1.8(postcss@8.5.14) + defu: 6.1.7 escape-string-regexp: 5.0.0 exsolve: 1.0.8 get-port-please: 3.2.0 jiti: 2.6.1 knitwork: 1.3.0 magic-string: 0.30.21 - mlly: 1.8.1 + mlly: 1.8.2 mocked-exports: 0.1.1 - nuxt: 4.4.2(@babel/core@7.29.0)(@babel/plugin-syntax-jsx@7.28.6)(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@parcel/watcher@2.5.4)(@types/node@24.12.0)(@upstash/redis@1.37.0)(@vue/compiler-sfc@3.5.33)(better-sqlite3@12.8.0)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(esbuild@0.27.3)(eslint@9.39.2)(ioredis@5.9.2)(magicast@0.5.2)(optionator@0.9.4)(oxlint@1.58.0)(rolldown@1.0.0-rc.16)(rollup-plugin-visualizer@6.0.5)(rollup@4.56.0)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(vue-tsc@3.2.6)(yaml@2.8.2) + nuxt: 4.4.4(@babel/core@7.29.0)(@babel/plugin-syntax-jsx@7.28.6)(@parcel/watcher@2.5.6)(@types/node@24.12.0)(@upstash/redis@1.37.0)(@vue/compiler-sfc@3.5.34)(better-sqlite3@12.8.0)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(eslint@9.39.2)(ioredis@5.10.1)(magicast@0.5.2)(optionator@0.9.4)(oxlint@1.61.0)(rolldown@1.0.0-rc.16)(rollup-plugin-visualizer@7.0.1)(rollup@4.60.3)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(vue-tsc@3.2.6)(yaml@2.8.2) nypm: 0.6.6 pathe: 2.0.3 - pkg-types: 2.3.0 - postcss: 8.5.10 - seroval: 1.5.1 - std-env: 4.0.0 - ufo: 1.6.3 + pkg-types: 2.3.1 + postcss: 8.5.14 + seroval: 1.5.3 + std-env: 4.1.0 + ufo: 1.6.4 unenv: 2.0.0-rc.24 - vite: '@voidzero-dev/vite-plus-core@0.1.16(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(yaml@2.8.2)' - vite-node: 5.3.0(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(yaml@2.8.2) - vite-plugin-checker: 0.12.0(@voidzero-dev/vite-plus-core@0.1.16)(eslint@9.39.2)(optionator@0.9.4)(oxlint@1.58.0)(typescript@6.0.2)(vue-tsc@3.2.6) - vue: 3.5.33(typescript@6.0.2) + vite: '@voidzero-dev/vite-plus-core@0.1.16(@types/node@24.12.0)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(yaml@2.8.2)' + vite-node: 5.3.0(@types/node@24.12.0)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(yaml@2.8.2) + vite-plugin-checker: 0.13.0(@voidzero-dev/vite-plus-core@0.1.16)(eslint@9.39.2)(optionator@0.9.4)(oxlint@1.61.0)(typescript@6.0.2)(vue-tsc@3.2.6) + vue: 3.5.34(typescript@6.0.2) vue-bundle-renderer: 2.2.0 optionalDependencies: '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.0) rolldown: 1.0.0-rc.16 - rollup-plugin-visualizer: 6.0.5(rolldown@1.0.0-rc.16)(rollup@4.56.0) + rollup-plugin-visualizer: 7.0.1(rolldown@1.0.0-rc.16)(rollup@4.60.3) transitivePeerDependencies: - '@arethetypeswrong/core' - '@biomejs/biome' @@ -14337,10 +14703,10 @@ snapshots: '@nuxtjs/color-mode@4.0.0(magicast@0.5.2)': dependencies: - '@nuxt/kit': 4.4.2(magicast@0.5.2) + '@nuxt/kit': 4.4.4(magicast@0.5.2) exsolve: 1.0.8 pathe: 2.0.3 - pkg-types: 2.3.0 + pkg-types: 2.3.1 semver: 7.7.4 transitivePeerDependencies: - magicast @@ -14361,35 +14727,35 @@ snapshots: - magicast - vitest - '@nuxtjs/i18n@10.2.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@upstash/redis@1.37.0)(@vue/compiler-dom@3.5.33)(db0@0.3.4)(eslint@9.39.2)(ioredis@5.9.2)(magicast@0.5.2)(rollup@4.56.0)(typescript@6.0.2)(vue@3.5.33)': + '@nuxtjs/i18n@10.2.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@upstash/redis@1.37.0)(@vue/compiler-dom@3.5.34)(db0@0.3.4)(eslint@9.39.2)(ioredis@5.10.1)(magicast@0.5.2)(rollup@4.60.3)(typescript@6.0.2)(vue@3.5.34)': dependencies: '@intlify/core': 11.2.8 '@intlify/h3': 0.7.4 '@intlify/shared': 11.3.0 - '@intlify/unplugin-vue-i18n': 11.0.7(@vue/compiler-dom@3.5.33)(eslint@9.39.2)(rollup@4.56.0)(typescript@6.0.2)(vue-i18n@11.2.8)(vue@3.5.33) + '@intlify/unplugin-vue-i18n': 11.0.7(@vue/compiler-dom@3.5.34)(eslint@9.39.2)(rollup@4.60.3)(typescript@6.0.2)(vue-i18n@11.2.8)(vue@3.5.34) '@intlify/utils': 0.14.1 - '@miyaneee/rollup-plugin-json5': 1.2.0(rollup@4.56.0) - '@nuxt/kit': 4.4.2(magicast@0.5.2) - '@rollup/plugin-yaml': 4.1.2(rollup@4.56.0) - '@vue/compiler-sfc': 3.5.33 + '@miyaneee/rollup-plugin-json5': 1.2.0(rollup@4.60.3) + '@nuxt/kit': 4.4.4(magicast@0.5.2) + '@rollup/plugin-yaml': 4.1.2(rollup@4.60.3) + '@vue/compiler-sfc': 3.5.34 defu: 6.1.4 devalue: 5.6.4 h3: 1.15.8 knitwork: 1.3.0 magic-string: 0.30.21 - mlly: 1.8.1 + mlly: 1.8.2 nuxt-define: 1.0.0 ohash: 2.0.11 - oxc-parser: 0.112.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) - oxc-transform: 0.112.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + oxc-parser: 0.112.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + oxc-transform: 0.112.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) oxc-walker: 0.7.0(oxc-parser@0.112.0) pathe: 2.0.3 ufo: 1.6.3 unplugin: 2.3.11 unrouting: 0.1.7 - unstorage: 1.17.5(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.9.2) - vue-i18n: 11.2.8(vue@3.5.33) - vue-router: 5.0.4(@vue/compiler-sfc@3.5.33)(vue@3.5.33) + unstorage: 1.17.5(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.10.1) + vue-i18n: 11.2.8(vue@3.5.34) + vue-router: 5.0.4(@vue/compiler-sfc@3.5.34)(vue@3.5.34) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -14426,7 +14792,7 @@ snapshots: '@nuxtjs/mcp-toolkit@0.7.0(magicast@0.5.2)(zod@4.3.6)': dependencies: '@modelcontextprotocol/sdk': 1.27.1(zod@4.3.6) - '@nuxt/kit': 4.4.2(magicast@0.5.2) + '@nuxt/kit': 4.4.4(magicast@0.5.2) defu: 6.1.4 ms: 2.1.3 pathe: 2.0.3 @@ -14441,14 +14807,14 @@ snapshots: '@nuxtjs/mdc@0.20.2(magicast@0.5.2)': dependencies: - '@nuxt/kit': 4.4.2(magicast@0.5.2) + '@nuxt/kit': 4.4.4(magicast@0.5.2) '@shikijs/core': 3.23.0 '@shikijs/langs': 3.23.0 '@shikijs/themes': 3.23.0 '@shikijs/transformers': 3.23.0 '@types/hast': 3.0.4 '@types/mdast': 4.0.4 - '@vue/compiler-core': 3.5.33 + '@vue/compiler-core': 3.5.34 consola: 3.4.2 debug: 4.4.3 defu: 6.1.4 @@ -14488,17 +14854,17 @@ snapshots: - magicast - supports-color - '@nuxtjs/robots@5.7.1(magicast@0.5.2)(vite@8.0.0)(vue@3.5.33)(zod@4.3.6)': + '@nuxtjs/robots@5.7.1(magicast@0.5.2)(vite@8.0.0)(vue@3.5.34)(zod@4.3.6)': dependencies: '@fingerprintjs/botd': 2.0.0 '@nuxt/devtools-kit': 3.2.4(magicast@0.5.2)(vite@8.0.0) - '@nuxt/kit': 4.4.2(magicast@0.5.2) + '@nuxt/kit': 4.4.4(magicast@0.5.2) consola: 3.4.2 defu: 6.1.4 h3: 1.15.8 - nuxt-site-config: 3.2.21(magicast@0.5.2)(vite@8.0.0)(vue@3.5.33) + nuxt-site-config: 3.2.21(magicast@0.5.2)(vite@8.0.0)(vue@3.5.34) pathe: 2.0.3 - pkg-types: 2.3.0 + pkg-types: 2.3.1 sirv: 3.0.2 std-env: 3.10.0 ufo: 1.6.3 @@ -14522,69 +14888,68 @@ snapshots: '@opentelemetry/api@1.9.0': {} - '@oxc-minify/binding-android-arm-eabi@0.117.0': + '@oxc-minify/binding-android-arm-eabi@0.128.0': optional: true - '@oxc-minify/binding-android-arm64@0.117.0': + '@oxc-minify/binding-android-arm64@0.128.0': optional: true - '@oxc-minify/binding-darwin-arm64@0.117.0': + '@oxc-minify/binding-darwin-arm64@0.128.0': optional: true - '@oxc-minify/binding-darwin-x64@0.117.0': + '@oxc-minify/binding-darwin-x64@0.128.0': optional: true - '@oxc-minify/binding-freebsd-x64@0.117.0': + '@oxc-minify/binding-freebsd-x64@0.128.0': optional: true - '@oxc-minify/binding-linux-arm-gnueabihf@0.117.0': + '@oxc-minify/binding-linux-arm-gnueabihf@0.128.0': optional: true - '@oxc-minify/binding-linux-arm-musleabihf@0.117.0': + '@oxc-minify/binding-linux-arm-musleabihf@0.128.0': optional: true - '@oxc-minify/binding-linux-arm64-gnu@0.117.0': + '@oxc-minify/binding-linux-arm64-gnu@0.128.0': optional: true - '@oxc-minify/binding-linux-arm64-musl@0.117.0': + '@oxc-minify/binding-linux-arm64-musl@0.128.0': optional: true - '@oxc-minify/binding-linux-ppc64-gnu@0.117.0': + '@oxc-minify/binding-linux-ppc64-gnu@0.128.0': optional: true - '@oxc-minify/binding-linux-riscv64-gnu@0.117.0': + '@oxc-minify/binding-linux-riscv64-gnu@0.128.0': optional: true - '@oxc-minify/binding-linux-riscv64-musl@0.117.0': + '@oxc-minify/binding-linux-riscv64-musl@0.128.0': optional: true - '@oxc-minify/binding-linux-s390x-gnu@0.117.0': + '@oxc-minify/binding-linux-s390x-gnu@0.128.0': optional: true - '@oxc-minify/binding-linux-x64-gnu@0.117.0': + '@oxc-minify/binding-linux-x64-gnu@0.128.0': optional: true - '@oxc-minify/binding-linux-x64-musl@0.117.0': + '@oxc-minify/binding-linux-x64-musl@0.128.0': optional: true - '@oxc-minify/binding-openharmony-arm64@0.117.0': + '@oxc-minify/binding-openharmony-arm64@0.128.0': optional: true - '@oxc-minify/binding-wasm32-wasi@0.117.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': + '@oxc-minify/binding-wasm32-wasi@0.128.0': dependencies: - '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) - transitivePeerDependencies: - - '@emnapi/core' - - '@emnapi/runtime' + '@emnapi/core': 1.10.0 + '@emnapi/runtime': 1.10.0 + '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) optional: true - '@oxc-minify/binding-win32-arm64-msvc@0.117.0': + '@oxc-minify/binding-win32-arm64-msvc@0.128.0': optional: true - '@oxc-minify/binding-win32-ia32-msvc@0.117.0': + '@oxc-minify/binding-win32-ia32-msvc@0.128.0': optional: true - '@oxc-minify/binding-win32-x64-msvc@0.117.0': + '@oxc-minify/binding-win32-x64-msvc@0.128.0': optional: true '@oxc-parser/binding-android-arm-eabi@0.112.0': @@ -14593,22 +14958,19 @@ snapshots: '@oxc-parser/binding-android-arm-eabi@0.115.0': optional: true - '@oxc-parser/binding-android-arm-eabi@0.117.0': - optional: true - '@oxc-parser/binding-android-arm-eabi@0.120.0': optional: true '@oxc-parser/binding-android-arm-eabi@0.126.0': optional: true - '@oxc-parser/binding-android-arm64@0.112.0': + '@oxc-parser/binding-android-arm-eabi@0.128.0': optional: true - '@oxc-parser/binding-android-arm64@0.115.0': + '@oxc-parser/binding-android-arm64@0.112.0': optional: true - '@oxc-parser/binding-android-arm64@0.117.0': + '@oxc-parser/binding-android-arm64@0.115.0': optional: true '@oxc-parser/binding-android-arm64@0.120.0': @@ -14617,13 +14979,13 @@ snapshots: '@oxc-parser/binding-android-arm64@0.126.0': optional: true - '@oxc-parser/binding-darwin-arm64@0.112.0': + '@oxc-parser/binding-android-arm64@0.128.0': optional: true - '@oxc-parser/binding-darwin-arm64@0.115.0': + '@oxc-parser/binding-darwin-arm64@0.112.0': optional: true - '@oxc-parser/binding-darwin-arm64@0.117.0': + '@oxc-parser/binding-darwin-arm64@0.115.0': optional: true '@oxc-parser/binding-darwin-arm64@0.120.0': @@ -14632,13 +14994,13 @@ snapshots: '@oxc-parser/binding-darwin-arm64@0.126.0': optional: true - '@oxc-parser/binding-darwin-x64@0.112.0': + '@oxc-parser/binding-darwin-arm64@0.128.0': optional: true - '@oxc-parser/binding-darwin-x64@0.115.0': + '@oxc-parser/binding-darwin-x64@0.112.0': optional: true - '@oxc-parser/binding-darwin-x64@0.117.0': + '@oxc-parser/binding-darwin-x64@0.115.0': optional: true '@oxc-parser/binding-darwin-x64@0.120.0': @@ -14647,13 +15009,13 @@ snapshots: '@oxc-parser/binding-darwin-x64@0.126.0': optional: true - '@oxc-parser/binding-freebsd-x64@0.112.0': + '@oxc-parser/binding-darwin-x64@0.128.0': optional: true - '@oxc-parser/binding-freebsd-x64@0.115.0': + '@oxc-parser/binding-freebsd-x64@0.112.0': optional: true - '@oxc-parser/binding-freebsd-x64@0.117.0': + '@oxc-parser/binding-freebsd-x64@0.115.0': optional: true '@oxc-parser/binding-freebsd-x64@0.120.0': @@ -14662,13 +15024,13 @@ snapshots: '@oxc-parser/binding-freebsd-x64@0.126.0': optional: true - '@oxc-parser/binding-linux-arm-gnueabihf@0.112.0': + '@oxc-parser/binding-freebsd-x64@0.128.0': optional: true - '@oxc-parser/binding-linux-arm-gnueabihf@0.115.0': + '@oxc-parser/binding-linux-arm-gnueabihf@0.112.0': optional: true - '@oxc-parser/binding-linux-arm-gnueabihf@0.117.0': + '@oxc-parser/binding-linux-arm-gnueabihf@0.115.0': optional: true '@oxc-parser/binding-linux-arm-gnueabihf@0.120.0': @@ -14677,13 +15039,13 @@ snapshots: '@oxc-parser/binding-linux-arm-gnueabihf@0.126.0': optional: true - '@oxc-parser/binding-linux-arm-musleabihf@0.112.0': + '@oxc-parser/binding-linux-arm-gnueabihf@0.128.0': optional: true - '@oxc-parser/binding-linux-arm-musleabihf@0.115.0': + '@oxc-parser/binding-linux-arm-musleabihf@0.112.0': optional: true - '@oxc-parser/binding-linux-arm-musleabihf@0.117.0': + '@oxc-parser/binding-linux-arm-musleabihf@0.115.0': optional: true '@oxc-parser/binding-linux-arm-musleabihf@0.120.0': @@ -14692,13 +15054,13 @@ snapshots: '@oxc-parser/binding-linux-arm-musleabihf@0.126.0': optional: true - '@oxc-parser/binding-linux-arm64-gnu@0.112.0': + '@oxc-parser/binding-linux-arm-musleabihf@0.128.0': optional: true - '@oxc-parser/binding-linux-arm64-gnu@0.115.0': + '@oxc-parser/binding-linux-arm64-gnu@0.112.0': optional: true - '@oxc-parser/binding-linux-arm64-gnu@0.117.0': + '@oxc-parser/binding-linux-arm64-gnu@0.115.0': optional: true '@oxc-parser/binding-linux-arm64-gnu@0.120.0': @@ -14707,28 +15069,28 @@ snapshots: '@oxc-parser/binding-linux-arm64-gnu@0.126.0': optional: true + '@oxc-parser/binding-linux-arm64-gnu@0.128.0': + optional: true + '@oxc-parser/binding-linux-arm64-musl@0.112.0': optional: true '@oxc-parser/binding-linux-arm64-musl@0.115.0': optional: true - '@oxc-parser/binding-linux-arm64-musl@0.117.0': - optional: true - '@oxc-parser/binding-linux-arm64-musl@0.120.0': optional: true '@oxc-parser/binding-linux-arm64-musl@0.126.0': optional: true - '@oxc-parser/binding-linux-ppc64-gnu@0.112.0': + '@oxc-parser/binding-linux-arm64-musl@0.128.0': optional: true - '@oxc-parser/binding-linux-ppc64-gnu@0.115.0': + '@oxc-parser/binding-linux-ppc64-gnu@0.112.0': optional: true - '@oxc-parser/binding-linux-ppc64-gnu@0.117.0': + '@oxc-parser/binding-linux-ppc64-gnu@0.115.0': optional: true '@oxc-parser/binding-linux-ppc64-gnu@0.120.0': @@ -14737,13 +15099,13 @@ snapshots: '@oxc-parser/binding-linux-ppc64-gnu@0.126.0': optional: true - '@oxc-parser/binding-linux-riscv64-gnu@0.112.0': + '@oxc-parser/binding-linux-ppc64-gnu@0.128.0': optional: true - '@oxc-parser/binding-linux-riscv64-gnu@0.115.0': + '@oxc-parser/binding-linux-riscv64-gnu@0.112.0': optional: true - '@oxc-parser/binding-linux-riscv64-gnu@0.117.0': + '@oxc-parser/binding-linux-riscv64-gnu@0.115.0': optional: true '@oxc-parser/binding-linux-riscv64-gnu@0.120.0': @@ -14752,13 +15114,13 @@ snapshots: '@oxc-parser/binding-linux-riscv64-gnu@0.126.0': optional: true - '@oxc-parser/binding-linux-riscv64-musl@0.112.0': + '@oxc-parser/binding-linux-riscv64-gnu@0.128.0': optional: true - '@oxc-parser/binding-linux-riscv64-musl@0.115.0': + '@oxc-parser/binding-linux-riscv64-musl@0.112.0': optional: true - '@oxc-parser/binding-linux-riscv64-musl@0.117.0': + '@oxc-parser/binding-linux-riscv64-musl@0.115.0': optional: true '@oxc-parser/binding-linux-riscv64-musl@0.120.0': @@ -14767,13 +15129,13 @@ snapshots: '@oxc-parser/binding-linux-riscv64-musl@0.126.0': optional: true - '@oxc-parser/binding-linux-s390x-gnu@0.112.0': + '@oxc-parser/binding-linux-riscv64-musl@0.128.0': optional: true - '@oxc-parser/binding-linux-s390x-gnu@0.115.0': + '@oxc-parser/binding-linux-s390x-gnu@0.112.0': optional: true - '@oxc-parser/binding-linux-s390x-gnu@0.117.0': + '@oxc-parser/binding-linux-s390x-gnu@0.115.0': optional: true '@oxc-parser/binding-linux-s390x-gnu@0.120.0': @@ -14782,13 +15144,13 @@ snapshots: '@oxc-parser/binding-linux-s390x-gnu@0.126.0': optional: true - '@oxc-parser/binding-linux-x64-gnu@0.112.0': + '@oxc-parser/binding-linux-s390x-gnu@0.128.0': optional: true - '@oxc-parser/binding-linux-x64-gnu@0.115.0': + '@oxc-parser/binding-linux-x64-gnu@0.112.0': optional: true - '@oxc-parser/binding-linux-x64-gnu@0.117.0': + '@oxc-parser/binding-linux-x64-gnu@0.115.0': optional: true '@oxc-parser/binding-linux-x64-gnu@0.120.0': @@ -14797,13 +15159,13 @@ snapshots: '@oxc-parser/binding-linux-x64-gnu@0.126.0': optional: true - '@oxc-parser/binding-linux-x64-musl@0.112.0': + '@oxc-parser/binding-linux-x64-gnu@0.128.0': optional: true - '@oxc-parser/binding-linux-x64-musl@0.115.0': + '@oxc-parser/binding-linux-x64-musl@0.112.0': optional: true - '@oxc-parser/binding-linux-x64-musl@0.117.0': + '@oxc-parser/binding-linux-x64-musl@0.115.0': optional: true '@oxc-parser/binding-linux-x64-musl@0.120.0': @@ -14812,13 +15174,13 @@ snapshots: '@oxc-parser/binding-linux-x64-musl@0.126.0': optional: true - '@oxc-parser/binding-openharmony-arm64@0.112.0': + '@oxc-parser/binding-linux-x64-musl@0.128.0': optional: true - '@oxc-parser/binding-openharmony-arm64@0.115.0': + '@oxc-parser/binding-openharmony-arm64@0.112.0': optional: true - '@oxc-parser/binding-openharmony-arm64@0.117.0': + '@oxc-parser/binding-openharmony-arm64@0.115.0': optional: true '@oxc-parser/binding-openharmony-arm64@0.120.0': @@ -14827,33 +15189,28 @@ snapshots: '@oxc-parser/binding-openharmony-arm64@0.126.0': optional: true - '@oxc-parser/binding-wasm32-wasi@0.112.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': - dependencies: - '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) - transitivePeerDependencies: - - '@emnapi/core' - - '@emnapi/runtime' + '@oxc-parser/binding-openharmony-arm64@0.128.0': optional: true - '@oxc-parser/binding-wasm32-wasi@0.115.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': + '@oxc-parser/binding-wasm32-wasi@0.112.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': dependencies: - '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) transitivePeerDependencies: - '@emnapi/core' - '@emnapi/runtime' optional: true - '@oxc-parser/binding-wasm32-wasi@0.117.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': + '@oxc-parser/binding-wasm32-wasi@0.115.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': dependencies: - '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) transitivePeerDependencies: - '@emnapi/core' - '@emnapi/runtime' optional: true - '@oxc-parser/binding-wasm32-wasi@0.120.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': + '@oxc-parser/binding-wasm32-wasi@0.120.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': dependencies: - '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) transitivePeerDependencies: - '@emnapi/core' - '@emnapi/runtime' @@ -14866,13 +15223,17 @@ snapshots: '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) optional: true - '@oxc-parser/binding-win32-arm64-msvc@0.112.0': + '@oxc-parser/binding-wasm32-wasi@0.128.0': + dependencies: + '@emnapi/core': 1.10.0 + '@emnapi/runtime': 1.10.0 + '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) optional: true - '@oxc-parser/binding-win32-arm64-msvc@0.115.0': + '@oxc-parser/binding-win32-arm64-msvc@0.112.0': optional: true - '@oxc-parser/binding-win32-arm64-msvc@0.117.0': + '@oxc-parser/binding-win32-arm64-msvc@0.115.0': optional: true '@oxc-parser/binding-win32-arm64-msvc@0.120.0': @@ -14881,13 +15242,13 @@ snapshots: '@oxc-parser/binding-win32-arm64-msvc@0.126.0': optional: true - '@oxc-parser/binding-win32-ia32-msvc@0.112.0': + '@oxc-parser/binding-win32-arm64-msvc@0.128.0': optional: true - '@oxc-parser/binding-win32-ia32-msvc@0.115.0': + '@oxc-parser/binding-win32-ia32-msvc@0.112.0': optional: true - '@oxc-parser/binding-win32-ia32-msvc@0.117.0': + '@oxc-parser/binding-win32-ia32-msvc@0.115.0': optional: true '@oxc-parser/binding-win32-ia32-msvc@0.120.0': @@ -14896,13 +15257,13 @@ snapshots: '@oxc-parser/binding-win32-ia32-msvc@0.126.0': optional: true - '@oxc-parser/binding-win32-x64-msvc@0.112.0': + '@oxc-parser/binding-win32-ia32-msvc@0.128.0': optional: true - '@oxc-parser/binding-win32-x64-msvc@0.115.0': + '@oxc-parser/binding-win32-x64-msvc@0.112.0': optional: true - '@oxc-parser/binding-win32-x64-msvc@0.117.0': + '@oxc-parser/binding-win32-x64-msvc@0.115.0': optional: true '@oxc-parser/binding-win32-x64-msvc@0.120.0': @@ -14911,6 +15272,9 @@ snapshots: '@oxc-parser/binding-win32-x64-msvc@0.126.0': optional: true + '@oxc-parser/binding-win32-x64-msvc@0.128.0': + optional: true + '@oxc-project/runtime@0.115.0': {} '@oxc-project/runtime@0.123.0': {} @@ -14919,14 +15283,14 @@ snapshots: '@oxc-project/types@0.115.0': {} - '@oxc-project/types@0.117.0': {} - '@oxc-project/types@0.120.0': {} '@oxc-project/types@0.123.0': {} '@oxc-project/types@0.126.0': {} + '@oxc-project/types@0.128.0': {} + '@oxc-resolver/binding-android-arm-eabi@11.19.1': optional: true @@ -14975,9 +15339,9 @@ snapshots: '@oxc-resolver/binding-openharmony-arm64@11.19.1': optional: true - '@oxc-resolver/binding-wasm32-wasi@11.19.1(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': + '@oxc-resolver/binding-wasm32-wasi@11.19.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': dependencies: - '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) transitivePeerDependencies: - '@emnapi/core' - '@emnapi/runtime' @@ -14995,131 +15359,130 @@ snapshots: '@oxc-transform/binding-android-arm-eabi@0.112.0': optional: true - '@oxc-transform/binding-android-arm-eabi@0.117.0': + '@oxc-transform/binding-android-arm-eabi@0.128.0': optional: true '@oxc-transform/binding-android-arm64@0.112.0': optional: true - '@oxc-transform/binding-android-arm64@0.117.0': + '@oxc-transform/binding-android-arm64@0.128.0': optional: true '@oxc-transform/binding-darwin-arm64@0.112.0': optional: true - '@oxc-transform/binding-darwin-arm64@0.117.0': + '@oxc-transform/binding-darwin-arm64@0.128.0': optional: true '@oxc-transform/binding-darwin-x64@0.112.0': optional: true - '@oxc-transform/binding-darwin-x64@0.117.0': + '@oxc-transform/binding-darwin-x64@0.128.0': optional: true '@oxc-transform/binding-freebsd-x64@0.112.0': optional: true - '@oxc-transform/binding-freebsd-x64@0.117.0': + '@oxc-transform/binding-freebsd-x64@0.128.0': optional: true '@oxc-transform/binding-linux-arm-gnueabihf@0.112.0': optional: true - '@oxc-transform/binding-linux-arm-gnueabihf@0.117.0': + '@oxc-transform/binding-linux-arm-gnueabihf@0.128.0': optional: true '@oxc-transform/binding-linux-arm-musleabihf@0.112.0': optional: true - '@oxc-transform/binding-linux-arm-musleabihf@0.117.0': + '@oxc-transform/binding-linux-arm-musleabihf@0.128.0': optional: true '@oxc-transform/binding-linux-arm64-gnu@0.112.0': optional: true - '@oxc-transform/binding-linux-arm64-gnu@0.117.0': + '@oxc-transform/binding-linux-arm64-gnu@0.128.0': optional: true '@oxc-transform/binding-linux-arm64-musl@0.112.0': optional: true - '@oxc-transform/binding-linux-arm64-musl@0.117.0': + '@oxc-transform/binding-linux-arm64-musl@0.128.0': optional: true '@oxc-transform/binding-linux-ppc64-gnu@0.112.0': optional: true - '@oxc-transform/binding-linux-ppc64-gnu@0.117.0': + '@oxc-transform/binding-linux-ppc64-gnu@0.128.0': optional: true '@oxc-transform/binding-linux-riscv64-gnu@0.112.0': optional: true - '@oxc-transform/binding-linux-riscv64-gnu@0.117.0': + '@oxc-transform/binding-linux-riscv64-gnu@0.128.0': optional: true '@oxc-transform/binding-linux-riscv64-musl@0.112.0': optional: true - '@oxc-transform/binding-linux-riscv64-musl@0.117.0': + '@oxc-transform/binding-linux-riscv64-musl@0.128.0': optional: true '@oxc-transform/binding-linux-s390x-gnu@0.112.0': optional: true - '@oxc-transform/binding-linux-s390x-gnu@0.117.0': + '@oxc-transform/binding-linux-s390x-gnu@0.128.0': optional: true '@oxc-transform/binding-linux-x64-gnu@0.112.0': optional: true - '@oxc-transform/binding-linux-x64-gnu@0.117.0': + '@oxc-transform/binding-linux-x64-gnu@0.128.0': optional: true '@oxc-transform/binding-linux-x64-musl@0.112.0': optional: true - '@oxc-transform/binding-linux-x64-musl@0.117.0': + '@oxc-transform/binding-linux-x64-musl@0.128.0': optional: true '@oxc-transform/binding-openharmony-arm64@0.112.0': optional: true - '@oxc-transform/binding-openharmony-arm64@0.117.0': + '@oxc-transform/binding-openharmony-arm64@0.128.0': optional: true - '@oxc-transform/binding-wasm32-wasi@0.112.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': + '@oxc-transform/binding-wasm32-wasi@0.112.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': dependencies: - '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) transitivePeerDependencies: - '@emnapi/core' - '@emnapi/runtime' optional: true - '@oxc-transform/binding-wasm32-wasi@0.117.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': + '@oxc-transform/binding-wasm32-wasi@0.128.0': dependencies: - '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) - transitivePeerDependencies: - - '@emnapi/core' - - '@emnapi/runtime' + '@emnapi/core': 1.10.0 + '@emnapi/runtime': 1.10.0 + '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) optional: true '@oxc-transform/binding-win32-arm64-msvc@0.112.0': optional: true - '@oxc-transform/binding-win32-arm64-msvc@0.117.0': + '@oxc-transform/binding-win32-arm64-msvc@0.128.0': optional: true '@oxc-transform/binding-win32-ia32-msvc@0.112.0': optional: true - '@oxc-transform/binding-win32-ia32-msvc@0.117.0': + '@oxc-transform/binding-win32-ia32-msvc@0.128.0': optional: true '@oxc-transform/binding-win32-x64-msvc@0.112.0': optional: true - '@oxc-transform/binding-win32-x64-msvc@0.117.0': + '@oxc-transform/binding-win32-x64-msvc@0.128.0': optional: true '@oxfmt/binding-android-arm-eabi@0.43.0': @@ -15200,124 +15563,181 @@ snapshots: '@oxlint/binding-android-arm-eabi@1.58.0': optional: true + '@oxlint/binding-android-arm-eabi@1.61.0': + optional: true + '@oxlint/binding-android-arm64@1.58.0': optional: true + '@oxlint/binding-android-arm64@1.61.0': + optional: true + '@oxlint/binding-darwin-arm64@1.58.0': optional: true + '@oxlint/binding-darwin-arm64@1.61.0': + optional: true + '@oxlint/binding-darwin-x64@1.58.0': optional: true + '@oxlint/binding-darwin-x64@1.61.0': + optional: true + '@oxlint/binding-freebsd-x64@1.58.0': optional: true + '@oxlint/binding-freebsd-x64@1.61.0': + optional: true + '@oxlint/binding-linux-arm-gnueabihf@1.58.0': optional: true + '@oxlint/binding-linux-arm-gnueabihf@1.61.0': + optional: true + '@oxlint/binding-linux-arm-musleabihf@1.58.0': optional: true + '@oxlint/binding-linux-arm-musleabihf@1.61.0': + optional: true + '@oxlint/binding-linux-arm64-gnu@1.58.0': optional: true + '@oxlint/binding-linux-arm64-gnu@1.61.0': + optional: true + '@oxlint/binding-linux-arm64-musl@1.58.0': optional: true + '@oxlint/binding-linux-arm64-musl@1.61.0': + optional: true + '@oxlint/binding-linux-ppc64-gnu@1.58.0': optional: true + '@oxlint/binding-linux-ppc64-gnu@1.61.0': + optional: true + '@oxlint/binding-linux-riscv64-gnu@1.58.0': optional: true + '@oxlint/binding-linux-riscv64-gnu@1.61.0': + optional: true + '@oxlint/binding-linux-riscv64-musl@1.58.0': optional: true + '@oxlint/binding-linux-riscv64-musl@1.61.0': + optional: true + '@oxlint/binding-linux-s390x-gnu@1.58.0': optional: true + '@oxlint/binding-linux-s390x-gnu@1.61.0': + optional: true + '@oxlint/binding-linux-x64-gnu@1.58.0': optional: true + '@oxlint/binding-linux-x64-gnu@1.61.0': + optional: true + '@oxlint/binding-linux-x64-musl@1.58.0': optional: true + '@oxlint/binding-linux-x64-musl@1.61.0': + optional: true + '@oxlint/binding-openharmony-arm64@1.58.0': optional: true + '@oxlint/binding-openharmony-arm64@1.61.0': + optional: true + '@oxlint/binding-win32-arm64-msvc@1.58.0': optional: true + '@oxlint/binding-win32-arm64-msvc@1.61.0': + optional: true + '@oxlint/binding-win32-ia32-msvc@1.58.0': optional: true + '@oxlint/binding-win32-ia32-msvc@1.61.0': + optional: true + '@oxlint/binding-win32-x64-msvc@1.58.0': optional: true - '@parcel/watcher-android-arm64@2.5.4': + '@oxlint/binding-win32-x64-msvc@1.61.0': + optional: true + + '@parcel/watcher-android-arm64@2.5.6': optional: true - '@parcel/watcher-darwin-arm64@2.5.4': + '@parcel/watcher-darwin-arm64@2.5.6': optional: true - '@parcel/watcher-darwin-x64@2.5.4': + '@parcel/watcher-darwin-x64@2.5.6': optional: true - '@parcel/watcher-freebsd-x64@2.5.4': + '@parcel/watcher-freebsd-x64@2.5.6': optional: true - '@parcel/watcher-linux-arm-glibc@2.5.4': + '@parcel/watcher-linux-arm-glibc@2.5.6': optional: true - '@parcel/watcher-linux-arm-musl@2.5.4': + '@parcel/watcher-linux-arm-musl@2.5.6': optional: true - '@parcel/watcher-linux-arm64-glibc@2.5.4': + '@parcel/watcher-linux-arm64-glibc@2.5.6': optional: true - '@parcel/watcher-linux-arm64-musl@2.5.4': + '@parcel/watcher-linux-arm64-musl@2.5.6': optional: true - '@parcel/watcher-linux-x64-glibc@2.5.4': + '@parcel/watcher-linux-x64-glibc@2.5.6': optional: true - '@parcel/watcher-linux-x64-musl@2.5.4': + '@parcel/watcher-linux-x64-musl@2.5.6': optional: true - '@parcel/watcher-wasm@2.5.4': + '@parcel/watcher-wasm@2.5.6': dependencies: is-glob: 4.0.3 picomatch: 4.0.4 - '@parcel/watcher-win32-arm64@2.5.4': + '@parcel/watcher-win32-arm64@2.5.6': optional: true - '@parcel/watcher-win32-ia32@2.5.4': + '@parcel/watcher-win32-ia32@2.5.6': optional: true - '@parcel/watcher-win32-x64@2.5.4': + '@parcel/watcher-win32-x64@2.5.6': optional: true - '@parcel/watcher@2.5.4': + '@parcel/watcher@2.5.6': dependencies: detect-libc: 2.1.2 is-glob: 4.0.3 node-addon-api: 7.1.1 picomatch: 4.0.4 optionalDependencies: - '@parcel/watcher-android-arm64': 2.5.4 - '@parcel/watcher-darwin-arm64': 2.5.4 - '@parcel/watcher-darwin-x64': 2.5.4 - '@parcel/watcher-freebsd-x64': 2.5.4 - '@parcel/watcher-linux-arm-glibc': 2.5.4 - '@parcel/watcher-linux-arm-musl': 2.5.4 - '@parcel/watcher-linux-arm64-glibc': 2.5.4 - '@parcel/watcher-linux-arm64-musl': 2.5.4 - '@parcel/watcher-linux-x64-glibc': 2.5.4 - '@parcel/watcher-linux-x64-musl': 2.5.4 - '@parcel/watcher-win32-arm64': 2.5.4 - '@parcel/watcher-win32-ia32': 2.5.4 - '@parcel/watcher-win32-x64': 2.5.4 + '@parcel/watcher-android-arm64': 2.5.6 + '@parcel/watcher-darwin-arm64': 2.5.6 + '@parcel/watcher-darwin-x64': 2.5.6 + '@parcel/watcher-freebsd-x64': 2.5.6 + '@parcel/watcher-linux-arm-glibc': 2.5.6 + '@parcel/watcher-linux-arm-musl': 2.5.6 + '@parcel/watcher-linux-arm64-glibc': 2.5.6 + '@parcel/watcher-linux-arm64-musl': 2.5.6 + '@parcel/watcher-linux-x64-glibc': 2.5.6 + '@parcel/watcher-linux-x64-musl': 2.5.6 + '@parcel/watcher-win32-arm64': 2.5.6 + '@parcel/watcher-win32-ia32': 2.5.6 + '@parcel/watcher-win32-x64': 2.5.6 '@pkgjs/parseargs@0.11.0': optional: true @@ -15480,9 +15900,9 @@ snapshots: '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) optional: true - '@rolldown/binding-wasm32-wasi@1.0.0-rc.9(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': + '@rolldown/binding-wasm32-wasi@1.0.0-rc.9(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': dependencies: - '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) transitivePeerDependencies: - '@emnapi/core' - '@emnapi/runtime' @@ -15500,15 +15920,15 @@ snapshots: '@rolldown/binding-win32-x64-msvc@1.0.0-rc.9': optional: true - '@rolldown/pluginutils@1.0.0-rc.16': {} + '@rolldown/pluginutils@1.0.0-rc.13': {} - '@rolldown/pluginutils@1.0.0-rc.2': {} + '@rolldown/pluginutils@1.0.0-rc.16': {} '@rolldown/pluginutils@1.0.0-rc.9': {} - '@rollup/plugin-alias@6.0.0(rollup@4.56.0)': + '@rollup/plugin-alias@6.0.0(rollup@4.60.3)': optionalDependencies: - rollup: 4.56.0 + rollup: 4.60.3 '@rollup/plugin-babel@5.3.1(@babel/core@7.29.0)(rollup@2.79.2)': dependencies: @@ -15519,9 +15939,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@rollup/plugin-commonjs@29.0.0(rollup@4.56.0)': + '@rollup/plugin-commonjs@29.0.2(rollup@4.60.3)': dependencies: - '@rollup/pluginutils': 5.3.0(rollup@4.56.0) + '@rollup/pluginutils': 5.3.0(rollup@4.60.3) commondir: 1.0.1 estree-walker: 2.0.2 fdir: 6.5.0(picomatch@4.0.4) @@ -15529,21 +15949,21 @@ snapshots: magic-string: 0.30.21 picomatch: 4.0.4 optionalDependencies: - rollup: 4.56.0 + rollup: 4.60.3 - '@rollup/plugin-inject@5.0.5(rollup@4.56.0)': + '@rollup/plugin-inject@5.0.5(rollup@4.60.3)': dependencies: - '@rollup/pluginutils': 5.3.0(rollup@4.56.0) + '@rollup/pluginutils': 5.3.0(rollup@4.60.3) estree-walker: 2.0.2 magic-string: 0.30.21 optionalDependencies: - rollup: 4.56.0 + rollup: 4.60.3 - '@rollup/plugin-json@6.1.0(rollup@4.56.0)': + '@rollup/plugin-json@6.1.0(rollup@4.60.3)': dependencies: - '@rollup/pluginutils': 5.3.0(rollup@4.56.0) + '@rollup/pluginutils': 5.3.0(rollup@4.60.3) optionalDependencies: - rollup: 4.56.0 + rollup: 4.60.3 '@rollup/plugin-node-resolve@15.3.1(rollup@2.79.2)': dependencies: @@ -15555,15 +15975,15 @@ snapshots: optionalDependencies: rollup: 2.79.2 - '@rollup/plugin-node-resolve@16.0.3(rollup@4.56.0)': + '@rollup/plugin-node-resolve@16.0.3(rollup@4.60.3)': dependencies: - '@rollup/pluginutils': 5.3.0(rollup@4.56.0) + '@rollup/pluginutils': 5.3.0(rollup@4.60.3) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-module: 1.0.0 resolve: 1.22.11 optionalDependencies: - rollup: 4.56.0 + rollup: 4.60.3 '@rollup/plugin-replace@2.4.2(rollup@2.79.2)': dependencies: @@ -15571,12 +15991,12 @@ snapshots: magic-string: 0.25.9 rollup: 2.79.2 - '@rollup/plugin-replace@6.0.3(rollup@4.56.0)': + '@rollup/plugin-replace@6.0.3(rollup@4.60.3)': dependencies: - '@rollup/pluginutils': 5.3.0(rollup@4.56.0) + '@rollup/pluginutils': 5.3.0(rollup@4.60.3) magic-string: 0.30.21 optionalDependencies: - rollup: 4.56.0 + rollup: 4.60.3 '@rollup/plugin-terser@0.4.4(rollup@2.79.2)': dependencies: @@ -15586,21 +16006,21 @@ snapshots: optionalDependencies: rollup: 2.79.2 - '@rollup/plugin-terser@0.4.4(rollup@4.56.0)': + '@rollup/plugin-terser@1.0.0(rollup@4.60.3)': dependencies: - serialize-javascript: 6.0.2 + serialize-javascript: 7.0.5 smob: 1.5.0 terser: 5.46.0 optionalDependencies: - rollup: 4.56.0 + rollup: 4.60.3 - '@rollup/plugin-yaml@4.1.2(rollup@4.56.0)': + '@rollup/plugin-yaml@4.1.2(rollup@4.60.3)': dependencies: - '@rollup/pluginutils': 5.3.0(rollup@4.56.0) + '@rollup/pluginutils': 5.3.0(rollup@4.60.3) js-yaml: 4.1.1 tosource: 2.0.0-alpha.3 optionalDependencies: - rollup: 4.56.0 + rollup: 4.60.3 '@rollup/pluginutils@3.1.0(rollup@2.79.2)': dependencies: @@ -15617,87 +16037,87 @@ snapshots: optionalDependencies: rollup: 2.79.2 - '@rollup/pluginutils@5.3.0(rollup@4.56.0)': + '@rollup/pluginutils@5.3.0(rollup@4.60.3)': dependencies: '@types/estree': 1.0.8 estree-walker: 2.0.2 picomatch: 4.0.4 optionalDependencies: - rollup: 4.56.0 + rollup: 4.60.3 - '@rollup/rollup-android-arm-eabi@4.56.0': + '@rollup/rollup-android-arm-eabi@4.60.3': optional: true - '@rollup/rollup-android-arm64@4.56.0': + '@rollup/rollup-android-arm64@4.60.3': optional: true - '@rollup/rollup-darwin-arm64@4.56.0': + '@rollup/rollup-darwin-arm64@4.60.3': optional: true - '@rollup/rollup-darwin-x64@4.56.0': + '@rollup/rollup-darwin-x64@4.60.3': optional: true - '@rollup/rollup-freebsd-arm64@4.56.0': + '@rollup/rollup-freebsd-arm64@4.60.3': optional: true - '@rollup/rollup-freebsd-x64@4.56.0': + '@rollup/rollup-freebsd-x64@4.60.3': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.56.0': + '@rollup/rollup-linux-arm-gnueabihf@4.60.3': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.56.0': + '@rollup/rollup-linux-arm-musleabihf@4.60.3': optional: true - '@rollup/rollup-linux-arm64-gnu@4.56.0': + '@rollup/rollup-linux-arm64-gnu@4.60.3': optional: true - '@rollup/rollup-linux-arm64-musl@4.56.0': + '@rollup/rollup-linux-arm64-musl@4.60.3': optional: true - '@rollup/rollup-linux-loong64-gnu@4.56.0': + '@rollup/rollup-linux-loong64-gnu@4.60.3': optional: true - '@rollup/rollup-linux-loong64-musl@4.56.0': + '@rollup/rollup-linux-loong64-musl@4.60.3': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.56.0': + '@rollup/rollup-linux-ppc64-gnu@4.60.3': optional: true - '@rollup/rollup-linux-ppc64-musl@4.56.0': + '@rollup/rollup-linux-ppc64-musl@4.60.3': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.56.0': + '@rollup/rollup-linux-riscv64-gnu@4.60.3': optional: true - '@rollup/rollup-linux-riscv64-musl@4.56.0': + '@rollup/rollup-linux-riscv64-musl@4.60.3': optional: true - '@rollup/rollup-linux-s390x-gnu@4.56.0': + '@rollup/rollup-linux-s390x-gnu@4.60.3': optional: true - '@rollup/rollup-linux-x64-gnu@4.56.0': + '@rollup/rollup-linux-x64-gnu@4.60.3': optional: true - '@rollup/rollup-linux-x64-musl@4.56.0': + '@rollup/rollup-linux-x64-musl@4.60.3': optional: true - '@rollup/rollup-openbsd-x64@4.56.0': + '@rollup/rollup-openbsd-x64@4.60.3': optional: true - '@rollup/rollup-openharmony-arm64@4.56.0': + '@rollup/rollup-openharmony-arm64@4.60.3': optional: true - '@rollup/rollup-win32-arm64-msvc@4.56.0': + '@rollup/rollup-win32-arm64-msvc@4.60.3': optional: true - '@rollup/rollup-win32-ia32-msvc@4.56.0': + '@rollup/rollup-win32-ia32-msvc@4.60.3': optional: true - '@rollup/rollup-win32-x64-gnu@4.56.0': + '@rollup/rollup-win32-x64-gnu@4.60.3': optional: true - '@rollup/rollup-win32-x64-msvc@4.56.0': + '@rollup/rollup-win32-x64-msvc@4.60.3': optional: true '@shikijs/core@3.23.0': @@ -15805,27 +16225,29 @@ snapshots: '@standard-schema/spec@1.1.0': {} - '@storybook-vue/nuxt@9.0.1(@types/node@24.12.0)(@vue/compiler-sfc@3.5.33)(eslint@9.39.2)(magicast@0.5.2)(nuxt@4.4.2)(optionator@0.9.4)(oxlint@1.58.0)(rolldown@1.0.0-rc.16)(rollup@4.56.0)(storybook@10.3.5)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(vue-tsc@3.2.6)(vue@3.5.33)(yaml@2.8.2)': + '@storybook-vue/nuxt@https://pkg.pr.new/@storybook-vue/nuxt@1021(@babel/plugin-syntax-jsx@7.28.6)(@types/node@24.12.0)(@vue/compiler-sfc@3.5.34)(eslint@9.39.2)(magicast@0.5.2)(nuxt@4.4.4)(optionator@0.9.4)(oxlint@1.61.0)(rolldown@1.0.0-rc.16)(rollup-plugin-visualizer@7.0.1)(rollup@4.60.3)(storybook@10.3.5)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(vue-tsc@3.2.6)(vue@3.5.34)(webpack@5.104.1)(yaml@2.8.2)': dependencies: - '@nuxt/kit': 3.21.2(magicast@0.5.2) - '@nuxt/schema': 3.21.1 - '@nuxt/vite-builder': 3.21.1(@types/node@24.12.0)(eslint@9.39.2)(magicast@0.5.2)(nuxt@4.4.2)(optionator@0.9.4)(oxlint@1.58.0)(rolldown@1.0.0-rc.16)(rollup@4.56.0)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vue-tsc@3.2.6)(vue@3.5.33)(yaml@2.8.2) - '@rollup/plugin-replace': 6.0.3(rollup@4.56.0) - '@storybook/builder-vite': 9.1.2(storybook@10.3.5)(vite@8.0.0) - '@storybook/vue3': 9.1.2(storybook@10.3.5)(vue@3.5.33) - '@storybook/vue3-vite': 9.1.2(storybook@10.3.5)(vite@8.0.0)(vue@3.5.33) + '@nuxt/kit': 4.4.4(magicast@0.5.2) + '@nuxt/schema': 4.4.4 + '@nuxt/vite-builder': 4.4.4(@babel/plugin-syntax-jsx@7.28.6)(@types/node@24.12.0)(eslint@9.39.2)(magicast@0.5.2)(nuxt@4.4.4)(optionator@0.9.4)(oxlint@1.61.0)(rolldown@1.0.0-rc.16)(rollup-plugin-visualizer@7.0.1)(rollup@4.60.3)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vue-tsc@3.2.6)(vue@3.5.34)(yaml@2.8.2) + '@rollup/plugin-replace': 6.0.3(rollup@4.60.3) + '@storybook/builder-vite': 10.3.4(rollup@4.60.3)(storybook@10.3.5)(vite@8.0.0)(webpack@5.104.1) + '@storybook/vue3': 10.3.4(storybook@10.3.5)(vue@3.5.34) + '@storybook/vue3-vite': 10.3.4(rollup@4.60.3)(storybook@10.3.5)(vite@8.0.0)(vue@3.5.34)(webpack@5.104.1) json-stable-stringify: 1.3.0 - mlly: 1.8.1 - nuxt: 4.4.2(@babel/core@7.29.0)(@babel/plugin-syntax-jsx@7.28.6)(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@parcel/watcher@2.5.4)(@types/node@24.12.0)(@upstash/redis@1.37.0)(@vue/compiler-sfc@3.5.33)(better-sqlite3@12.8.0)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(esbuild@0.27.3)(eslint@9.39.2)(ioredis@5.9.2)(magicast@0.5.2)(optionator@0.9.4)(oxlint@1.58.0)(rolldown@1.0.0-rc.16)(rollup-plugin-visualizer@6.0.5)(rollup@4.56.0)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(vue-tsc@3.2.6)(yaml@2.8.2) + mlly: 1.8.2 + nuxt: 4.4.4(@babel/core@7.29.0)(@babel/plugin-syntax-jsx@7.28.6)(@parcel/watcher@2.5.6)(@types/node@24.12.0)(@upstash/redis@1.37.0)(@vue/compiler-sfc@3.5.34)(better-sqlite3@12.8.0)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(eslint@9.39.2)(ioredis@5.10.1)(magicast@0.5.2)(optionator@0.9.4)(oxlint@1.61.0)(rolldown@1.0.0-rc.16)(rollup-plugin-visualizer@7.0.1)(rollup@4.60.3)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(vue-tsc@3.2.6)(yaml@2.8.2) ofetch: 1.5.1 pathe: 2.0.3 storybook: 10.3.5(@testing-library/dom@10.4.1)(prettier@3.8.1)(react-dom@19.2.4)(react@19.2.4) unctx: 2.5.0 - vite: 8.0.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) - vue: 3.5.33(typescript@6.0.2) - vue-router: 5.0.4(@vue/compiler-sfc@3.5.33)(vue@3.5.33) + vite: 8.0.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@24.12.0)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) + vue: 3.5.34(typescript@6.0.2) + vue-router: 5.0.4(@vue/compiler-sfc@3.5.34)(vue@3.5.34) transitivePeerDependencies: - '@arethetypeswrong/core' + - '@babel/plugin-proposal-decorators' + - '@babel/plugin-syntax-jsx' - '@biomejs/biome' - '@pinia/colada' - '@tsdown/css' @@ -15833,6 +16255,7 @@ snapshots: - '@types/node' - '@vitejs/devtools' - '@vue/compiler-sfc' + - esbuild - eslint - less - magicast @@ -15843,6 +16266,7 @@ snapshots: - publint - rolldown - rollup + - rollup-plugin-visualizer - sass - sass-embedded - stylelint @@ -15856,6 +16280,7 @@ snapshots: - vls - vti - vue-tsc + - webpack - yaml '@storybook/addon-a11y@10.3.5(storybook@10.3.5)': @@ -15864,10 +16289,10 @@ snapshots: axe-core: 4.11.1 storybook: 10.3.5(@testing-library/dom@10.4.1)(prettier@3.8.1)(react-dom@19.2.4)(react@19.2.4) - '@storybook/addon-docs@10.3.5(@types/react@19.2.14)(esbuild@0.27.3)(rollup@4.56.0)(storybook@10.3.5)(vite@8.0.0)(webpack@5.104.1)': + '@storybook/addon-docs@10.3.5(@types/react@19.2.14)(rollup@4.60.3)(storybook@10.3.5)(vite@8.0.0)(webpack@5.104.1)': dependencies: '@mdx-js/react': 3.1.1(@types/react@19.2.14)(react@19.2.4) - '@storybook/csf-plugin': 10.3.5(esbuild@0.27.3)(rollup@4.56.0)(storybook@10.3.5)(vite@8.0.0)(webpack@5.104.1) + '@storybook/csf-plugin': 10.3.5(rollup@4.60.3)(storybook@10.3.5)(vite@8.0.0)(webpack@5.104.1) '@storybook/icons': 2.0.1(react-dom@19.2.4)(react@19.2.4) '@storybook/react-dom-shim': 10.3.5(react-dom@19.2.4)(react@19.2.4)(storybook@10.3.5) react: 19.2.4 @@ -15886,27 +16311,34 @@ snapshots: storybook: 10.3.5(@testing-library/dom@10.4.1)(prettier@3.8.1)(react-dom@19.2.4)(react@19.2.4) ts-dedent: 2.2.0 - '@storybook/builder-vite@9.1.2(storybook@10.3.5)(vite@8.0.0)': + '@storybook/builder-vite@10.3.4(rollup@4.60.3)(storybook@10.3.5)(vite@8.0.0)(webpack@5.104.1)': dependencies: - '@storybook/csf-plugin': 9.1.2(storybook@10.3.5) + '@storybook/csf-plugin': 10.3.4(rollup@4.60.3)(storybook@10.3.5)(vite@8.0.0)(webpack@5.104.1) storybook: 10.3.5(@testing-library/dom@10.4.1)(prettier@3.8.1)(react-dom@19.2.4)(react@19.2.4) ts-dedent: 2.2.0 - vite: 8.0.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) + vite: 8.0.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@24.12.0)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) + transitivePeerDependencies: + - esbuild + - rollup + - webpack - '@storybook/csf-plugin@10.3.5(esbuild@0.27.3)(rollup@4.56.0)(storybook@10.3.5)(vite@8.0.0)(webpack@5.104.1)': + '@storybook/csf-plugin@10.3.4(rollup@4.60.3)(storybook@10.3.5)(vite@8.0.0)(webpack@5.104.1)': dependencies: storybook: 10.3.5(@testing-library/dom@10.4.1)(prettier@3.8.1)(react-dom@19.2.4)(react@19.2.4) unplugin: 2.3.11 optionalDependencies: - esbuild: 0.27.3 - rollup: 4.56.0 - vite: 8.0.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) - webpack: 5.104.1(esbuild@0.27.3) + rollup: 4.60.3 + vite: 8.0.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@24.12.0)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) + webpack: 5.104.1 - '@storybook/csf-plugin@9.1.2(storybook@10.3.5)': + '@storybook/csf-plugin@10.3.5(rollup@4.60.3)(storybook@10.3.5)(vite@8.0.0)(webpack@5.104.1)': dependencies: storybook: 10.3.5(@testing-library/dom@10.4.1)(prettier@3.8.1)(react-dom@19.2.4)(react@19.2.4) - unplugin: 1.16.1 + unplugin: 2.3.11 + optionalDependencies: + rollup: 4.60.3 + vite: 8.0.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@24.12.0)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) + webpack: 5.104.1 '@storybook/global@5.0.0': {} @@ -15921,27 +16353,29 @@ snapshots: react-dom: 19.2.4(react@19.2.4) storybook: 10.3.5(@testing-library/dom@10.4.1)(prettier@3.8.1)(react-dom@19.2.4)(react@19.2.4) - '@storybook/vue3-vite@9.1.2(storybook@10.3.5)(vite@8.0.0)(vue@3.5.33)': + '@storybook/vue3-vite@10.3.4(rollup@4.60.3)(storybook@10.3.5)(vite@8.0.0)(vue@3.5.34)(webpack@5.104.1)': dependencies: - '@storybook/builder-vite': 9.1.2(storybook@10.3.5)(vite@8.0.0) - '@storybook/vue3': 9.1.2(storybook@10.3.5)(vue@3.5.33) - find-package-json: 1.2.0 + '@storybook/builder-vite': 10.3.4(rollup@4.60.3)(storybook@10.3.5)(vite@8.0.0)(webpack@5.104.1) + '@storybook/vue3': 10.3.4(storybook@10.3.5)(vue@3.5.34) magic-string: 0.30.21 storybook: 10.3.5(@testing-library/dom@10.4.1)(prettier@3.8.1)(react-dom@19.2.4)(react@19.2.4) typescript: 5.9.3 - vite: 8.0.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) + vite: 8.0.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@24.12.0)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) vue-component-meta: 2.2.12(typescript@5.9.3) - vue-docgen-api: 4.79.2(vue@3.5.33) + vue-docgen-api: 4.79.2(vue@3.5.34) transitivePeerDependencies: + - esbuild + - rollup - vue + - webpack - '@storybook/vue3@9.1.2(storybook@10.3.5)(vue@3.5.33)': + '@storybook/vue3@10.3.4(storybook@10.3.5)(vue@3.5.34)': dependencies: '@storybook/global': 5.0.0 storybook: 10.3.5(@testing-library/dom@10.4.1)(prettier@3.8.1)(react-dom@19.2.4)(react@19.2.4) type-fest: 2.19.0 - vue: 3.5.33(typescript@6.0.2) - vue-component-type-helpers: 3.2.7 + vue: 3.5.34(typescript@6.0.2) + vue-component-type-helpers: 3.2.8 '@surma/rollup-plugin-off-main-thread@2.2.3': dependencies: @@ -16020,7 +16454,7 @@ snapshots: '@alloc/quick-lru': 5.2.0 '@tailwindcss/node': 4.2.1 '@tailwindcss/oxide': 4.2.1 - postcss: 8.5.10 + postcss: 8.5.14 tailwindcss: 4.2.1 '@tailwindcss/vite@4.2.1(vite@8.0.0)': @@ -16028,7 +16462,7 @@ snapshots: '@tailwindcss/node': 4.2.1 '@tailwindcss/oxide': 4.2.1 tailwindcss: 4.2.1 - vite: 8.0.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) + vite: 8.0.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@24.12.0)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) '@takumi-rs/core-darwin-arm64@1.0.9': optional: true @@ -16087,15 +16521,15 @@ snapshots: '@tanstack/virtual-core@3.13.19': {} - '@tanstack/vue-table@8.21.3(vue@3.5.33)': + '@tanstack/vue-table@8.21.3(vue@3.5.34)': dependencies: '@tanstack/table-core': 8.21.3 - vue: 3.5.33(typescript@6.0.2) + vue: 3.5.34(typescript@6.0.2) - '@tanstack/vue-virtual@3.13.19(vue@3.5.33)': + '@tanstack/vue-virtual@3.13.19(vue@3.5.34)': dependencies: '@tanstack/virtual-core': 3.13.19 - vue: 3.5.33(typescript@6.0.2) + vue: 3.5.34(typescript@6.0.2) '@testing-library/dom@10.4.1': dependencies: @@ -16163,12 +16597,12 @@ snapshots: dependencies: '@tiptap/core': 3.20.0(@tiptap/pm@3.20.0) - '@tiptap/extension-drag-handle-vue-3@3.20.0(@tiptap/extension-drag-handle@3.20.0)(@tiptap/pm@3.20.0)(@tiptap/vue-3@3.20.0)(vue@3.5.33)': + '@tiptap/extension-drag-handle-vue-3@3.20.0(@tiptap/extension-drag-handle@3.20.0)(@tiptap/pm@3.20.0)(@tiptap/vue-3@3.20.0)(vue@3.5.34)': dependencies: '@tiptap/extension-drag-handle': 3.20.0(@tiptap/core@3.20.0)(@tiptap/extension-collaboration@3.20.0)(@tiptap/extension-node-range@3.20.0)(@tiptap/pm@3.20.0)(@tiptap/y-tiptap@3.0.2) '@tiptap/pm': 3.20.0 - '@tiptap/vue-3': 3.20.0(@floating-ui/dom@1.7.6)(@tiptap/core@3.20.0)(@tiptap/pm@3.20.0)(vue@3.5.33) - vue: 3.5.33(typescript@6.0.2) + '@tiptap/vue-3': 3.20.0(@floating-ui/dom@1.7.6)(@tiptap/core@3.20.0)(@tiptap/pm@3.20.0)(vue@3.5.34) + vue: 3.5.34(typescript@6.0.2) '@tiptap/extension-drag-handle@3.20.0(@tiptap/core@3.20.0)(@tiptap/extension-collaboration@3.20.0)(@tiptap/extension-node-range@3.20.0)(@tiptap/pm@3.20.0)(@tiptap/y-tiptap@3.0.2)': dependencies: @@ -16332,12 +16766,12 @@ snapshots: '@tiptap/core': 3.20.0(@tiptap/pm@3.20.0) '@tiptap/pm': 3.20.0 - '@tiptap/vue-3@3.20.0(@floating-ui/dom@1.7.6)(@tiptap/core@3.20.0)(@tiptap/pm@3.20.0)(vue@3.5.33)': + '@tiptap/vue-3@3.20.0(@floating-ui/dom@1.7.6)(@tiptap/core@3.20.0)(@tiptap/pm@3.20.0)(vue@3.5.34)': dependencies: '@floating-ui/dom': 1.7.6 '@tiptap/core': 3.20.0(@tiptap/pm@3.20.0) '@tiptap/pm': 3.20.0 - vue: 3.5.33(typescript@6.0.2) + vue: 3.5.34(typescript@6.0.2) optionalDependencies: '@tiptap/extension-bubble-menu': 3.20.0(@tiptap/core@3.20.0)(@tiptap/pm@3.20.0) '@tiptap/extension-floating-menu': 3.20.0(@floating-ui/dom@1.7.6)(@tiptap/core@3.20.0)(@tiptap/pm@3.20.0) @@ -16504,11 +16938,11 @@ snapshots: '@ungap/structured-clone@1.3.0': {} - '@unhead/vue@2.1.12(vue@3.5.33)': + '@unhead/vue@2.1.13(vue@3.5.34)': dependencies: hookable: 6.1.1 - unhead: 2.1.12 - vue: 3.5.33(typescript@6.0.2) + unhead: 2.1.13 + vue: 3.5.34(typescript@6.0.2) '@unocss/cli@66.6.7': dependencies: @@ -16549,9 +16983,9 @@ snapshots: gzip-size: 6.0.0 sirv: 3.0.2 - '@unocss/nuxt@66.6.7(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(magicast@0.5.2)(vite@8.0.0)(webpack@5.104.1)': + '@unocss/nuxt@66.6.7(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(magicast@0.5.2)(vite@8.0.0)(webpack@5.104.1)': dependencies: - '@nuxt/kit': 4.4.2(magicast@0.5.2) + '@nuxt/kit': 4.4.4(magicast@0.5.2) '@unocss/config': 66.6.7 '@unocss/core': 66.6.7 '@unocss/preset-attributify': 66.6.7 @@ -16564,7 +16998,7 @@ snapshots: '@unocss/reset': 66.6.7 '@unocss/vite': 66.6.7(vite@8.0.0) '@unocss/webpack': 66.6.7(webpack@5.104.1) - unocss: 66.6.7(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@unocss/webpack@66.6.7)(vite@8.0.0) + unocss: 66.6.7(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@unocss/webpack@66.6.7)(vite@8.0.0) transitivePeerDependencies: - '@emnapi/core' - '@emnapi/runtime' @@ -16633,10 +17067,10 @@ snapshots: '@unocss/core': 66.6.7 magic-string: 0.30.21 - '@unocss/transformer-attributify-jsx@66.6.7(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': + '@unocss/transformer-attributify-jsx@66.6.7(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': dependencies: '@unocss/core': 66.6.7 - oxc-parser: 0.115.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + oxc-parser: 0.115.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) oxc-walker: 0.7.0(oxc-parser@0.115.0) transitivePeerDependencies: - '@emnapi/core' @@ -16667,7 +17101,7 @@ snapshots: pathe: 2.0.3 tinyglobby: 0.2.16 unplugin-utils: 0.3.1 - vite: 8.0.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) + vite: 8.0.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@24.12.0)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) '@unocss/webpack@66.6.7(webpack@5.104.1)': dependencies: @@ -16680,7 +17114,7 @@ snapshots: tinyglobby: 0.2.16 unplugin: 2.3.11 unplugin-utils: 0.3.1 - webpack: 5.104.1(esbuild@0.27.3) + webpack: 5.104.1 webpack-sources: 3.3.4 '@upstash/redis@1.37.0': @@ -16692,10 +17126,10 @@ snapshots: valibot: 1.3.1(typescript@6.0.2) optional: true - '@vercel/nft@1.3.0(encoding@0.1.13)(rollup@4.56.0)': + '@vercel/nft@1.5.0(encoding@0.1.13)(rollup@4.60.3)': dependencies: '@mapbox/node-pre-gyp': 2.0.3(encoding@0.1.13) - '@rollup/pluginutils': 5.3.0(rollup@4.56.0) + '@rollup/pluginutils': 5.3.0(rollup@4.60.3) acorn: 8.16.0 acorn-import-attributes: 1.9.5(acorn@8.16.0) async-sema: 3.1.1 @@ -16713,6 +17147,13 @@ snapshots: '@vercel/oidc@3.1.0': {} + '@vercel/speed-insights@2.0.0(nuxt@4.4.4)(react@19.2.4)(vue-router@5.0.4)(vue@3.5.34)': + optionalDependencies: + nuxt: 4.4.4(@babel/core@7.29.0)(@babel/plugin-syntax-jsx@7.28.6)(@parcel/watcher@2.5.6)(@types/node@24.12.0)(@upstash/redis@1.37.0)(@vue/compiler-sfc@3.5.34)(better-sqlite3@12.8.0)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(eslint@9.39.2)(ioredis@5.10.1)(magicast@0.5.2)(optionator@0.9.4)(oxlint@1.61.0)(rolldown@1.0.0-rc.16)(rollup-plugin-visualizer@7.0.1)(rollup@4.60.3)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(vue-tsc@3.2.6)(yaml@2.8.2) + react: 19.2.4 + vue: 3.5.34(typescript@6.0.2) + vue-router: 5.0.4(@vue/compiler-sfc@3.5.34)(vue@3.5.34) + '@vite-pwa/assets-generator@1.0.2': dependencies: cac: 6.7.14 @@ -16737,23 +17178,23 @@ snapshots: - workbox-build - workbox-window - '@vitejs/plugin-vue-jsx@5.1.4(@voidzero-dev/vite-plus-core@0.1.16)(vue@3.5.33)': + '@vitejs/plugin-vue-jsx@5.1.5(@voidzero-dev/vite-plus-core@0.1.16)(vue@3.5.34)': dependencies: '@babel/core': 7.29.0 '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.0) '@babel/plugin-transform-typescript': 7.28.6(@babel/core@7.29.0) '@rolldown/pluginutils': 1.0.0-rc.16 '@vue/babel-plugin-jsx': 2.0.1(@babel/core@7.29.0) - vite: '@voidzero-dev/vite-plus-core@0.1.16(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(yaml@2.8.2)' - vue: 3.5.33(typescript@6.0.2) + vite: '@voidzero-dev/vite-plus-core@0.1.16(@types/node@24.12.0)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(yaml@2.8.2)' + vue: 3.5.34(typescript@6.0.2) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@6.0.4(@voidzero-dev/vite-plus-core@0.1.16)(vue@3.5.33)': + '@vitejs/plugin-vue@6.0.6(@voidzero-dev/vite-plus-core@0.1.16)(vue@3.5.34)': dependencies: - '@rolldown/pluginutils': 1.0.0-rc.2 - vite: '@voidzero-dev/vite-plus-core@0.1.16(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(yaml@2.8.2)' - vue: 3.5.33(typescript@6.0.2) + '@rolldown/pluginutils': 1.0.0-rc.13 + vite: '@voidzero-dev/vite-plus-core@0.1.16(@types/node@24.12.0)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(yaml@2.8.2)' + vue: 3.5.34(typescript@6.0.2) '@vitest/coverage-v8@4.1.5(@voidzero-dev/vite-plus-test@0.1.16)': dependencies: @@ -16767,7 +17208,7 @@ snapshots: obug: 2.1.1 std-env: 4.0.0 tinyrainbow: 3.1.0 - vitest: '@voidzero-dev/vite-plus-test@0.1.16(@opentelemetry/api@1.9.0)(@types/node@24.12.0)(esbuild@0.27.3)(happy-dom@20.3.5)(jiti@2.6.1)(jsdom@27.4.0)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(yaml@2.8.2)' + vitest: '@voidzero-dev/vite-plus-test@0.1.16(@opentelemetry/api@1.9.0)(@types/node@24.12.0)(happy-dom@20.3.5)(jiti@2.6.1)(jsdom@27.4.0)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(yaml@2.8.2)' '@vitest/expect@3.2.4': dependencies: @@ -16801,15 +17242,14 @@ snapshots: convert-source-map: 2.0.0 tinyrainbow: 3.1.0 - '@voidzero-dev/vite-plus-core@0.1.16(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(yaml@2.8.2)': + '@voidzero-dev/vite-plus-core@0.1.16(@types/node@24.12.0)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(yaml@2.8.2)': dependencies: '@oxc-project/runtime': 0.123.0 '@oxc-project/types': 0.123.0 lightningcss: 1.32.0 - postcss: 8.5.10 + postcss: 8.5.14 optionalDependencies: '@types/node': 24.12.0 - esbuild: 0.27.3 fsevents: 2.3.3 jiti: 2.6.1 terser: 5.46.0 @@ -16835,11 +17275,11 @@ snapshots: '@voidzero-dev/vite-plus-linux-x64-musl@0.1.16': optional: true - '@voidzero-dev/vite-plus-test@0.1.16(@opentelemetry/api@1.9.0)(@types/node@24.12.0)(esbuild@0.27.3)(happy-dom@20.3.5)(jiti@2.6.1)(jsdom@27.4.0)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(yaml@2.8.2)': + '@voidzero-dev/vite-plus-test@0.1.16(@opentelemetry/api@1.9.0)(@types/node@24.12.0)(happy-dom@20.3.5)(jiti@2.6.1)(jsdom@27.4.0)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(yaml@2.8.2)': dependencies: '@standard-schema/spec': 1.1.0 '@types/chai': 5.2.3 - '@voidzero-dev/vite-plus-core': 0.1.16(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(yaml@2.8.2) + '@voidzero-dev/vite-plus-core': 0.1.16(@types/node@24.12.0)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(yaml@2.8.2) es-module-lexer: 1.7.0 obug: 2.1.1 pixelmatch: 7.1.0 @@ -16849,7 +17289,7 @@ snapshots: tinybench: 2.9.0 tinyexec: 1.1.1 tinyglobby: 0.2.16 - vite: 8.0.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) + vite: 8.0.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@24.12.0)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) ws: 8.19.0 optionalDependencies: '@opentelemetry/api': 1.9.0 @@ -16907,15 +17347,15 @@ snapshots: path-browserify: 1.0.1 vscode-uri: 3.1.0 - '@vue-macros/common@3.1.2(vue@3.5.33)': + '@vue-macros/common@3.1.2(vue@3.5.34)': dependencies: - '@vue/compiler-sfc': 3.5.33 + '@vue/compiler-sfc': 3.5.34 ast-kit: 2.2.0 local-pkg: 1.1.2 magic-string-ast: 1.0.3 unplugin-utils: 0.3.1 optionalDependencies: - vue: 3.5.33(typescript@6.0.2) + vue: 3.5.34(typescript@6.0.2) '@vue/babel-helper-vue-transform-on@2.0.1': {} @@ -16929,7 +17369,7 @@ snapshots: '@babel/types': 7.29.0 '@vue/babel-helper-vue-transform-on': 2.0.1 '@vue/babel-plugin-resolve-type': 2.0.1(@babel/core@7.29.0) - '@vue/shared': 3.5.33 + '@vue/shared': 3.5.34 optionalDependencies: '@babel/core': 7.29.0 transitivePeerDependencies: @@ -16941,40 +17381,40 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-module-imports': 7.28.6 '@babel/helper-plugin-utils': 7.28.6 - '@babel/parser': 7.29.2 - '@vue/compiler-sfc': 3.5.33 + '@babel/parser': 7.29.3 + '@vue/compiler-sfc': 3.5.34 transitivePeerDependencies: - supports-color - '@vue/compiler-core@3.5.33': + '@vue/compiler-core@3.5.34': dependencies: - '@babel/parser': 7.29.2 - '@vue/shared': 3.5.33 + '@babel/parser': 7.29.3 + '@vue/shared': 3.5.34 entities: 7.0.1 estree-walker: 2.0.2 source-map-js: 1.2.1 - '@vue/compiler-dom@3.5.33': + '@vue/compiler-dom@3.5.34': dependencies: - '@vue/compiler-core': 3.5.33 - '@vue/shared': 3.5.33 + '@vue/compiler-core': 3.5.34 + '@vue/shared': 3.5.34 - '@vue/compiler-sfc@3.5.33': + '@vue/compiler-sfc@3.5.34': dependencies: - '@babel/parser': 7.29.2 - '@vue/compiler-core': 3.5.33 - '@vue/compiler-dom': 3.5.33 - '@vue/compiler-ssr': 3.5.33 - '@vue/shared': 3.5.33 + '@babel/parser': 7.29.3 + '@vue/compiler-core': 3.5.34 + '@vue/compiler-dom': 3.5.34 + '@vue/compiler-ssr': 3.5.34 + '@vue/shared': 3.5.34 estree-walker: 2.0.2 magic-string: 0.30.21 - postcss: 8.5.10 + postcss: 8.5.14 source-map-js: 1.2.1 - '@vue/compiler-ssr@3.5.33': + '@vue/compiler-ssr@3.5.34': dependencies: - '@vue/compiler-dom': 3.5.33 - '@vue/shared': 3.5.33 + '@vue/compiler-dom': 3.5.34 + '@vue/shared': 3.5.34 '@vue/compiler-vue2@2.7.16': dependencies: @@ -16987,11 +17427,11 @@ snapshots: dependencies: '@vue/devtools-kit': 8.1.0 - '@vue/devtools-core@8.1.0(vue@3.5.33)': + '@vue/devtools-core@8.1.0(vue@3.5.34)': dependencies: '@vue/devtools-kit': 8.1.0 '@vue/devtools-shared': 8.1.0 - vue: 3.5.33(typescript@6.0.2) + vue: 3.5.34(typescript@6.0.2) '@vue/devtools-kit@8.1.0': dependencies: @@ -17005,9 +17445,9 @@ snapshots: '@vue/language-core@2.2.12(typescript@5.9.3)': dependencies: '@volar/language-core': 2.4.15 - '@vue/compiler-dom': 3.5.33 + '@vue/compiler-dom': 3.5.34 '@vue/compiler-vue2': 2.7.16 - '@vue/shared': 3.5.33 + '@vue/shared': 3.5.34 alien-signals: 1.0.13 minimatch: 9.0.5 muggle-string: 0.4.1 @@ -17018,8 +17458,8 @@ snapshots: '@vue/language-core@3.2.5': dependencies: '@volar/language-core': 2.4.28 - '@vue/compiler-dom': 3.5.33 - '@vue/shared': 3.5.33 + '@vue/compiler-dom': 3.5.34 + '@vue/shared': 3.5.34 alien-signals: 3.1.2 muggle-string: 0.4.1 path-browserify: 1.0.1 @@ -17028,99 +17468,112 @@ snapshots: '@vue/language-core@3.2.6': dependencies: '@volar/language-core': 2.4.28 - '@vue/compiler-dom': 3.5.33 - '@vue/shared': 3.5.33 + '@vue/compiler-dom': 3.5.34 + '@vue/shared': 3.5.34 alien-signals: 3.1.2 muggle-string: 0.4.1 path-browserify: 1.0.1 picomatch: 4.0.4 - '@vue/reactivity@3.5.33': + '@vue/reactivity@3.5.34': dependencies: - '@vue/shared': 3.5.33 + '@vue/shared': 3.5.34 - '@vue/runtime-core@3.5.33': + '@vue/runtime-core@3.5.34': dependencies: - '@vue/reactivity': 3.5.33 - '@vue/shared': 3.5.33 + '@vue/reactivity': 3.5.34 + '@vue/shared': 3.5.34 - '@vue/runtime-dom@3.5.33': + '@vue/runtime-dom@3.5.34': dependencies: - '@vue/reactivity': 3.5.33 - '@vue/runtime-core': 3.5.33 - '@vue/shared': 3.5.33 + '@vue/reactivity': 3.5.34 + '@vue/runtime-core': 3.5.34 + '@vue/shared': 3.5.34 csstype: 3.2.3 - '@vue/server-renderer@3.5.33(vue@3.5.33)': + '@vue/server-renderer@3.5.34(vue@3.5.34)': dependencies: - '@vue/compiler-ssr': 3.5.33 - '@vue/shared': 3.5.33 - vue: 3.5.33(typescript@6.0.2) + '@vue/compiler-ssr': 3.5.34 + '@vue/shared': 3.5.34 + vue: 3.5.34(typescript@6.0.2) - '@vue/shared@3.5.33': {} + '@vue/shared@3.5.34': {} '@vue/test-utils@2.4.6': dependencies: js-beautify: 1.15.4 vue-component-type-helpers: 2.2.12 - '@vueuse/core@10.11.1(vue@3.5.33)': + '@vueuse/core@10.11.1(vue@3.5.34)': dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.11.1 - '@vueuse/shared': 10.11.1(vue@3.5.33) - vue-demi: 0.14.10(vue@3.5.33) + '@vueuse/shared': 10.11.1(vue@3.5.34) + vue-demi: 0.14.10(vue@3.5.34) transitivePeerDependencies: - '@vue/composition-api' - vue - '@vueuse/core@14.2.1(vue@3.5.33)': + '@vueuse/core@14.2.1(vue@3.5.34)': dependencies: '@types/web-bluetooth': 0.0.21 '@vueuse/metadata': 14.2.1 - '@vueuse/shared': 14.2.1(vue@3.5.33) - vue: 3.5.33(typescript@6.0.2) + '@vueuse/shared': 14.2.1(vue@3.5.34) + vue: 3.5.34(typescript@6.0.2) + + '@vueuse/core@14.3.0(vue@3.5.34)': + dependencies: + '@types/web-bluetooth': 0.0.21 + '@vueuse/metadata': 14.3.0 + '@vueuse/shared': 14.3.0(vue@3.5.34) + vue: 3.5.34(typescript@6.0.2) - '@vueuse/integrations@14.2.1(focus-trap@8.0.0)(fuse.js@7.1.0)(vue@3.5.33)': + '@vueuse/integrations@14.2.1(focus-trap@8.0.0)(fuse.js@7.3.0)(vue@3.5.34)': dependencies: - '@vueuse/core': 14.2.1(vue@3.5.33) - '@vueuse/shared': 14.2.1(vue@3.5.33) - vue: 3.5.33(typescript@6.0.2) + '@vueuse/core': 14.2.1(vue@3.5.34) + '@vueuse/shared': 14.2.1(vue@3.5.34) + vue: 3.5.34(typescript@6.0.2) optionalDependencies: focus-trap: 8.0.0 - fuse.js: 7.1.0 + fuse.js: 7.3.0 '@vueuse/metadata@10.11.1': {} '@vueuse/metadata@14.2.1': {} - '@vueuse/nuxt@14.2.1(magicast@0.5.2)(nuxt@4.4.2)(vue@3.5.33)': + '@vueuse/metadata@14.3.0': {} + + '@vueuse/nuxt@14.2.1(magicast@0.5.2)(nuxt@4.4.4)(vue@3.5.34)': dependencies: - '@nuxt/kit': 4.4.2(magicast@0.5.2) - '@vueuse/core': 14.2.1(vue@3.5.33) + '@nuxt/kit': 4.4.4(magicast@0.5.2) + '@vueuse/core': 14.2.1(vue@3.5.34) '@vueuse/metadata': 14.2.1 local-pkg: 1.1.2 - nuxt: 4.4.2(@babel/core@7.29.0)(@babel/plugin-syntax-jsx@7.28.6)(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@parcel/watcher@2.5.4)(@types/node@24.12.0)(@upstash/redis@1.37.0)(@vue/compiler-sfc@3.5.33)(better-sqlite3@12.8.0)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(esbuild@0.27.3)(eslint@9.39.2)(ioredis@5.9.2)(magicast@0.5.2)(optionator@0.9.4)(oxlint@1.58.0)(rolldown@1.0.0-rc.16)(rollup-plugin-visualizer@6.0.5)(rollup@4.56.0)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(vue-tsc@3.2.6)(yaml@2.8.2) - vue: 3.5.33(typescript@6.0.2) + nuxt: 4.4.4(@babel/core@7.29.0)(@babel/plugin-syntax-jsx@7.28.6)(@parcel/watcher@2.5.6)(@types/node@24.12.0)(@upstash/redis@1.37.0)(@vue/compiler-sfc@3.5.34)(better-sqlite3@12.8.0)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(eslint@9.39.2)(ioredis@5.10.1)(magicast@0.5.2)(optionator@0.9.4)(oxlint@1.61.0)(rolldown@1.0.0-rc.16)(rollup-plugin-visualizer@7.0.1)(rollup@4.60.3)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(vue-tsc@3.2.6)(yaml@2.8.2) + vue: 3.5.34(typescript@6.0.2) transitivePeerDependencies: - magicast - '@vueuse/router@14.2.1(vue-router@5.0.4)(vue@3.5.33)': + '@vueuse/router@14.2.1(vue-router@5.0.4)(vue@3.5.34)': dependencies: - '@vueuse/shared': 14.2.1(vue@3.5.33) - vue: 3.5.33(typescript@6.0.2) - vue-router: 5.0.4(@vue/compiler-sfc@3.5.33)(vue@3.5.33) + '@vueuse/shared': 14.2.1(vue@3.5.34) + vue: 3.5.34(typescript@6.0.2) + vue-router: 5.0.4(@vue/compiler-sfc@3.5.34)(vue@3.5.34) - '@vueuse/shared@10.11.1(vue@3.5.33)': + '@vueuse/shared@10.11.1(vue@3.5.34)': dependencies: - vue-demi: 0.14.10(vue@3.5.33) + vue-demi: 0.14.10(vue@3.5.34) transitivePeerDependencies: - '@vue/composition-api' - vue - '@vueuse/shared@14.2.1(vue@3.5.33)': + '@vueuse/shared@14.2.1(vue@3.5.34)': + dependencies: + vue: 3.5.34(typescript@6.0.2) + + '@vueuse/shared@14.3.0(vue@3.5.34)': dependencies: - vue: 3.5.33(typescript@6.0.2) + vue: 3.5.34(typescript@6.0.2) '@webassemblyjs/ast@1.14.1': dependencies: @@ -17372,7 +17825,7 @@ snapshots: ast-kit@2.2.0: dependencies: - '@babel/parser': 7.29.2 + '@babel/parser': 7.29.3 pathe: 2.0.3 ast-kit@3.0.0-beta.1: @@ -17393,7 +17846,7 @@ snapshots: ast-walker-scope@0.8.3: dependencies: - '@babel/parser': 7.29.2 + '@babel/parser': 7.29.3 ast-kit: 2.2.0 async-function@1.0.0: {} @@ -17408,13 +17861,13 @@ snapshots: atomic-sleep@1.0.0: {} - autoprefixer@10.4.27(postcss@8.5.10): + autoprefixer@10.5.0(postcss@8.5.14): dependencies: - browserslist: 4.28.1 - caniuse-lite: 1.0.30001774 + browserslist: 4.28.2 + caniuse-lite: 1.0.30001791 fraction.js: 5.3.4 picocolors: 1.1.1 - postcss: 8.5.10 + postcss: 8.5.14 postcss-value-parser: 4.2.0 available-typed-arrays@1.0.7: @@ -17467,7 +17920,7 @@ snapshots: base64-js@1.5.1: {} - baseline-browser-mapping@2.9.17: {} + baseline-browser-mapping@2.10.27: {} better-sqlite3@12.8.0: dependencies: @@ -17526,13 +17979,13 @@ snapshots: dependencies: fill-range: 7.1.1 - browserslist@4.28.1: + browserslist@4.28.2: dependencies: - baseline-browser-mapping: 2.9.17 - caniuse-lite: 1.0.30001774 - electron-to-chromium: 1.5.267 - node-releases: 2.0.27 - update-browserslist-db: 1.2.3(browserslist@4.28.1) + baseline-browser-mapping: 2.10.27 + caniuse-lite: 1.0.30001791 + electron-to-chromium: 1.5.349 + node-releases: 2.0.38 + update-browserslist-db: 1.2.3(browserslist@4.28.2) buffer-crc32@1.0.0: {} @@ -17570,7 +18023,7 @@ snapshots: ohash: 2.0.11 pathe: 2.0.3 perfect-debounce: 2.1.0 - pkg-types: 2.3.0 + pkg-types: 2.3.1 rc9: 3.0.1 optionalDependencies: magicast: 0.5.2 @@ -17602,12 +18055,12 @@ snapshots: caniuse-api@3.0.0: dependencies: - browserslist: 4.28.1 - caniuse-lite: 1.0.30001774 + browserslist: 4.28.2 + caniuse-lite: 1.0.30001791 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 - caniuse-lite@1.0.30001774: {} + caniuse-lite@1.0.30001791: {} cborg@1.10.2: {} @@ -17637,7 +18090,7 @@ snapshots: ofetch: 1.5.1 open: 10.2.0 pathe: 2.0.3 - pkg-types: 2.3.0 + pkg-types: 2.3.1 scule: 1.3.0 semver: 7.7.4 std-env: 3.10.0 @@ -17695,18 +18148,18 @@ snapshots: cli-width@4.1.0: {} - clipboardy@4.0.0: - dependencies: - execa: 8.0.1 - is-wsl: 3.1.0 - is64bit: 2.0.0 - cliui@8.0.1: dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 + cliui@9.0.1: + dependencies: + string-width: 7.2.0 + strip-ansi: 7.1.2 + wrap-ansi: 9.0.2 + cluster-key-slot@1.1.2: {} code-block-writer@13.0.3: {} @@ -17717,8 +18170,6 @@ snapshots: color-name@1.1.4: {} - colord@2.9.3: {} - colorette@2.0.20: {} colortranslator@5.0.0: {} @@ -17764,7 +18215,7 @@ snapshots: constantinople@4.0.1: dependencies: - '@babel/parser': 7.29.2 + '@babel/parser': 7.29.3 '@babel/types': 7.29.0 content-disposition@1.0.1: {} @@ -17777,7 +18228,9 @@ snapshots: cookie-es@1.2.3: {} - cookie-es@2.0.0: {} + cookie-es@2.0.1: {} + + cookie-es@3.1.1: {} cookie-signature@1.2.2: {} @@ -17787,7 +18240,7 @@ snapshots: core-js-compat@3.48.0: dependencies: - browserslist: 4.28.1 + browserslist: 4.28.2 core-js@3.48.0: {} @@ -17807,7 +18260,7 @@ snapshots: crelt@1.0.6: {} - croner@9.1.0: {} + croner@10.0.1: {} cross-spawn@7.0.6: dependencies: @@ -17827,9 +18280,9 @@ snapshots: css-color-keywords@1.0.0: {} - css-declaration-sorter@7.3.1(postcss@8.5.10): + css-declaration-sorter@7.3.1(postcss@8.5.14): dependencies: - postcss: 8.5.10 + postcss: 8.5.14 css-gradient-parser@0.0.17: {} @@ -17866,49 +18319,49 @@ snapshots: cssfilter@0.0.10: optional: true - cssnano-preset-default@7.0.11(postcss@8.5.10): - dependencies: - browserslist: 4.28.1 - css-declaration-sorter: 7.3.1(postcss@8.5.10) - cssnano-utils: 5.0.1(postcss@8.5.10) - postcss: 8.5.10 - postcss-calc: 10.1.1(postcss@8.5.10) - postcss-colormin: 7.0.6(postcss@8.5.10) - postcss-convert-values: 7.0.9(postcss@8.5.10) - postcss-discard-comments: 7.0.6(postcss@8.5.10) - postcss-discard-duplicates: 7.0.2(postcss@8.5.10) - postcss-discard-empty: 7.0.1(postcss@8.5.10) - postcss-discard-overridden: 7.0.1(postcss@8.5.10) - postcss-merge-longhand: 7.0.5(postcss@8.5.10) - postcss-merge-rules: 7.0.8(postcss@8.5.10) - postcss-minify-font-values: 7.0.1(postcss@8.5.10) - postcss-minify-gradients: 7.0.1(postcss@8.5.10) - postcss-minify-params: 7.0.6(postcss@8.5.10) - postcss-minify-selectors: 7.0.6(postcss@8.5.10) - postcss-normalize-charset: 7.0.1(postcss@8.5.10) - postcss-normalize-display-values: 7.0.1(postcss@8.5.10) - postcss-normalize-positions: 7.0.1(postcss@8.5.10) - postcss-normalize-repeat-style: 7.0.1(postcss@8.5.10) - postcss-normalize-string: 7.0.1(postcss@8.5.10) - postcss-normalize-timing-functions: 7.0.1(postcss@8.5.10) - postcss-normalize-unicode: 7.0.6(postcss@8.5.10) - postcss-normalize-url: 7.0.1(postcss@8.5.10) - postcss-normalize-whitespace: 7.0.1(postcss@8.5.10) - postcss-ordered-values: 7.0.2(postcss@8.5.10) - postcss-reduce-initial: 7.0.6(postcss@8.5.10) - postcss-reduce-transforms: 7.0.1(postcss@8.5.10) - postcss-svgo: 7.1.1(postcss@8.5.10) - postcss-unique-selectors: 7.0.5(postcss@8.5.10) - - cssnano-utils@5.0.1(postcss@8.5.10): - dependencies: - postcss: 8.5.10 - - cssnano@7.1.3(postcss@8.5.10): - dependencies: - cssnano-preset-default: 7.0.11(postcss@8.5.10) + cssnano-preset-default@7.0.16(postcss@8.5.14): + dependencies: + browserslist: 4.28.2 + css-declaration-sorter: 7.3.1(postcss@8.5.14) + cssnano-utils: 5.0.3(postcss@8.5.14) + postcss: 8.5.14 + postcss-calc: 10.1.1(postcss@8.5.14) + postcss-colormin: 7.0.10(postcss@8.5.14) + postcss-convert-values: 7.0.12(postcss@8.5.14) + postcss-discard-comments: 7.0.8(postcss@8.5.14) + postcss-discard-duplicates: 7.0.4(postcss@8.5.14) + postcss-discard-empty: 7.0.3(postcss@8.5.14) + postcss-discard-overridden: 7.0.3(postcss@8.5.14) + postcss-merge-longhand: 7.0.7(postcss@8.5.14) + postcss-merge-rules: 7.0.11(postcss@8.5.14) + postcss-minify-font-values: 7.0.3(postcss@8.5.14) + postcss-minify-gradients: 7.0.5(postcss@8.5.14) + postcss-minify-params: 7.0.9(postcss@8.5.14) + postcss-minify-selectors: 7.1.1(postcss@8.5.14) + postcss-normalize-charset: 7.0.3(postcss@8.5.14) + postcss-normalize-display-values: 7.0.3(postcss@8.5.14) + postcss-normalize-positions: 7.0.4(postcss@8.5.14) + postcss-normalize-repeat-style: 7.0.4(postcss@8.5.14) + postcss-normalize-string: 7.0.3(postcss@8.5.14) + postcss-normalize-timing-functions: 7.0.3(postcss@8.5.14) + postcss-normalize-unicode: 7.0.9(postcss@8.5.14) + postcss-normalize-url: 7.0.3(postcss@8.5.14) + postcss-normalize-whitespace: 7.0.3(postcss@8.5.14) + postcss-ordered-values: 7.0.4(postcss@8.5.14) + postcss-reduce-initial: 7.0.9(postcss@8.5.14) + postcss-reduce-transforms: 7.0.3(postcss@8.5.14) + postcss-svgo: 7.1.3(postcss@8.5.14) + postcss-unique-selectors: 7.0.7(postcss@8.5.14) + + cssnano-utils@5.0.3(postcss@8.5.14): + dependencies: + postcss: 8.5.14 + + cssnano@7.1.8(postcss@8.5.14): + dependencies: + cssnano-preset-default: 7.0.16(postcss@8.5.14) lilconfig: 3.1.3 - postcss: 8.5.10 + postcss: 8.5.14 csso@5.0.5: dependencies: @@ -18003,8 +18456,6 @@ snapshots: es-errors: 1.3.0 gopd: 1.2.0 - define-lazy-prop@2.0.0: {} - define-lazy-prop@3.0.0: {} define-properties@1.2.1: @@ -18045,39 +18496,39 @@ snapshots: doctypes@1.1.0: {} - docus@5.8.1(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@nuxt/schema@4.4.2)(@resvg/resvg-js@2.6.2)(@resvg/resvg-wasm@2.6.2)(@takumi-rs/core@1.0.9)(@takumi-rs/wasm@1.0.9)(@tiptap/extensions@3.20.0)(@tiptap/y-tiptap@3.0.2)(@unhead/vue@2.1.12)(@upstash/redis@1.37.0)(@valibot/to-json-schema@1.5.0)(@vue/compiler-dom@3.5.33)(better-sqlite3@12.8.0)(db0@0.3.4)(embla-carousel@8.6.0)(eslint@9.39.2)(focus-trap@8.0.0)(fontless@0.2.1)(ioredis@5.9.2)(magicast@0.5.2)(nuxt@4.4.2)(playwright-core@1.58.2)(react-dom@19.2.4)(react@19.2.4)(rollup@4.56.0)(satori@0.19.2)(sharp@0.34.5)(typescript@6.0.2)(unifont@0.7.4)(unstorage@1.17.5)(valibot@1.3.1)(vite@8.0.0)(vue-router@5.0.4)(vue@3.5.33)(yjs@13.6.29): + docus@5.8.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@nuxt/schema@4.4.4)(@resvg/resvg-js@2.6.2)(@resvg/resvg-wasm@2.6.2)(@takumi-rs/core@1.0.9)(@takumi-rs/wasm@1.0.9)(@tiptap/extensions@3.20.0)(@tiptap/y-tiptap@3.0.2)(@unhead/vue@2.1.13)(@upstash/redis@1.37.0)(@valibot/to-json-schema@1.5.0)(@vue/compiler-dom@3.5.34)(better-sqlite3@12.8.0)(db0@0.3.4)(embla-carousel@8.6.0)(eslint@9.39.2)(focus-trap@8.0.0)(fontless@0.2.1)(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.4)(playwright-core@1.58.2)(react-dom@19.2.4)(react@19.2.4)(rollup@4.60.3)(satori@0.19.2)(sharp@0.34.5)(typescript@6.0.2)(unifont@0.7.4)(unstorage@1.17.5)(valibot@1.3.1)(vite@8.0.0)(vue-router@5.0.4)(vue@3.5.34)(yjs@13.6.29): dependencies: '@ai-sdk/gateway': 3.0.101(zod@4.3.6) '@ai-sdk/mcp': 1.0.36(zod@4.3.6) - '@ai-sdk/vue': 3.0.116(vue@3.5.33)(zod@4.3.6) + '@ai-sdk/vue': 3.0.116(vue@3.5.34)(zod@4.3.6) '@iconify-json/lucide': 1.2.98 '@iconify-json/simple-icons': 1.2.74 '@iconify-json/vscode-icons': 1.2.45 '@nuxt/content': 3.12.0(@valibot/to-json-schema@1.5.0)(better-sqlite3@12.8.0)(magicast@0.5.2)(valibot@1.3.1) - '@nuxt/image': 2.0.0(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.9.2)(magicast@0.5.2) - '@nuxt/kit': 4.4.2(magicast@0.5.2) - '@nuxt/ui': 4.5.1(@nuxt/content@3.12.0)(@tiptap/extensions@3.20.0)(@tiptap/y-tiptap@3.0.2)(@upstash/redis@1.37.0)(db0@0.3.4)(embla-carousel@8.6.0)(focus-trap@8.0.0)(ioredis@5.9.2)(magicast@0.5.2)(react-dom@19.2.4)(react@19.2.4)(tailwindcss@4.2.2)(typescript@6.0.2)(valibot@1.3.1)(vite@8.0.0)(vue-router@5.0.4)(vue@3.5.33)(yjs@13.6.29)(zod@4.3.6) - '@nuxtjs/i18n': 10.2.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@upstash/redis@1.37.0)(@vue/compiler-dom@3.5.33)(db0@0.3.4)(eslint@9.39.2)(ioredis@5.9.2)(magicast@0.5.2)(rollup@4.56.0)(typescript@6.0.2)(vue@3.5.33) + '@nuxt/image': 2.0.0(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.10.1)(magicast@0.5.2) + '@nuxt/kit': 4.4.4(magicast@0.5.2) + '@nuxt/ui': 4.5.1(@nuxt/content@3.12.0)(@tiptap/extensions@3.20.0)(@tiptap/y-tiptap@3.0.2)(@upstash/redis@1.37.0)(db0@0.3.4)(embla-carousel@8.6.0)(focus-trap@8.0.0)(ioredis@5.10.1)(magicast@0.5.2)(react-dom@19.2.4)(react@19.2.4)(tailwindcss@4.2.2)(typescript@6.0.2)(valibot@1.3.1)(vite@8.0.0)(vue-router@5.0.4)(vue@3.5.34)(yjs@13.6.29)(zod@4.3.6) + '@nuxtjs/i18n': 10.2.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@upstash/redis@1.37.0)(@vue/compiler-dom@3.5.34)(db0@0.3.4)(eslint@9.39.2)(ioredis@5.10.1)(magicast@0.5.2)(rollup@4.60.3)(typescript@6.0.2)(vue@3.5.34) '@nuxtjs/mcp-toolkit': 0.7.0(magicast@0.5.2)(zod@4.3.6) '@nuxtjs/mdc': 0.20.2(magicast@0.5.2) - '@nuxtjs/robots': 5.7.1(magicast@0.5.2)(vite@8.0.0)(vue@3.5.33)(zod@4.3.6) + '@nuxtjs/robots': 5.7.1(magicast@0.5.2)(vite@8.0.0)(vue@3.5.34)(zod@4.3.6) '@shikijs/core': 3.23.0 '@shikijs/engine-javascript': 3.23.0 '@shikijs/langs': 3.23.0 '@shikijs/themes': 3.23.0 - '@vueuse/core': 14.2.1(vue@3.5.33) + '@vueuse/core': 14.3.0(vue@3.5.34) ai: 6.0.116(zod@4.3.6) better-sqlite3: 12.8.0 defu: 6.1.4 exsolve: 1.0.8 git-url-parse: 16.1.0 - motion-v: 1.10.3(@vueuse/core@14.2.1)(react-dom@19.2.4)(react@19.2.4)(vue@3.5.33) - nuxt: 4.4.2(@babel/core@7.29.0)(@babel/plugin-syntax-jsx@7.28.6)(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@parcel/watcher@2.5.4)(@types/node@24.12.0)(@upstash/redis@1.37.0)(@vue/compiler-sfc@3.5.33)(better-sqlite3@12.8.0)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(esbuild@0.27.3)(eslint@9.39.2)(ioredis@5.9.2)(magicast@0.5.2)(optionator@0.9.4)(oxlint@1.58.0)(rolldown@1.0.0-rc.16)(rollup-plugin-visualizer@6.0.5)(rollup@4.56.0)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(vue-tsc@3.2.6)(yaml@2.8.2) + motion-v: 1.10.3(@vueuse/core@14.3.0)(react-dom@19.2.4)(react@19.2.4)(vue@3.5.34) + nuxt: 4.4.4(@babel/core@7.29.0)(@babel/plugin-syntax-jsx@7.28.6)(@parcel/watcher@2.5.6)(@types/node@24.12.0)(@upstash/redis@1.37.0)(@vue/compiler-sfc@3.5.34)(better-sqlite3@12.8.0)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(eslint@9.39.2)(ioredis@5.10.1)(magicast@0.5.2)(optionator@0.9.4)(oxlint@1.61.0)(rolldown@1.0.0-rc.16)(rollup-plugin-visualizer@7.0.1)(rollup@4.60.3)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(vue-tsc@3.2.6)(yaml@2.8.2) nuxt-llms: 0.2.0(magicast@0.5.2) - nuxt-og-image: 6.4.3(@nuxt/schema@4.4.2)(@resvg/resvg-js@2.6.2)(@resvg/resvg-wasm@2.6.2)(@takumi-rs/core@1.0.9)(@takumi-rs/wasm@1.0.9)(@unhead/vue@2.1.12)(fontless@0.2.1)(nuxt@4.4.2)(playwright-core@1.58.2)(satori@0.19.2)(sharp@0.34.5)(tailwindcss@4.2.2)(unifont@0.7.4)(unstorage@1.17.5)(vite@8.0.0)(vue@3.5.33)(zod@4.3.6) - pkg-types: 2.3.0 + nuxt-og-image: 6.4.3(@nuxt/schema@4.4.4)(@resvg/resvg-js@2.6.2)(@resvg/resvg-wasm@2.6.2)(@takumi-rs/core@1.0.9)(@takumi-rs/wasm@1.0.9)(@unhead/vue@2.1.13)(fontless@0.2.1)(nuxt@4.4.4)(playwright-core@1.58.2)(satori@0.19.2)(sharp@0.34.5)(tailwindcss@4.2.2)(unifont@0.7.4)(unstorage@1.17.5)(vite@8.0.0)(vue@3.5.34)(zod@4.3.6) + pkg-types: 2.3.1 scule: 1.3.0 - shiki-stream: 0.1.4(react@19.2.4)(vue@3.5.33) + shiki-stream: 0.1.4(react@19.2.4)(vue@3.5.34) tailwindcss: 4.2.2 ufo: 1.6.3 zod: 4.3.6 @@ -18198,7 +18649,7 @@ snapshots: dts-resolver@2.1.3(oxc-resolver@11.19.1): optionalDependencies: - oxc-resolver: 11.19.1(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + oxc-resolver: 11.19.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) dunder-proto@1.0.1: dependencies: @@ -18223,7 +18674,7 @@ snapshots: dependencies: jake: 10.9.4 - electron-to-chromium@1.5.267: {} + electron-to-chromium@1.5.349: {} embla-carousel-auto-height@8.6.0(embla-carousel@8.6.0): dependencies: @@ -18249,11 +18700,11 @@ snapshots: dependencies: embla-carousel: 8.6.0 - embla-carousel-vue@8.6.0(vue@3.5.33): + embla-carousel-vue@8.6.0(vue@3.5.34): dependencies: embla-carousel: 8.6.0 embla-carousel-reactive-utils: 8.6.0(embla-carousel@8.6.0) - vue: 3.5.33(typescript@6.0.2) + vue: 3.5.34(typescript@6.0.2) embla-carousel-wheel-gestures@8.1.0(embla-carousel@8.6.0): dependencies: @@ -18264,6 +18715,8 @@ snapshots: emoji-regex-xs@2.0.1: {} + emoji-regex@10.6.0: {} + emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} @@ -18454,6 +18907,35 @@ snapshots: '@esbuild/win32-ia32': 0.27.3 '@esbuild/win32-x64': 0.27.3 + esbuild@0.28.0: + optionalDependencies: + '@esbuild/aix-ppc64': 0.28.0 + '@esbuild/android-arm': 0.28.0 + '@esbuild/android-arm64': 0.28.0 + '@esbuild/android-x64': 0.28.0 + '@esbuild/darwin-arm64': 0.28.0 + '@esbuild/darwin-x64': 0.28.0 + '@esbuild/freebsd-arm64': 0.28.0 + '@esbuild/freebsd-x64': 0.28.0 + '@esbuild/linux-arm': 0.28.0 + '@esbuild/linux-arm64': 0.28.0 + '@esbuild/linux-ia32': 0.28.0 + '@esbuild/linux-loong64': 0.28.0 + '@esbuild/linux-mips64el': 0.28.0 + '@esbuild/linux-ppc64': 0.28.0 + '@esbuild/linux-riscv64': 0.28.0 + '@esbuild/linux-s390x': 0.28.0 + '@esbuild/linux-x64': 0.28.0 + '@esbuild/netbsd-arm64': 0.28.0 + '@esbuild/netbsd-x64': 0.28.0 + '@esbuild/openbsd-arm64': 0.28.0 + '@esbuild/openbsd-x64': 0.28.0 + '@esbuild/openharmony-arm64': 0.28.0 + '@esbuild/sunos-x64': 0.28.0 + '@esbuild/win32-arm64': 0.28.0 + '@esbuild/win32-ia32': 0.28.0 + '@esbuild/win32-x64': 0.28.0 + escalade@3.2.0: {} escape-html@1.0.3: {} @@ -18470,13 +18952,6 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-plugin-depend@1.5.0(eslint@9.39.2): - dependencies: - empathic: 2.0.0 - eslint: 9.39.2(jiti@2.6.1) - module-replacements: 2.11.0 - semver: 7.7.4 - eslint-plugin-regexp@3.1.0(eslint@9.39.2): dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2) @@ -18661,13 +19136,6 @@ snapshots: extend@3.0.2: {} - externality@1.0.2: - dependencies: - enhanced-resolve: 5.20.0 - mlly: 1.8.1 - pathe: 1.1.2 - ufo: 1.6.3 - fake-indexeddb@6.2.5: {} fast-check@4.6.0: @@ -18745,8 +19213,6 @@ snapshots: transitivePeerDependencies: - supports-color - find-package-json@1.2.0: {} - find-up@5.0.0: dependencies: locate-path: 6.0.0 @@ -18779,7 +19245,7 @@ snapshots: dependencies: tiny-inflate: 1.0.3 - fontless@0.2.1(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.9.2)(vite@8.0.0): + fontless@0.2.1(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.10.1)(vite@8.0.0): dependencies: consola: 3.4.2 css-tree: 3.1.0 @@ -18793,9 +19259,9 @@ snapshots: pathe: 2.0.3 ufo: 1.6.3 unifont: 0.7.4 - unstorage: 1.17.5(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.9.2) + unstorage: 1.17.5(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.10.1) optionalDependencies: - vite: 8.0.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) + vite: 8.0.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@24.12.0)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -18875,7 +19341,7 @@ snapshots: functions-have-names@1.2.3: {} - fuse.js@7.1.0: {} + fuse.js@7.3.0: {} fzf@0.5.2: {} @@ -18885,6 +19351,8 @@ snapshots: get-caller-file@2.0.5: {} + get-east-asian-width@1.5.0: {} + get-intrinsic@1.3.0: dependencies: call-bind-apply-helpers: 1.0.2 @@ -18996,7 +19464,7 @@ snapshots: define-properties: 1.2.1 gopd: 1.2.0 - globby@16.1.0: + globby@16.2.0: dependencies: '@sindresorhus/merge-streams': 4.0.0 fast-glob: 3.3.3 @@ -19273,7 +19741,7 @@ snapshots: prompts: 2.4.2 semver: 7.7.4 optionalDependencies: - vitest: '@voidzero-dev/vite-plus-test@0.1.16(@opentelemetry/api@1.9.0)(@types/node@24.12.0)(esbuild@0.27.3)(happy-dom@20.3.5)(jiti@2.6.1)(jsdom@27.4.0)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(yaml@2.8.2)' + vitest: '@voidzero-dev/vite-plus-test@0.1.16(@opentelemetry/api@1.9.0)(@types/node@24.12.0)(happy-dom@20.3.5)(jiti@2.6.1)(jsdom@27.4.0)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(yaml@2.8.2)' html-void-elements@3.0.0: {} @@ -19318,7 +19786,7 @@ snapshots: transitivePeerDependencies: - supports-color - httpxy@0.1.7: {} + httpxy@0.5.1: {} human-signals@5.0.0: {} @@ -19379,9 +19847,9 @@ snapshots: hasown: 2.0.2 side-channel: 1.1.0 - ioredis@5.9.2: + ioredis@5.10.1: dependencies: - '@ioredis/commands': 1.5.0 + '@ioredis/commands': 1.5.1 cluster-key-slot: 1.1.2 debug: 4.4.3 denque: 2.1.0 @@ -19399,7 +19867,7 @@ snapshots: ipaddr.js@2.3.0: {} - ipx@3.1.1(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.9.2): + ipx@3.1.1(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.10.1): dependencies: '@fastify/accept-negotiator': 2.0.1 citty: 0.1.6 @@ -19409,13 +19877,13 @@ snapshots: etag: 1.8.1 h3: 1.15.8 image-meta: 0.2.2 - listhen: 1.9.0 + listhen: 1.10.0 ofetch: 1.5.1 pathe: 2.0.3 sharp: 0.34.5 svgo: 4.0.1 ufo: 1.6.3 - unstorage: 1.17.5(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.9.2) + unstorage: 1.17.5(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.10.1) xss: 1.0.15 transitivePeerDependencies: - '@azure/app-configuration' @@ -19525,6 +19993,8 @@ snapshots: is-hexadecimal@2.0.1: {} + is-in-ssh@1.0.0: {} + is-inside-container@1.0.0: dependencies: is-docker: 3.0.0 @@ -19627,17 +20097,13 @@ snapshots: dependencies: is-inside-container: 1.0.0 - is64bit@2.0.0: - dependencies: - system-architecture: 0.1.0 - isarray@1.0.0: {} isarray@2.0.5: {} isexe@2.0.0: {} - isexe@3.1.1: {} + isexe@4.0.0: {} iso-datestring-validator@2.2.2: {} @@ -19830,7 +20296,7 @@ snapshots: klona@2.0.6: {} - knip@6.0.5(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2): + knip@6.0.5(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0): dependencies: '@nodelib/fs.walk': 1.2.8 fast-glob: 3.3.3 @@ -19838,8 +20304,8 @@ snapshots: get-tsconfig: 4.13.7 jiti: 2.6.1 minimist: 1.2.8 - oxc-parser: 0.120.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) - oxc-resolver: 11.19.1(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + oxc-parser: 0.120.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + oxc-resolver: 11.19.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) picocolors: 1.1.1 picomatch: 4.0.4 smol-toml: 1.6.0 @@ -19991,33 +20457,33 @@ snapshots: linkifyjs@4.3.2: {} - listhen@1.9.0: + listhen@1.10.0: dependencies: - '@parcel/watcher': 2.5.4 - '@parcel/watcher-wasm': 2.5.4 - citty: 0.1.6 - clipboardy: 4.0.0 + '@parcel/watcher': 2.5.6 + '@parcel/watcher-wasm': 2.5.6 + citty: 0.2.2 consola: 3.4.2 crossws: 0.3.5 - defu: 6.1.4 + defu: 6.1.7 get-port-please: 3.2.0 - h3: 1.15.8 + h3: 1.15.11 http-shutdown: 1.2.2 jiti: 2.6.1 - mlly: 1.8.1 - node-forge: 1.3.3 - pathe: 1.1.2 - std-env: 3.10.0 - ufo: 1.6.3 + mlly: 1.8.2 + node-forge: 1.4.0 + pathe: 2.0.3 + std-env: 4.1.0 + tinyclip: 0.1.12 + ufo: 1.6.4 untun: 0.1.3 - uqr: 0.1.2 + uqr: 0.1.3 loader-runner@4.3.1: {} local-pkg@1.1.2: dependencies: - mlly: 1.8.1 - pkg-types: 2.3.0 + mlly: 1.8.2 + pkg-types: 2.3.1 quansync: 0.2.11 locate-path@6.0.0: @@ -20060,7 +20526,7 @@ snapshots: dependencies: estree-walker: 3.0.3 magic-string: 0.30.21 - mlly: 1.8.1 + mlly: 1.8.2 regexp-tree: 0.1.27 type-level-regexp: 0.1.17 ufo: 1.6.3 @@ -20080,7 +20546,7 @@ snapshots: magicast@0.5.2: dependencies: - '@babel/parser': 7.29.2 + '@babel/parser': 7.29.3 '@babel/types': 7.29.0 source-map-js: 1.2.1 @@ -20502,7 +20968,7 @@ snapshots: mkdirp-classic@0.5.3: {} - mlly@1.8.1: + mlly@1.8.2: dependencies: acorn: 8.16.0 pathe: 2.0.3 @@ -20511,8 +20977,6 @@ snapshots: mocked-exports@0.1.1: {} - module-replacements@2.11.0: {} - module-replacements@3.0.0-beta.7: {} motion-dom@12.34.3: @@ -20521,13 +20985,13 @@ snapshots: motion-utils@12.29.2: {} - motion-v@1.10.3(@vueuse/core@14.2.1)(react-dom@19.2.4)(react@19.2.4)(vue@3.5.33): + motion-v@1.10.3(@vueuse/core@14.3.0)(react-dom@19.2.4)(react@19.2.4)(vue@3.5.34): dependencies: - '@vueuse/core': 14.2.1(vue@3.5.33) + '@vueuse/core': 14.3.0(vue@3.5.34) framer-motion: 12.34.3(react-dom@19.2.4)(react@19.2.4) hey-listen: 1.0.8 motion-dom: 12.34.3 - vue: 3.5.33(typescript@6.0.2) + vue: 3.5.34(typescript@6.0.2) transitivePeerDependencies: - '@emotion/is-prop-valid' - react @@ -20589,77 +21053,77 @@ snapshots: neotraverse@0.6.18: {} - nitropack@2.13.1(@upstash/redis@1.37.0)(better-sqlite3@12.8.0)(encoding@0.1.13)(rolldown@1.0.0-rc.16): + nitropack@2.13.4(@upstash/redis@1.37.0)(better-sqlite3@12.8.0)(encoding@0.1.13)(oxc-parser@0.128.0)(rolldown@1.0.0-rc.16): dependencies: '@cloudflare/kv-asset-handler': 0.4.2 - '@rollup/plugin-alias': 6.0.0(rollup@4.56.0) - '@rollup/plugin-commonjs': 29.0.0(rollup@4.56.0) - '@rollup/plugin-inject': 5.0.5(rollup@4.56.0) - '@rollup/plugin-json': 6.1.0(rollup@4.56.0) - '@rollup/plugin-node-resolve': 16.0.3(rollup@4.56.0) - '@rollup/plugin-replace': 6.0.3(rollup@4.56.0) - '@rollup/plugin-terser': 0.4.4(rollup@4.56.0) - '@vercel/nft': 1.3.0(encoding@0.1.13)(rollup@4.56.0) + '@rollup/plugin-alias': 6.0.0(rollup@4.60.3) + '@rollup/plugin-commonjs': 29.0.2(rollup@4.60.3) + '@rollup/plugin-inject': 5.0.5(rollup@4.60.3) + '@rollup/plugin-json': 6.1.0(rollup@4.60.3) + '@rollup/plugin-node-resolve': 16.0.3(rollup@4.60.3) + '@rollup/plugin-replace': 6.0.3(rollup@4.60.3) + '@rollup/plugin-terser': 1.0.0(rollup@4.60.3) + '@vercel/nft': 1.5.0(encoding@0.1.13)(rollup@4.60.3) archiver: 7.0.1 c12: 3.3.4(magicast@0.5.2) chokidar: 5.0.0 - citty: 0.1.6 + citty: 0.2.2 compatx: 0.2.0 confbox: 0.2.4 consola: 3.4.2 - cookie-es: 2.0.0 - croner: 9.1.0 + cookie-es: 2.0.1 + croner: 10.0.1 crossws: 0.3.5 db0: 0.3.4(better-sqlite3@12.8.0) - defu: 6.1.4 + defu: 6.1.7 destr: 2.0.5 dot-prop: 10.1.0 - esbuild: 0.27.3 + esbuild: 0.28.0 escape-string-regexp: 5.0.0 etag: 1.8.1 exsolve: 1.0.8 - globby: 16.1.0 + globby: 16.2.0 gzip-size: 7.0.0 - h3: 1.15.8 + h3: 1.15.11 hookable: 5.5.3 - httpxy: 0.1.7 - ioredis: 5.9.2 + httpxy: 0.5.1 + ioredis: 5.10.1 jiti: 2.6.1 klona: 2.0.6 knitwork: 1.3.0 - listhen: 1.9.0 + listhen: 1.10.0 magic-string: 0.30.21 magicast: 0.5.2 mime: 4.1.0 - mlly: 1.8.1 + 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.0 + pkg-types: 2.3.1 pretty-bytes: 7.1.0 radix3: 1.1.2 - rollup: 4.56.0 - rollup-plugin-visualizer: 6.0.5(rolldown@1.0.0-rc.16)(rollup@4.56.0) + rollup: 4.60.3 + rollup-plugin-visualizer: 7.0.1(rolldown@1.0.0-rc.16)(rollup@4.60.3) scule: 1.3.0 semver: 7.7.4 serve-placeholder: 2.0.2 serve-static: 2.2.1 source-map: 0.7.6 - std-env: 3.10.0 - ufo: 1.6.3 + 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: 5.6.0 + unimport: 6.2.0(oxc-parser@0.128.0) unplugin-utils: 0.3.1 - unstorage: 1.17.5(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.9.2) + unstorage: 1.17.5(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.10.1) untyped: 2.0.0 unwasm: 0.5.3 - youch: 4.1.0 + youch: 4.1.1 youch-core: 0.3.3 transitivePeerDependencies: - '@azure/app-configuration' @@ -20685,6 +21149,7 @@ snapshots: - encoding - idb-keyval - mysql2 + - oxc-parser - react-native-b4a - rolldown - sqlite3 @@ -20712,13 +21177,13 @@ snapshots: optionalDependencies: encoding: 0.1.13 - node-forge@1.3.3: {} + node-forge@1.4.0: {} node-gyp-build@4.8.4: {} node-mock-http@1.0.4: {} - node-releases@2.0.27: {} + node-releases@2.0.38: {} nopt@7.2.1: dependencies: @@ -20745,9 +21210,9 @@ snapshots: nuxt-component-meta@0.17.2(magicast@0.5.2): dependencies: - '@nuxt/kit': 4.4.2(magicast@0.5.2) + '@nuxt/kit': 4.4.4(magicast@0.5.2) citty: 0.1.6 - mlly: 1.8.1 + mlly: 1.8.2 ohash: 2.0.11 scule: 1.3.0 typescript: 5.9.3 @@ -20760,16 +21225,16 @@ snapshots: nuxt-llms@0.2.0(magicast@0.5.2): dependencies: - '@nuxt/kit': 4.4.2(magicast@0.5.2) + '@nuxt/kit': 4.4.4(magicast@0.5.2) transitivePeerDependencies: - magicast - nuxt-og-image@6.4.3(@nuxt/schema@4.4.2)(@resvg/resvg-js@2.6.2)(@resvg/resvg-wasm@2.6.2)(@takumi-rs/core@1.0.9)(@takumi-rs/wasm@1.0.9)(@unhead/vue@2.1.12)(fontless@0.2.1)(nuxt@4.4.2)(playwright-core@1.58.2)(satori@0.19.2)(sharp@0.34.5)(tailwindcss@4.2.2)(unifont@0.7.4)(unstorage@1.17.5)(vite@8.0.0)(vue@3.5.33)(zod@4.3.6): + nuxt-og-image@6.4.3(@nuxt/schema@4.4.4)(@resvg/resvg-js@2.6.2)(@resvg/resvg-wasm@2.6.2)(@takumi-rs/core@1.0.9)(@takumi-rs/wasm@1.0.9)(@unhead/vue@2.1.13)(fontless@0.2.1)(nuxt@4.4.4)(playwright-core@1.58.2)(satori@0.19.2)(sharp@0.34.5)(tailwindcss@4.2.2)(unifont@0.7.4)(unstorage@1.17.5)(vite@8.0.0)(vue@3.5.34)(zod@4.3.6): dependencies: '@clack/prompts': 1.2.0 - '@nuxt/kit': 4.4.2(magicast@0.5.2) - '@unhead/vue': 2.1.12(vue@3.5.33) - '@vue/compiler-sfc': 3.5.33 + '@nuxt/kit': 4.4.4(magicast@0.5.2) + '@unhead/vue': 2.1.13(vue@3.5.34) + '@vue/compiler-sfc': 3.5.34 chrome-launcher: 1.2.1 consola: 3.4.2 culori: 4.0.2 @@ -20780,15 +21245,15 @@ snapshots: magic-string: 0.30.21 magicast: 0.5.2 mocked-exports: 0.1.1 - nuxt-site-config: 4.0.8(@nuxt/schema@4.4.2)(magicast@0.5.2)(nuxt@4.4.2)(vite@8.0.0)(vue@3.5.33)(zod@4.3.6) - nuxtseo-shared: 5.1.3(@nuxt/schema@4.4.2)(magicast@0.5.2)(nuxt-site-config@4.0.8)(nuxt@4.4.2)(vite@8.0.0)(vue@3.5.33)(zod@4.3.6) + nuxt-site-config: 4.0.8(@nuxt/schema@4.4.4)(magicast@0.5.2)(nuxt@4.4.4)(vite@8.0.0)(vue@3.5.34)(zod@4.3.6) + nuxtseo-shared: 5.1.3(@nuxt/schema@4.4.4)(magicast@0.5.2)(nuxt-site-config@4.0.8)(nuxt@4.4.4)(vite@8.0.0)(vue@3.5.34)(zod@4.3.6) nypm: 0.6.6 ofetch: 1.5.1 ohash: 2.0.11 oxc-parser: 0.126.0 oxc-walker: 0.7.0(oxc-parser@0.126.0) pathe: 2.0.3 - pkg-types: 2.3.0 + pkg-types: 2.3.1 radix3: 1.1.2 std-env: 4.1.0 strip-literal: 3.1.0 @@ -20797,13 +21262,13 @@ snapshots: ufo: 1.6.3 ultrahtml: 1.6.0 unplugin: 3.0.0 - unstorage: 1.17.5(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.9.2) + unstorage: 1.17.5(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.10.1) optionalDependencies: '@resvg/resvg-js': 2.6.2 '@resvg/resvg-wasm': 2.6.2 '@takumi-rs/core': 1.0.9(react-dom@19.2.4)(react@19.2.4) '@takumi-rs/wasm': 1.0.9(react-dom@19.2.4)(react@19.2.4) - fontless: 0.2.1(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.9.2)(vite@8.0.0) + fontless: 0.2.1(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.10.1)(vite@8.0.0) playwright-core: 1.58.2 satori: 0.19.2 sharp: 0.34.5 @@ -20817,52 +21282,52 @@ snapshots: - vue - zod - nuxt-site-config-kit@3.2.21(magicast@0.5.2)(vue@3.5.33): + nuxt-site-config-kit@3.2.21(magicast@0.5.2)(vue@3.5.34): dependencies: - '@nuxt/kit': 4.4.2(magicast@0.5.2) - pkg-types: 2.3.0 - site-config-stack: 3.2.21(vue@3.5.33) + '@nuxt/kit': 4.4.4(magicast@0.5.2) + pkg-types: 2.3.1 + site-config-stack: 3.2.21(vue@3.5.34) std-env: 3.10.0 ufo: 1.6.3 transitivePeerDependencies: - magicast - vue - nuxt-site-config-kit@4.0.8(magicast@0.5.2)(vue@3.5.33): + nuxt-site-config-kit@4.0.8(magicast@0.5.2)(vue@3.5.34): dependencies: - '@nuxt/kit': 4.4.2(magicast@0.5.2) - site-config-stack: 4.0.8(vue@3.5.33) + '@nuxt/kit': 4.4.4(magicast@0.5.2) + site-config-stack: 4.0.8(vue@3.5.34) std-env: 4.0.0 ufo: 1.6.3 transitivePeerDependencies: - magicast - vue - nuxt-site-config@3.2.21(magicast@0.5.2)(vite@8.0.0)(vue@3.5.33): + nuxt-site-config@3.2.21(magicast@0.5.2)(vite@8.0.0)(vue@3.5.34): dependencies: '@nuxt/devtools-kit': 3.2.4(magicast@0.5.2)(vite@8.0.0) - '@nuxt/kit': 4.4.2(magicast@0.5.2) + '@nuxt/kit': 4.4.4(magicast@0.5.2) h3: 1.15.8 - nuxt-site-config-kit: 3.2.21(magicast@0.5.2)(vue@3.5.33) + nuxt-site-config-kit: 3.2.21(magicast@0.5.2)(vue@3.5.34) pathe: 2.0.3 - pkg-types: 2.3.0 + pkg-types: 2.3.1 sirv: 3.0.2 - site-config-stack: 3.2.21(vue@3.5.33) + site-config-stack: 3.2.21(vue@3.5.34) ufo: 1.6.3 transitivePeerDependencies: - magicast - vite - vue - nuxt-site-config@4.0.8(@nuxt/schema@4.4.2)(magicast@0.5.2)(nuxt@4.4.2)(vite@8.0.0)(vue@3.5.33)(zod@4.3.6): + nuxt-site-config@4.0.8(@nuxt/schema@4.4.4)(magicast@0.5.2)(nuxt@4.4.4)(vite@8.0.0)(vue@3.5.34)(zod@4.3.6): dependencies: - '@nuxt/kit': 4.4.2(magicast@0.5.2) + '@nuxt/kit': 4.4.4(magicast@0.5.2) h3: 1.15.11 - nuxt-site-config-kit: 4.0.8(magicast@0.5.2)(vue@3.5.33) - nuxtseo-shared: 5.1.3(@nuxt/schema@4.4.2)(magicast@0.5.2)(nuxt-site-config@4.0.8)(nuxt@4.4.2)(vite@8.0.0)(vue@3.5.33)(zod@4.3.6) + nuxt-site-config-kit: 4.0.8(magicast@0.5.2)(vue@3.5.34) + nuxtseo-shared: 5.1.3(@nuxt/schema@4.4.4)(magicast@0.5.2)(nuxt-site-config@4.0.8)(nuxt@4.4.4)(vite@8.0.0)(vue@3.5.34)(zod@4.3.6) pathe: 2.0.3 - pkg-types: 2.3.0 - site-config-stack: 4.0.8(vue@3.5.33) + pkg-types: 2.3.1 + site-config-stack: 4.0.8(vue@3.5.34) ufo: 1.6.3 transitivePeerDependencies: - '@nuxt/schema' @@ -20872,25 +21337,24 @@ snapshots: - vue - zod - nuxt@4.4.2(@babel/core@7.29.0)(@babel/plugin-syntax-jsx@7.28.6)(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@parcel/watcher@2.5.4)(@types/node@24.12.0)(@upstash/redis@1.37.0)(@vue/compiler-sfc@3.5.33)(better-sqlite3@12.8.0)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(esbuild@0.27.3)(eslint@9.39.2)(ioredis@5.9.2)(magicast@0.5.2)(optionator@0.9.4)(oxlint@1.58.0)(rolldown@1.0.0-rc.16)(rollup-plugin-visualizer@6.0.5)(rollup@4.56.0)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(vue-tsc@3.2.6)(yaml@2.8.2): - dependencies: - '@dxup/nuxt': 0.4.0(magicast@0.5.2)(typescript@6.0.2) - '@nuxt/cli': 3.34.0(@nuxt/schema@4.4.2)(cac@6.7.14)(magicast@0.5.2) - '@nuxt/devtools': 3.2.3(vite@8.0.0)(vue@3.5.33) - '@nuxt/kit': 4.4.2(magicast@0.5.2) - '@nuxt/nitro-server': 4.4.2(@babel/core@7.29.0)(@upstash/redis@1.37.0)(better-sqlite3@12.8.0)(db0@0.3.4)(encoding@0.1.13)(ioredis@5.9.2)(magicast@0.5.2)(nuxt@4.4.2)(rolldown@1.0.0-rc.16)(typescript@6.0.2) - '@nuxt/schema': 4.4.2 - '@nuxt/telemetry': 2.7.0(@nuxt/kit@4.4.2) - '@nuxt/vite-builder': 4.4.2(@babel/plugin-syntax-jsx@7.28.6)(@types/node@24.12.0)(esbuild@0.27.3)(eslint@9.39.2)(magicast@0.5.2)(nuxt@4.4.2)(optionator@0.9.4)(oxlint@1.58.0)(rolldown@1.0.0-rc.16)(rollup-plugin-visualizer@6.0.5)(rollup@4.56.0)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vue-tsc@3.2.6)(vue@3.5.33)(yaml@2.8.2) - '@unhead/vue': 2.1.12(vue@3.5.33) - '@vue/shared': 3.5.33 - c12: 3.3.4(magicast@0.5.2) + nuxt@4.4.4(@babel/core@7.29.0)(@babel/plugin-syntax-jsx@7.28.6)(@parcel/watcher@2.5.6)(@types/node@24.12.0)(@upstash/redis@1.37.0)(@vue/compiler-sfc@3.5.34)(better-sqlite3@12.8.0)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(eslint@9.39.2)(ioredis@5.10.1)(magicast@0.5.2)(optionator@0.9.4)(oxlint@1.61.0)(rolldown@1.0.0-rc.16)(rollup-plugin-visualizer@7.0.1)(rollup@4.60.3)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(vue-tsc@3.2.6)(yaml@2.8.2): + dependencies: + '@dxup/nuxt': 0.4.1(magicast@0.5.2)(typescript@6.0.2) + '@nuxt/cli': 3.35.1(@nuxt/schema@4.4.4)(cac@6.7.14)(magicast@0.5.2) + '@nuxt/devtools': 3.2.4(vite@8.0.0)(vue@3.5.34) + '@nuxt/kit': 4.4.4(magicast@0.5.2) + '@nuxt/nitro-server': 4.4.4(@babel/core@7.29.0)(@upstash/redis@1.37.0)(better-sqlite3@12.8.0)(db0@0.3.4)(encoding@0.1.13)(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.4)(oxc-parser@0.128.0)(rolldown@1.0.0-rc.16)(typescript@6.0.2) + '@nuxt/schema': 4.4.4 + '@nuxt/telemetry': 2.8.0(@nuxt/kit@4.4.4) + '@nuxt/vite-builder': 4.4.4(@babel/plugin-syntax-jsx@7.28.6)(@types/node@24.12.0)(eslint@9.39.2)(magicast@0.5.2)(nuxt@4.4.4)(optionator@0.9.4)(oxlint@1.61.0)(rolldown@1.0.0-rc.16)(rollup-plugin-visualizer@7.0.1)(rollup@4.60.3)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vue-tsc@3.2.6)(vue@3.5.34)(yaml@2.8.2) + '@unhead/vue': 2.1.13(vue@3.5.34) + '@vue/shared': 3.5.34 chokidar: 5.0.0 compatx: 0.2.0 consola: 3.4.2 - cookie-es: 2.0.0 - defu: 6.1.4 - devalue: 5.6.4 + cookie-es: 2.0.1 + defu: 6.1.7 + devalue: 5.7.1 errx: 0.1.0 escape-string-regexp: 5.0.0 exsolve: 1.0.8 @@ -20901,37 +21365,37 @@ snapshots: klona: 2.0.6 knitwork: 1.3.0 magic-string: 0.30.21 - mlly: 1.8.1 + mlly: 1.8.2 nanotar: 0.3.0 nypm: 0.6.6 ofetch: 1.5.1 ohash: 2.0.11 on-change: 6.0.2 - oxc-minify: 0.117.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) - oxc-parser: 0.117.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) - oxc-transform: 0.117.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) - oxc-walker: 0.7.0(oxc-parser@0.117.0) + oxc-minify: 0.128.0 + oxc-parser: 0.128.0 + oxc-transform: 0.128.0 + oxc-walker: 0.7.0(oxc-parser@0.128.0) pathe: 2.0.3 perfect-debounce: 2.1.0 picomatch: 4.0.4 - pkg-types: 2.3.0 + pkg-types: 2.3.1 rou3: 0.8.1 scule: 1.3.0 semver: 7.7.4 - std-env: 4.0.0 + std-env: 4.1.0 tinyglobby: 0.2.16 - ufo: 1.6.3 + ufo: 1.6.4 ultrahtml: 1.6.0 uncrypto: 0.1.3 unctx: 2.5.0 - unimport: 6.0.1 + unimport: 6.2.0(oxc-parser@0.128.0) unplugin: 3.0.0 unrouting: 0.1.7 untyped: 2.0.0 - vue: 3.5.33(typescript@6.0.2) - vue-router: 5.0.4(@vue/compiler-sfc@3.5.33)(vue@3.5.33) + vue: 3.5.34(typescript@6.0.2) + vue-router: 5.0.4(@vue/compiler-sfc@3.5.34)(vue@3.5.34) optionalDependencies: - '@parcel/watcher': 2.5.4 + '@parcel/watcher': 2.5.6 '@types/node': 24.12.0 transitivePeerDependencies: - '@arethetypeswrong/core' @@ -20948,8 +21412,6 @@ snapshots: - '@capacitor/preferences' - '@deno/kv' - '@electric-sql/pglite' - - '@emnapi/core' - - '@emnapi/runtime' - '@libsql/client' - '@netlify/blobs' - '@pinia/colada' @@ -21008,26 +21470,26 @@ snapshots: - xml2js - yaml - nuxtseo-shared@5.1.3(@nuxt/schema@4.4.2)(magicast@0.5.2)(nuxt-site-config@4.0.8)(nuxt@4.4.2)(vite@8.0.0)(vue@3.5.33)(zod@4.3.6): + nuxtseo-shared@5.1.3(@nuxt/schema@4.4.4)(magicast@0.5.2)(nuxt-site-config@4.0.8)(nuxt@4.4.4)(vite@8.0.0)(vue@3.5.34)(zod@4.3.6): dependencies: '@clack/prompts': 1.2.0 '@nuxt/devtools-kit': 4.0.0-alpha.3(magicast@0.5.2)(vite@8.0.0) - '@nuxt/kit': 4.4.2(magicast@0.5.2) - '@nuxt/schema': 4.4.2 + '@nuxt/kit': 4.4.4(magicast@0.5.2) + '@nuxt/schema': 4.4.4 birpc: 4.0.0 consola: 3.4.2 defu: 6.1.7 - nuxt: 4.4.2(@babel/core@7.29.0)(@babel/plugin-syntax-jsx@7.28.6)(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@parcel/watcher@2.5.4)(@types/node@24.12.0)(@upstash/redis@1.37.0)(@vue/compiler-sfc@3.5.33)(better-sqlite3@12.8.0)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(esbuild@0.27.3)(eslint@9.39.2)(ioredis@5.9.2)(magicast@0.5.2)(optionator@0.9.4)(oxlint@1.58.0)(rolldown@1.0.0-rc.16)(rollup-plugin-visualizer@6.0.5)(rollup@4.56.0)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(vue-tsc@3.2.6)(yaml@2.8.2) + nuxt: 4.4.4(@babel/core@7.29.0)(@babel/plugin-syntax-jsx@7.28.6)(@parcel/watcher@2.5.6)(@types/node@24.12.0)(@upstash/redis@1.37.0)(@vue/compiler-sfc@3.5.34)(better-sqlite3@12.8.0)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(eslint@9.39.2)(ioredis@5.10.1)(magicast@0.5.2)(optionator@0.9.4)(oxlint@1.61.0)(rolldown@1.0.0-rc.16)(rollup-plugin-visualizer@7.0.1)(rollup@4.60.3)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(vue-tsc@3.2.6)(yaml@2.8.2) ofetch: 1.5.1 pathe: 2.0.3 - pkg-types: 2.3.0 + pkg-types: 2.3.1 radix3: 1.1.2 sirv: 3.0.2 std-env: 4.0.0 ufo: 1.6.3 - vue: 3.5.33(typescript@6.0.2) + vue: 3.5.34(typescript@6.0.2) optionalDependencies: - nuxt-site-config: 4.0.8(@nuxt/schema@4.4.2)(magicast@0.5.2)(nuxt@4.4.2)(vite@8.0.0)(vue@3.5.33)(zod@4.3.6) + nuxt-site-config: 4.0.8(@nuxt/schema@4.4.4)(magicast@0.5.2)(nuxt@4.4.4)(vite@8.0.0)(vue@3.5.34)(zod@4.3.6) zod: 4.3.6 transitivePeerDependencies: - magicast @@ -21097,11 +21559,14 @@ snapshots: is-inside-container: 1.0.0 wsl-utils: 0.1.0 - open@8.4.2: + open@11.0.0: dependencies: - define-lazy-prop: 2.0.0 - is-docker: 2.2.1 - is-wsl: 2.2.0 + default-browser: 5.4.0 + define-lazy-prop: 3.0.0 + is-in-ssh: 1.0.0 + is-inside-container: 1.0.0 + powershell-utils: 0.1.0 + wsl-utils: 0.3.1 optionator@0.9.4: dependencies: @@ -21122,33 +21587,30 @@ snapshots: object-keys: 1.1.1 safe-push-apply: 1.0.0 - oxc-minify@0.117.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2): + oxc-minify@0.128.0: optionalDependencies: - '@oxc-minify/binding-android-arm-eabi': 0.117.0 - '@oxc-minify/binding-android-arm64': 0.117.0 - '@oxc-minify/binding-darwin-arm64': 0.117.0 - '@oxc-minify/binding-darwin-x64': 0.117.0 - '@oxc-minify/binding-freebsd-x64': 0.117.0 - '@oxc-minify/binding-linux-arm-gnueabihf': 0.117.0 - '@oxc-minify/binding-linux-arm-musleabihf': 0.117.0 - '@oxc-minify/binding-linux-arm64-gnu': 0.117.0 - '@oxc-minify/binding-linux-arm64-musl': 0.117.0 - '@oxc-minify/binding-linux-ppc64-gnu': 0.117.0 - '@oxc-minify/binding-linux-riscv64-gnu': 0.117.0 - '@oxc-minify/binding-linux-riscv64-musl': 0.117.0 - '@oxc-minify/binding-linux-s390x-gnu': 0.117.0 - '@oxc-minify/binding-linux-x64-gnu': 0.117.0 - '@oxc-minify/binding-linux-x64-musl': 0.117.0 - '@oxc-minify/binding-openharmony-arm64': 0.117.0 - '@oxc-minify/binding-wasm32-wasi': 0.117.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) - '@oxc-minify/binding-win32-arm64-msvc': 0.117.0 - '@oxc-minify/binding-win32-ia32-msvc': 0.117.0 - '@oxc-minify/binding-win32-x64-msvc': 0.117.0 - transitivePeerDependencies: - - '@emnapi/core' - - '@emnapi/runtime' - - oxc-parser@0.112.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2): + '@oxc-minify/binding-android-arm-eabi': 0.128.0 + '@oxc-minify/binding-android-arm64': 0.128.0 + '@oxc-minify/binding-darwin-arm64': 0.128.0 + '@oxc-minify/binding-darwin-x64': 0.128.0 + '@oxc-minify/binding-freebsd-x64': 0.128.0 + '@oxc-minify/binding-linux-arm-gnueabihf': 0.128.0 + '@oxc-minify/binding-linux-arm-musleabihf': 0.128.0 + '@oxc-minify/binding-linux-arm64-gnu': 0.128.0 + '@oxc-minify/binding-linux-arm64-musl': 0.128.0 + '@oxc-minify/binding-linux-ppc64-gnu': 0.128.0 + '@oxc-minify/binding-linux-riscv64-gnu': 0.128.0 + '@oxc-minify/binding-linux-riscv64-musl': 0.128.0 + '@oxc-minify/binding-linux-s390x-gnu': 0.128.0 + '@oxc-minify/binding-linux-x64-gnu': 0.128.0 + '@oxc-minify/binding-linux-x64-musl': 0.128.0 + '@oxc-minify/binding-openharmony-arm64': 0.128.0 + '@oxc-minify/binding-wasm32-wasi': 0.128.0 + '@oxc-minify/binding-win32-arm64-msvc': 0.128.0 + '@oxc-minify/binding-win32-ia32-msvc': 0.128.0 + '@oxc-minify/binding-win32-x64-msvc': 0.128.0 + + oxc-parser@0.112.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0): dependencies: '@oxc-project/types': 0.112.0 optionalDependencies: @@ -21168,7 +21630,7 @@ snapshots: '@oxc-parser/binding-linux-x64-gnu': 0.112.0 '@oxc-parser/binding-linux-x64-musl': 0.112.0 '@oxc-parser/binding-openharmony-arm64': 0.112.0 - '@oxc-parser/binding-wasm32-wasi': 0.112.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + '@oxc-parser/binding-wasm32-wasi': 0.112.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) '@oxc-parser/binding-win32-arm64-msvc': 0.112.0 '@oxc-parser/binding-win32-ia32-msvc': 0.112.0 '@oxc-parser/binding-win32-x64-msvc': 0.112.0 @@ -21176,7 +21638,7 @@ snapshots: - '@emnapi/core' - '@emnapi/runtime' - oxc-parser@0.115.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2): + oxc-parser@0.115.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0): dependencies: '@oxc-project/types': 0.115.0 optionalDependencies: @@ -21196,7 +21658,7 @@ snapshots: '@oxc-parser/binding-linux-x64-gnu': 0.115.0 '@oxc-parser/binding-linux-x64-musl': 0.115.0 '@oxc-parser/binding-openharmony-arm64': 0.115.0 - '@oxc-parser/binding-wasm32-wasi': 0.115.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + '@oxc-parser/binding-wasm32-wasi': 0.115.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) '@oxc-parser/binding-win32-arm64-msvc': 0.115.0 '@oxc-parser/binding-win32-ia32-msvc': 0.115.0 '@oxc-parser/binding-win32-x64-msvc': 0.115.0 @@ -21204,35 +21666,7 @@ snapshots: - '@emnapi/core' - '@emnapi/runtime' - oxc-parser@0.117.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2): - dependencies: - '@oxc-project/types': 0.117.0 - optionalDependencies: - '@oxc-parser/binding-android-arm-eabi': 0.117.0 - '@oxc-parser/binding-android-arm64': 0.117.0 - '@oxc-parser/binding-darwin-arm64': 0.117.0 - '@oxc-parser/binding-darwin-x64': 0.117.0 - '@oxc-parser/binding-freebsd-x64': 0.117.0 - '@oxc-parser/binding-linux-arm-gnueabihf': 0.117.0 - '@oxc-parser/binding-linux-arm-musleabihf': 0.117.0 - '@oxc-parser/binding-linux-arm64-gnu': 0.117.0 - '@oxc-parser/binding-linux-arm64-musl': 0.117.0 - '@oxc-parser/binding-linux-ppc64-gnu': 0.117.0 - '@oxc-parser/binding-linux-riscv64-gnu': 0.117.0 - '@oxc-parser/binding-linux-riscv64-musl': 0.117.0 - '@oxc-parser/binding-linux-s390x-gnu': 0.117.0 - '@oxc-parser/binding-linux-x64-gnu': 0.117.0 - '@oxc-parser/binding-linux-x64-musl': 0.117.0 - '@oxc-parser/binding-openharmony-arm64': 0.117.0 - '@oxc-parser/binding-wasm32-wasi': 0.117.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) - '@oxc-parser/binding-win32-arm64-msvc': 0.117.0 - '@oxc-parser/binding-win32-ia32-msvc': 0.117.0 - '@oxc-parser/binding-win32-x64-msvc': 0.117.0 - transitivePeerDependencies: - - '@emnapi/core' - - '@emnapi/runtime' - - oxc-parser@0.120.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2): + oxc-parser@0.120.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0): dependencies: '@oxc-project/types': 0.120.0 optionalDependencies: @@ -21252,7 +21686,7 @@ snapshots: '@oxc-parser/binding-linux-x64-gnu': 0.120.0 '@oxc-parser/binding-linux-x64-musl': 0.120.0 '@oxc-parser/binding-openharmony-arm64': 0.120.0 - '@oxc-parser/binding-wasm32-wasi': 0.120.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + '@oxc-parser/binding-wasm32-wasi': 0.120.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) '@oxc-parser/binding-win32-arm64-msvc': 0.120.0 '@oxc-parser/binding-win32-ia32-msvc': 0.120.0 '@oxc-parser/binding-win32-x64-msvc': 0.120.0 @@ -21285,7 +21719,32 @@ snapshots: '@oxc-parser/binding-win32-ia32-msvc': 0.126.0 '@oxc-parser/binding-win32-x64-msvc': 0.126.0 - oxc-resolver@11.19.1(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2): + oxc-parser@0.128.0: + dependencies: + '@oxc-project/types': 0.128.0 + optionalDependencies: + '@oxc-parser/binding-android-arm-eabi': 0.128.0 + '@oxc-parser/binding-android-arm64': 0.128.0 + '@oxc-parser/binding-darwin-arm64': 0.128.0 + '@oxc-parser/binding-darwin-x64': 0.128.0 + '@oxc-parser/binding-freebsd-x64': 0.128.0 + '@oxc-parser/binding-linux-arm-gnueabihf': 0.128.0 + '@oxc-parser/binding-linux-arm-musleabihf': 0.128.0 + '@oxc-parser/binding-linux-arm64-gnu': 0.128.0 + '@oxc-parser/binding-linux-arm64-musl': 0.128.0 + '@oxc-parser/binding-linux-ppc64-gnu': 0.128.0 + '@oxc-parser/binding-linux-riscv64-gnu': 0.128.0 + '@oxc-parser/binding-linux-riscv64-musl': 0.128.0 + '@oxc-parser/binding-linux-s390x-gnu': 0.128.0 + '@oxc-parser/binding-linux-x64-gnu': 0.128.0 + '@oxc-parser/binding-linux-x64-musl': 0.128.0 + '@oxc-parser/binding-openharmony-arm64': 0.128.0 + '@oxc-parser/binding-wasm32-wasi': 0.128.0 + '@oxc-parser/binding-win32-arm64-msvc': 0.128.0 + '@oxc-parser/binding-win32-ia32-msvc': 0.128.0 + '@oxc-parser/binding-win32-x64-msvc': 0.128.0 + + oxc-resolver@11.19.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0): optionalDependencies: '@oxc-resolver/binding-android-arm-eabi': 11.19.1 '@oxc-resolver/binding-android-arm64': 11.19.1 @@ -21303,7 +21762,7 @@ snapshots: '@oxc-resolver/binding-linux-x64-gnu': 11.19.1 '@oxc-resolver/binding-linux-x64-musl': 11.19.1 '@oxc-resolver/binding-openharmony-arm64': 11.19.1 - '@oxc-resolver/binding-wasm32-wasi': 11.19.1(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + '@oxc-resolver/binding-wasm32-wasi': 11.19.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) '@oxc-resolver/binding-win32-arm64-msvc': 11.19.1 '@oxc-resolver/binding-win32-ia32-msvc': 11.19.1 '@oxc-resolver/binding-win32-x64-msvc': 11.19.1 @@ -21311,7 +21770,7 @@ snapshots: - '@emnapi/core' - '@emnapi/runtime' - oxc-transform@0.112.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2): + oxc-transform@0.112.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0): optionalDependencies: '@oxc-transform/binding-android-arm-eabi': 0.112.0 '@oxc-transform/binding-android-arm64': 0.112.0 @@ -21329,7 +21788,7 @@ snapshots: '@oxc-transform/binding-linux-x64-gnu': 0.112.0 '@oxc-transform/binding-linux-x64-musl': 0.112.0 '@oxc-transform/binding-openharmony-arm64': 0.112.0 - '@oxc-transform/binding-wasm32-wasi': 0.112.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + '@oxc-transform/binding-wasm32-wasi': 0.112.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) '@oxc-transform/binding-win32-arm64-msvc': 0.112.0 '@oxc-transform/binding-win32-ia32-msvc': 0.112.0 '@oxc-transform/binding-win32-x64-msvc': 0.112.0 @@ -21337,51 +21796,48 @@ snapshots: - '@emnapi/core' - '@emnapi/runtime' - oxc-transform@0.117.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2): + oxc-transform@0.128.0: optionalDependencies: - '@oxc-transform/binding-android-arm-eabi': 0.117.0 - '@oxc-transform/binding-android-arm64': 0.117.0 - '@oxc-transform/binding-darwin-arm64': 0.117.0 - '@oxc-transform/binding-darwin-x64': 0.117.0 - '@oxc-transform/binding-freebsd-x64': 0.117.0 - '@oxc-transform/binding-linux-arm-gnueabihf': 0.117.0 - '@oxc-transform/binding-linux-arm-musleabihf': 0.117.0 - '@oxc-transform/binding-linux-arm64-gnu': 0.117.0 - '@oxc-transform/binding-linux-arm64-musl': 0.117.0 - '@oxc-transform/binding-linux-ppc64-gnu': 0.117.0 - '@oxc-transform/binding-linux-riscv64-gnu': 0.117.0 - '@oxc-transform/binding-linux-riscv64-musl': 0.117.0 - '@oxc-transform/binding-linux-s390x-gnu': 0.117.0 - '@oxc-transform/binding-linux-x64-gnu': 0.117.0 - '@oxc-transform/binding-linux-x64-musl': 0.117.0 - '@oxc-transform/binding-openharmony-arm64': 0.117.0 - '@oxc-transform/binding-wasm32-wasi': 0.117.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) - '@oxc-transform/binding-win32-arm64-msvc': 0.117.0 - '@oxc-transform/binding-win32-ia32-msvc': 0.117.0 - '@oxc-transform/binding-win32-x64-msvc': 0.117.0 - transitivePeerDependencies: - - '@emnapi/core' - - '@emnapi/runtime' + '@oxc-transform/binding-android-arm-eabi': 0.128.0 + '@oxc-transform/binding-android-arm64': 0.128.0 + '@oxc-transform/binding-darwin-arm64': 0.128.0 + '@oxc-transform/binding-darwin-x64': 0.128.0 + '@oxc-transform/binding-freebsd-x64': 0.128.0 + '@oxc-transform/binding-linux-arm-gnueabihf': 0.128.0 + '@oxc-transform/binding-linux-arm-musleabihf': 0.128.0 + '@oxc-transform/binding-linux-arm64-gnu': 0.128.0 + '@oxc-transform/binding-linux-arm64-musl': 0.128.0 + '@oxc-transform/binding-linux-ppc64-gnu': 0.128.0 + '@oxc-transform/binding-linux-riscv64-gnu': 0.128.0 + '@oxc-transform/binding-linux-riscv64-musl': 0.128.0 + '@oxc-transform/binding-linux-s390x-gnu': 0.128.0 + '@oxc-transform/binding-linux-x64-gnu': 0.128.0 + '@oxc-transform/binding-linux-x64-musl': 0.128.0 + '@oxc-transform/binding-openharmony-arm64': 0.128.0 + '@oxc-transform/binding-wasm32-wasi': 0.128.0 + '@oxc-transform/binding-win32-arm64-msvc': 0.128.0 + '@oxc-transform/binding-win32-ia32-msvc': 0.128.0 + '@oxc-transform/binding-win32-x64-msvc': 0.128.0 oxc-walker@0.7.0(oxc-parser@0.112.0): dependencies: magic-regexp: 0.10.0 - oxc-parser: 0.112.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + oxc-parser: 0.112.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) oxc-walker@0.7.0(oxc-parser@0.115.0): dependencies: magic-regexp: 0.10.0 - oxc-parser: 0.115.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + oxc-parser: 0.115.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) - oxc-walker@0.7.0(oxc-parser@0.117.0): + oxc-walker@0.7.0(oxc-parser@0.126.0): dependencies: magic-regexp: 0.10.0 - oxc-parser: 0.117.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + oxc-parser: 0.126.0 - oxc-walker@0.7.0(oxc-parser@0.126.0): + oxc-walker@0.7.0(oxc-parser@0.128.0): dependencies: magic-regexp: 0.10.0 - oxc-parser: 0.126.0 + oxc-parser: 0.128.0 oxfmt@0.43.0: dependencies: @@ -21439,6 +21895,30 @@ snapshots: '@oxlint/binding-win32-x64-msvc': 1.58.0 oxlint-tsgolint: 0.20.0 + oxlint@1.61.0(oxlint-tsgolint@0.20.0): + optionalDependencies: + '@oxlint/binding-android-arm-eabi': 1.61.0 + '@oxlint/binding-android-arm64': 1.61.0 + '@oxlint/binding-darwin-arm64': 1.61.0 + '@oxlint/binding-darwin-x64': 1.61.0 + '@oxlint/binding-freebsd-x64': 1.61.0 + '@oxlint/binding-linux-arm-gnueabihf': 1.61.0 + '@oxlint/binding-linux-arm-musleabihf': 1.61.0 + '@oxlint/binding-linux-arm64-gnu': 1.61.0 + '@oxlint/binding-linux-arm64-musl': 1.61.0 + '@oxlint/binding-linux-ppc64-gnu': 1.61.0 + '@oxlint/binding-linux-riscv64-gnu': 1.61.0 + '@oxlint/binding-linux-riscv64-musl': 1.61.0 + '@oxlint/binding-linux-s390x-gnu': 1.61.0 + '@oxlint/binding-linux-x64-gnu': 1.61.0 + '@oxlint/binding-linux-x64-musl': 1.61.0 + '@oxlint/binding-openharmony-arm64': 1.61.0 + '@oxlint/binding-win32-arm64-msvc': 1.61.0 + '@oxlint/binding-win32-ia32-msvc': 1.61.0 + '@oxlint/binding-win32-x64-msvc': 1.61.0 + oxlint-tsgolint: 0.20.0 + optional: true + p-all@5.0.1: dependencies: p-map: 6.0.0 @@ -21573,10 +22053,10 @@ snapshots: pkg-types@1.3.1: dependencies: confbox: 0.1.8 - mlly: 1.8.1 + mlly: 1.8.2 pathe: 2.0.3 - pkg-types@2.3.0: + pkg-types@2.3.1: dependencies: confbox: 0.2.4 exsolve: 1.0.8 @@ -21594,142 +22074,144 @@ snapshots: possible-typed-array-names@1.1.0: {} - postcss-calc@10.1.1(postcss@8.5.10): + postcss-calc@10.1.1(postcss@8.5.14): dependencies: - postcss: 8.5.10 + postcss: 8.5.14 postcss-selector-parser: 7.1.1 postcss-value-parser: 4.2.0 - postcss-colormin@7.0.6(postcss@8.5.10): + postcss-colormin@7.0.10(postcss@8.5.14): dependencies: - browserslist: 4.28.1 + '@colordx/core': 5.4.3 + browserslist: 4.28.2 caniuse-api: 3.0.0 - colord: 2.9.3 - postcss: 8.5.10 + postcss: 8.5.14 postcss-value-parser: 4.2.0 - postcss-convert-values@7.0.9(postcss@8.5.10): + postcss-convert-values@7.0.12(postcss@8.5.14): dependencies: - browserslist: 4.28.1 - postcss: 8.5.10 + browserslist: 4.28.2 + postcss: 8.5.14 postcss-value-parser: 4.2.0 - postcss-discard-comments@7.0.6(postcss@8.5.10): + postcss-discard-comments@7.0.8(postcss@8.5.14): dependencies: - postcss: 8.5.10 + postcss: 8.5.14 postcss-selector-parser: 7.1.1 - postcss-discard-duplicates@7.0.2(postcss@8.5.10): + postcss-discard-duplicates@7.0.4(postcss@8.5.14): dependencies: - postcss: 8.5.10 + postcss: 8.5.14 - postcss-discard-empty@7.0.1(postcss@8.5.10): + postcss-discard-empty@7.0.3(postcss@8.5.14): dependencies: - postcss: 8.5.10 + postcss: 8.5.14 - postcss-discard-overridden@7.0.1(postcss@8.5.10): + postcss-discard-overridden@7.0.3(postcss@8.5.14): dependencies: - postcss: 8.5.10 + postcss: 8.5.14 - postcss-merge-longhand@7.0.5(postcss@8.5.10): + postcss-merge-longhand@7.0.7(postcss@8.5.14): dependencies: - postcss: 8.5.10 + postcss: 8.5.14 postcss-value-parser: 4.2.0 - stylehacks: 7.0.7(postcss@8.5.10) + stylehacks: 7.0.11(postcss@8.5.14) - postcss-merge-rules@7.0.8(postcss@8.5.10): + postcss-merge-rules@7.0.11(postcss@8.5.14): dependencies: - browserslist: 4.28.1 + browserslist: 4.28.2 caniuse-api: 3.0.0 - cssnano-utils: 5.0.1(postcss@8.5.10) - postcss: 8.5.10 + cssnano-utils: 5.0.3(postcss@8.5.14) + postcss: 8.5.14 postcss-selector-parser: 7.1.1 - postcss-minify-font-values@7.0.1(postcss@8.5.10): + postcss-minify-font-values@7.0.3(postcss@8.5.14): dependencies: - postcss: 8.5.10 + postcss: 8.5.14 postcss-value-parser: 4.2.0 - postcss-minify-gradients@7.0.1(postcss@8.5.10): + postcss-minify-gradients@7.0.5(postcss@8.5.14): dependencies: - colord: 2.9.3 - cssnano-utils: 5.0.1(postcss@8.5.10) - postcss: 8.5.10 + '@colordx/core': 5.4.3 + cssnano-utils: 5.0.3(postcss@8.5.14) + postcss: 8.5.14 postcss-value-parser: 4.2.0 - postcss-minify-params@7.0.6(postcss@8.5.10): + postcss-minify-params@7.0.9(postcss@8.5.14): dependencies: - browserslist: 4.28.1 - cssnano-utils: 5.0.1(postcss@8.5.10) - postcss: 8.5.10 + browserslist: 4.28.2 + cssnano-utils: 5.0.3(postcss@8.5.14) + postcss: 8.5.14 postcss-value-parser: 4.2.0 - postcss-minify-selectors@7.0.6(postcss@8.5.10): + postcss-minify-selectors@7.1.1(postcss@8.5.14): dependencies: + browserslist: 4.28.2 + caniuse-api: 3.0.0 cssesc: 3.0.0 - postcss: 8.5.10 + postcss: 8.5.14 postcss-selector-parser: 7.1.1 - postcss-normalize-charset@7.0.1(postcss@8.5.10): + postcss-normalize-charset@7.0.3(postcss@8.5.14): dependencies: - postcss: 8.5.10 + postcss: 8.5.14 - postcss-normalize-display-values@7.0.1(postcss@8.5.10): + postcss-normalize-display-values@7.0.3(postcss@8.5.14): dependencies: - postcss: 8.5.10 + postcss: 8.5.14 postcss-value-parser: 4.2.0 - postcss-normalize-positions@7.0.1(postcss@8.5.10): + postcss-normalize-positions@7.0.4(postcss@8.5.14): dependencies: - postcss: 8.5.10 + postcss: 8.5.14 postcss-value-parser: 4.2.0 - postcss-normalize-repeat-style@7.0.1(postcss@8.5.10): + postcss-normalize-repeat-style@7.0.4(postcss@8.5.14): dependencies: - postcss: 8.5.10 + postcss: 8.5.14 postcss-value-parser: 4.2.0 - postcss-normalize-string@7.0.1(postcss@8.5.10): + postcss-normalize-string@7.0.3(postcss@8.5.14): dependencies: - postcss: 8.5.10 + postcss: 8.5.14 postcss-value-parser: 4.2.0 - postcss-normalize-timing-functions@7.0.1(postcss@8.5.10): + postcss-normalize-timing-functions@7.0.3(postcss@8.5.14): dependencies: - postcss: 8.5.10 + postcss: 8.5.14 postcss-value-parser: 4.2.0 - postcss-normalize-unicode@7.0.6(postcss@8.5.10): + postcss-normalize-unicode@7.0.9(postcss@8.5.14): dependencies: - browserslist: 4.28.1 - postcss: 8.5.10 + browserslist: 4.28.2 + postcss: 8.5.14 postcss-value-parser: 4.2.0 - postcss-normalize-url@7.0.1(postcss@8.5.10): + postcss-normalize-url@7.0.3(postcss@8.5.14): dependencies: - postcss: 8.5.10 + postcss: 8.5.14 postcss-value-parser: 4.2.0 - postcss-normalize-whitespace@7.0.1(postcss@8.5.10): + postcss-normalize-whitespace@7.0.3(postcss@8.5.14): dependencies: - postcss: 8.5.10 + postcss: 8.5.14 postcss-value-parser: 4.2.0 - postcss-ordered-values@7.0.2(postcss@8.5.10): + postcss-ordered-values@7.0.4(postcss@8.5.14): dependencies: - cssnano-utils: 5.0.1(postcss@8.5.10) - postcss: 8.5.10 + cssnano-utils: 5.0.3(postcss@8.5.14) + postcss: 8.5.14 postcss-value-parser: 4.2.0 - postcss-reduce-initial@7.0.6(postcss@8.5.10): + postcss-reduce-initial@7.0.9(postcss@8.5.14): dependencies: - browserslist: 4.28.1 + browserslist: 4.28.2 caniuse-api: 3.0.0 - postcss: 8.5.10 + postcss: 8.5.14 - postcss-reduce-transforms@7.0.1(postcss@8.5.10): + postcss-reduce-transforms@7.0.3(postcss@8.5.14): dependencies: - postcss: 8.5.10 + postcss: 8.5.14 postcss-value-parser: 4.2.0 postcss-selector-parser@7.1.1: @@ -21737,25 +22219,27 @@ snapshots: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss-svgo@7.1.1(postcss@8.5.10): + postcss-svgo@7.1.3(postcss@8.5.14): dependencies: - postcss: 8.5.10 + postcss: 8.5.14 postcss-value-parser: 4.2.0 svgo: 4.0.1 - postcss-unique-selectors@7.0.5(postcss@8.5.10): + postcss-unique-selectors@7.0.7(postcss@8.5.14): dependencies: - postcss: 8.5.10 + postcss: 8.5.14 postcss-selector-parser: 7.1.1 postcss-value-parser@4.2.0: {} - postcss@8.5.10: + postcss@8.5.14: dependencies: nanoid: 3.3.11 picocolors: 1.1.1 source-map-js: 1.2.1 + powershell-utils@0.1.0: {} + prebuild-install@7.1.3: dependencies: detect-libc: 2.1.2 @@ -21802,6 +22286,12 @@ snapshots: kleur: 3.0.3 sisteransi: 1.0.5 + proper-lockfile@4.1.2: + dependencies: + graceful-fs: 4.2.11 + retry: 0.12.0 + signal-exit: 3.0.7 + property-information@7.1.0: {} prosemirror-changeset@2.4.0: @@ -22204,19 +22694,19 @@ snapshots: '@types/hast': 3.0.4 unist-util-visit: 5.1.0 - reka-ui@2.8.2(vue@3.5.33): + reka-ui@2.8.2(vue@3.5.34): dependencies: '@floating-ui/dom': 1.7.6 - '@floating-ui/vue': 1.1.11(vue@3.5.33) + '@floating-ui/vue': 1.1.11(vue@3.5.34) '@internationalized/date': 3.11.0 '@internationalized/number': 3.6.5 - '@tanstack/vue-virtual': 3.13.19(vue@3.5.33) - '@vueuse/core': 14.2.1(vue@3.5.33) - '@vueuse/shared': 14.2.1(vue@3.5.33) + '@tanstack/vue-virtual': 3.13.19(vue@3.5.34) + '@vueuse/core': 14.3.0(vue@3.5.34) + '@vueuse/shared': 14.2.1(vue@3.5.34) aria-hidden: 1.2.6 defu: 6.1.4 ohash: 2.0.11 - vue: 3.5.33(typescript@6.0.2) + vue: 3.5.34(typescript@6.0.2) transitivePeerDependencies: - '@vue/composition-api' @@ -22301,6 +22791,8 @@ snapshots: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 + retry@0.12.0: {} + rettime@0.11.7: {} reusify@1.1.0: {} @@ -22316,7 +22808,7 @@ snapshots: dts-resolver: 2.1.3(oxc-resolver@11.19.1) get-tsconfig: 4.13.7 obug: 2.1.1 - rolldown: 1.0.0-rc.9(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + rolldown: 1.0.0-rc.9(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) optionalDependencies: typescript: 6.0.2 vue-tsc: 3.2.6(typescript@6.0.2) @@ -22344,7 +22836,7 @@ snapshots: '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.16 '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.16 - rolldown@1.0.0-rc.9(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2): + rolldown@1.0.0-rc.9(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0): dependencies: '@oxc-project/types': 0.115.0 '@rolldown/pluginutils': 1.0.0-rc.9 @@ -22361,56 +22853,56 @@ snapshots: '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.9 '@rolldown/binding-linux-x64-musl': 1.0.0-rc.9 '@rolldown/binding-openharmony-arm64': 1.0.0-rc.9 - '@rolldown/binding-wasm32-wasi': 1.0.0-rc.9(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + '@rolldown/binding-wasm32-wasi': 1.0.0-rc.9(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.9 '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.9 transitivePeerDependencies: - '@emnapi/core' - '@emnapi/runtime' - rollup-plugin-visualizer@6.0.5(rolldown@1.0.0-rc.16)(rollup@4.56.0): + rollup-plugin-visualizer@7.0.1(rolldown@1.0.0-rc.16)(rollup@4.60.3): dependencies: - open: 8.4.2 + open: 11.0.0 picomatch: 4.0.4 source-map: 0.7.6 - yargs: 17.7.2 + yargs: 18.0.0 optionalDependencies: rolldown: 1.0.0-rc.16 - rollup: 4.56.0 + rollup: 4.60.3 rollup@2.79.2: optionalDependencies: fsevents: 2.3.3 - rollup@4.56.0: + rollup@4.60.3: dependencies: '@types/estree': 1.0.8 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.56.0 - '@rollup/rollup-android-arm64': 4.56.0 - '@rollup/rollup-darwin-arm64': 4.56.0 - '@rollup/rollup-darwin-x64': 4.56.0 - '@rollup/rollup-freebsd-arm64': 4.56.0 - '@rollup/rollup-freebsd-x64': 4.56.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.56.0 - '@rollup/rollup-linux-arm-musleabihf': 4.56.0 - '@rollup/rollup-linux-arm64-gnu': 4.56.0 - '@rollup/rollup-linux-arm64-musl': 4.56.0 - '@rollup/rollup-linux-loong64-gnu': 4.56.0 - '@rollup/rollup-linux-loong64-musl': 4.56.0 - '@rollup/rollup-linux-ppc64-gnu': 4.56.0 - '@rollup/rollup-linux-ppc64-musl': 4.56.0 - '@rollup/rollup-linux-riscv64-gnu': 4.56.0 - '@rollup/rollup-linux-riscv64-musl': 4.56.0 - '@rollup/rollup-linux-s390x-gnu': 4.56.0 - '@rollup/rollup-linux-x64-gnu': 4.56.0 - '@rollup/rollup-linux-x64-musl': 4.56.0 - '@rollup/rollup-openbsd-x64': 4.56.0 - '@rollup/rollup-openharmony-arm64': 4.56.0 - '@rollup/rollup-win32-arm64-msvc': 4.56.0 - '@rollup/rollup-win32-ia32-msvc': 4.56.0 - '@rollup/rollup-win32-x64-gnu': 4.56.0 - '@rollup/rollup-win32-x64-msvc': 4.56.0 + '@rollup/rollup-android-arm-eabi': 4.60.3 + '@rollup/rollup-android-arm64': 4.60.3 + '@rollup/rollup-darwin-arm64': 4.60.3 + '@rollup/rollup-darwin-x64': 4.60.3 + '@rollup/rollup-freebsd-arm64': 4.60.3 + '@rollup/rollup-freebsd-x64': 4.60.3 + '@rollup/rollup-linux-arm-gnueabihf': 4.60.3 + '@rollup/rollup-linux-arm-musleabihf': 4.60.3 + '@rollup/rollup-linux-arm64-gnu': 4.60.3 + '@rollup/rollup-linux-arm64-musl': 4.60.3 + '@rollup/rollup-linux-loong64-gnu': 4.60.3 + '@rollup/rollup-linux-loong64-musl': 4.60.3 + '@rollup/rollup-linux-ppc64-gnu': 4.60.3 + '@rollup/rollup-linux-ppc64-musl': 4.60.3 + '@rollup/rollup-linux-riscv64-gnu': 4.60.3 + '@rollup/rollup-linux-riscv64-musl': 4.60.3 + '@rollup/rollup-linux-s390x-gnu': 4.60.3 + '@rollup/rollup-linux-x64-gnu': 4.60.3 + '@rollup/rollup-linux-x64-musl': 4.60.3 + '@rollup/rollup-openbsd-x64': 4.60.3 + '@rollup/rollup-openharmony-arm64': 4.60.3 + '@rollup/rollup-win32-arm64-msvc': 4.60.3 + '@rollup/rollup-win32-ia32-msvc': 4.60.3 + '@rollup/rollup-win32-x64-gnu': 4.60.3 + '@rollup/rollup-win32-x64-msvc': 4.60.3 fsevents: 2.3.3 rope-sequence@1.3.4: {} @@ -22467,7 +22959,7 @@ snapshots: htmlparser2: 8.0.2 is-plain-object: 5.0.0 parse-srcset: 1.0.2 - postcss: 8.5.10 + postcss: 8.5.14 satori@0.19.2: dependencies: @@ -22546,7 +23038,9 @@ snapshots: dependencies: randombytes: 2.1.0 - seroval@1.5.1: {} + serialize-javascript@7.0.5: {} + + seroval@1.5.3: {} serve-placeholder@2.0.2: dependencies: @@ -22636,12 +23130,12 @@ snapshots: shell-quote@1.8.3: {} - shiki-stream@0.1.4(react@19.2.4)(vue@3.5.33): + shiki-stream@0.1.4(react@19.2.4)(vue@3.5.34): dependencies: '@shikijs/core': 3.23.0 optionalDependencies: react: 19.2.4 - vue: 3.5.33(typescript@6.0.2) + vue: 3.5.34(typescript@6.0.2) shiki@3.23.0: dependencies: @@ -22693,6 +23187,8 @@ snapshots: side-channel-map: 1.0.1 side-channel-weakmap: 1.0.2 + signal-exit@3.0.7: {} + signal-exit@4.1.0: {} simple-concat@1.0.1: {} @@ -22719,15 +23215,15 @@ snapshots: sisteransi@1.0.5: {} - site-config-stack@3.2.21(vue@3.5.33): + site-config-stack@3.2.21(vue@3.5.34): dependencies: ufo: 1.6.3 - vue: 3.5.33(typescript@6.0.2) + vue: 3.5.34(typescript@6.0.2) - site-config-stack@4.0.8(vue@3.5.33): + site-config-stack@4.0.8(vue@3.5.34): dependencies: ufo: 1.6.3 - vue: 3.5.33(typescript@6.0.2) + vue: 3.5.34(typescript@6.0.2) skin-tone@2.0.0: dependencies: @@ -22860,6 +23356,12 @@ snapshots: emoji-regex: 9.2.2 strip-ansi: 7.1.2 + string-width@7.2.0: + dependencies: + emoji-regex: 10.6.0 + get-east-asian-width: 1.5.0 + strip-ansi: 7.1.2 + string.prototype.codepointat@0.2.1: {} string.prototype.matchall@4.0.12: @@ -22948,12 +23450,12 @@ snapshots: dependencies: js-tokens: 9.0.1 - structured-clone-es@1.0.0: {} + structured-clone-es@2.0.0: {} - stylehacks@7.0.7(postcss@8.5.10): + stylehacks@7.0.11(postcss@8.5.14): dependencies: - browserslist: 4.28.1 - postcss: 8.5.10 + browserslist: 4.28.2 + postcss: 8.5.14 postcss-selector-parser: 7.1.1 supports-color@10.2.2: {} @@ -22978,15 +23480,13 @@ snapshots: picocolors: 1.1.1 sax: 1.5.0 - swrv@1.1.0(vue@3.5.33): + swrv@1.1.0(vue@3.5.34): dependencies: - vue: 3.5.33(typescript@6.0.2) + vue: 3.5.34(typescript@6.0.2) symbol-tree@3.2.4: optional: true - system-architecture@0.1.0: {} - tabbable@6.4.0: {} tagged-tag@1.0.0: {} @@ -23046,16 +23546,14 @@ snapshots: type-fest: 0.16.0 unique-string: 2.0.0 - terser-webpack-plugin@5.3.16(esbuild@0.27.3)(webpack@5.104.1): + terser-webpack-plugin@5.3.16(webpack@5.104.1): dependencies: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.3 serialize-javascript: 6.0.2 terser: 5.46.0 - webpack: 5.104.1(esbuild@0.27.3) - optionalDependencies: - esbuild: 0.27.3 + webpack: 5.104.1 terser@5.46.0: dependencies: @@ -23161,7 +23659,7 @@ snapshots: '@ts-morph/common': 0.28.1 code-block-writer: 13.0.3 - tsdown@0.21.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(oxc-resolver@11.19.1)(typescript@6.0.2)(vue-tsc@3.2.6): + tsdown@0.21.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(oxc-resolver@11.19.1)(typescript@6.0.2)(vue-tsc@3.2.6): dependencies: ansis: 4.2.0 cac: 7.0.0 @@ -23171,7 +23669,7 @@ snapshots: import-without-cache: 0.2.5 obug: 2.1.1 picomatch: 4.0.4 - rolldown: 1.0.0-rc.9(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + rolldown: 1.0.0-rc.9(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) rolldown-plugin-dts: 0.22.5(oxc-resolver@11.19.1)(rolldown@1.0.0-rc.9)(typescript@6.0.2)(vue-tsc@3.2.6) semver: 7.7.4 tinyexec: 1.1.1 @@ -23265,6 +23763,8 @@ snapshots: ufo@1.6.3: {} + ufo@1.6.4: {} + uint8arrays@3.0.0: dependencies: multiformats: 9.9.0 @@ -23312,7 +23812,7 @@ snapshots: dependencies: pathe: 2.0.3 - unhead@2.1.12: + unhead@2.1.13: dependencies: hookable: 6.1.1 @@ -23363,32 +23863,34 @@ snapshots: estree-walker: 3.0.3 local-pkg: 1.1.2 magic-string: 0.30.21 - mlly: 1.8.1 + mlly: 1.8.2 pathe: 2.0.3 picomatch: 4.0.4 - pkg-types: 2.3.0 + pkg-types: 2.3.1 scule: 1.3.0 strip-literal: 3.1.0 tinyglobby: 0.2.16 unplugin: 2.3.11 unplugin-utils: 0.3.1 - unimport@6.0.1: + unimport@6.2.0(oxc-parser@0.128.0): dependencies: acorn: 8.16.0 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 local-pkg: 1.1.2 magic-string: 0.30.21 - mlly: 1.8.1 + mlly: 1.8.2 pathe: 2.0.3 picomatch: 4.0.4 - pkg-types: 2.3.0 + pkg-types: 2.3.1 scule: 1.3.0 strip-literal: 3.1.0 tinyglobby: 0.2.16 unplugin: 3.0.0 unplugin-utils: 0.3.1 + optionalDependencies: + oxc-parser: 0.128.0 unique-string@2.0.0: dependencies: @@ -23428,7 +23930,7 @@ snapshots: universalify@2.0.1: {} - unocss@66.6.7(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@unocss/webpack@66.6.7)(vite@8.0.0): + unocss@66.6.7(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@unocss/webpack@66.6.7)(vite@8.0.0): dependencies: '@unocss/cli': 66.6.7 '@unocss/core': 66.6.7 @@ -23442,7 +23944,7 @@ snapshots: '@unocss/preset-wind': 66.6.7 '@unocss/preset-wind3': 66.6.7 '@unocss/preset-wind4': 66.6.7 - '@unocss/transformer-attributify-jsx': 66.6.7(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + '@unocss/transformer-attributify-jsx': 66.6.7(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) '@unocss/transformer-compile-class': 66.6.7 '@unocss/transformer-directives': 66.6.7 '@unocss/transformer-variant-group': 66.6.7 @@ -23456,7 +23958,7 @@ snapshots: unpipe@1.0.0: {} - unplugin-auto-import@21.0.0(@nuxt/kit@4.4.2)(@vueuse/core@14.2.1): + unplugin-auto-import@21.0.0(@nuxt/kit@4.4.4)(@vueuse/core@14.3.0): dependencies: local-pkg: 1.1.2 magic-string: 0.30.21 @@ -23465,28 +23967,28 @@ snapshots: unplugin: 2.3.11 unplugin-utils: 0.3.1 optionalDependencies: - '@nuxt/kit': 4.4.2(magicast@0.5.2) - '@vueuse/core': 14.2.1(vue@3.5.33) + '@nuxt/kit': 4.4.4(magicast@0.5.2) + '@vueuse/core': 14.3.0(vue@3.5.34) unplugin-utils@0.3.1: dependencies: pathe: 2.0.3 picomatch: 4.0.4 - unplugin-vue-components@31.0.0(@nuxt/kit@4.4.2)(vue@3.5.33): + unplugin-vue-components@31.0.0(@nuxt/kit@4.4.4)(vue@3.5.34): dependencies: chokidar: 5.0.0 local-pkg: 1.1.2 magic-string: 0.30.21 - mlly: 1.8.1 + mlly: 1.8.2 obug: 2.1.1 picomatch: 4.0.4 tinyglobby: 0.2.16 unplugin: 2.3.11 unplugin-utils: 0.3.1 - vue: 3.5.33(typescript@6.0.2) + vue: 3.5.34(typescript@6.0.2) optionalDependencies: - '@nuxt/kit': 4.4.2(magicast@0.5.2) + '@nuxt/kit': 4.4.4(magicast@0.5.2) unplugin-vue-markdown@30.0.0(vite@8.0.0): dependencies: @@ -23496,12 +23998,7 @@ snapshots: markdown-exit: 1.0.0-beta.9 unplugin: 2.3.11 unplugin-utils: 0.3.1 - vite: 8.0.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) - - unplugin@1.16.1: - dependencies: - acorn: 8.16.0 - webpack-virtual-modules: 0.6.2 + vite: 8.0.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@24.12.0)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) unplugin@2.3.11: dependencies: @@ -23525,7 +24022,7 @@ snapshots: dependencies: rolldown: 1.0.0-rc.16 - unstorage@1.17.5(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.9.2): + unstorage@1.17.5(@upstash/redis@1.37.0)(db0@0.3.4)(ioredis@5.10.1): dependencies: anymatch: 3.1.3 chokidar: 5.0.0 @@ -23538,7 +24035,7 @@ snapshots: optionalDependencies: '@upstash/redis': 1.37.0 db0: 0.3.4(better-sqlite3@12.8.0) - ioredis: 5.9.2 + ioredis: 5.10.1 until-async@3.0.2: {} @@ -23561,19 +24058,19 @@ snapshots: exsolve: 1.0.8 knitwork: 1.3.0 magic-string: 0.30.21 - mlly: 1.8.1 + mlly: 1.8.2 pathe: 2.0.3 - pkg-types: 2.3.0 + pkg-types: 2.3.1 upath@1.2.0: {} - update-browserslist-db@1.2.3(browserslist@4.28.1): + update-browserslist-db@1.2.3(browserslist@4.28.2): dependencies: - browserslist: 4.28.1 + browserslist: 4.28.2 escalade: 3.2.0 picocolors: 1.1.1 - uqr@0.1.2: {} + uqr@0.1.3: {} uri-js@4.4.1: dependencies: @@ -23599,11 +24096,11 @@ snapshots: vary@1.1.2: {} - vaul-vue@0.4.1(reka-ui@2.8.2)(vue@3.5.33): + vaul-vue@0.4.1(reka-ui@2.8.2)(vue@3.5.34): dependencies: - '@vueuse/core': 10.11.1(vue@3.5.33) - reka-ui: 2.8.2(vue@3.5.33) - vue: 3.5.33(typescript@6.0.2) + '@vueuse/core': 10.11.1(vue@3.5.34) + reka-ui: 2.8.2(vue@3.5.34) + vue: 3.5.34(typescript@6.0.2) transitivePeerDependencies: - '@vue/composition-api' @@ -23622,29 +24119,29 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - virtua@0.48.8(react-dom@19.2.4)(react@19.2.4)(vue@3.5.33): + virtua@0.48.8(react-dom@19.2.4)(react@19.2.4)(vue@3.5.34): optionalDependencies: react: 19.2.4 react-dom: 19.2.4(react@19.2.4) - vue: 3.5.33(typescript@6.0.2) + vue: 3.5.34(typescript@6.0.2) vite-dev-rpc@1.1.0(vite@8.0.0): dependencies: birpc: 2.9.0 - vite: 8.0.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) + vite: 8.0.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@24.12.0)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) vite-hot-client: 2.1.0(vite@8.0.0) vite-hot-client@2.1.0(vite@8.0.0): dependencies: - vite: 8.0.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) + vite: 8.0.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@24.12.0)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) - vite-node@5.3.0(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(yaml@2.8.2): + vite-node@5.3.0(@types/node@24.12.0)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(yaml@2.8.2): dependencies: cac: 6.7.14 es-module-lexer: 2.0.0 obug: 2.1.1 pathe: 2.0.3 - vite: '@voidzero-dev/vite-plus-core@0.1.16(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(yaml@2.8.2)' + vite: '@voidzero-dev/vite-plus-core@0.1.16(@types/node@24.12.0)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(yaml@2.8.2)' transitivePeerDependencies: - '@arethetypeswrong/core' - '@tsdown/css' @@ -23665,25 +24162,26 @@ snapshots: - unplugin-unused - yaml - vite-plugin-checker@0.12.0(@voidzero-dev/vite-plus-core@0.1.16)(eslint@9.39.2)(optionator@0.9.4)(oxlint@1.58.0)(typescript@6.0.2)(vue-tsc@3.2.6): + vite-plugin-checker@0.13.0(@voidzero-dev/vite-plus-core@0.1.16)(eslint@9.39.2)(optionator@0.9.4)(oxlint@1.61.0)(typescript@6.0.2)(vue-tsc@3.2.6): dependencies: '@babel/code-frame': 7.29.0 chokidar: 4.0.3 npm-run-path: 6.0.0 picocolors: 1.1.1 picomatch: 4.0.4 + proper-lockfile: 4.1.2 tiny-invariant: 1.3.3 tinyglobby: 0.2.16 - vite: '@voidzero-dev/vite-plus-core@0.1.16(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(yaml@2.8.2)' + vite: '@voidzero-dev/vite-plus-core@0.1.16(@types/node@24.12.0)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(yaml@2.8.2)' vscode-uri: 3.1.0 optionalDependencies: eslint: 9.39.2(jiti@2.6.1) optionator: 0.9.4 - oxlint: 1.58.0(oxlint-tsgolint@0.20.0) + oxlint: 1.61.0(oxlint-tsgolint@0.20.0) typescript: 6.0.2 vue-tsc: 3.2.6(typescript@6.0.2) - vite-plugin-inspect@11.3.3(@nuxt/kit@4.4.2)(vite@8.0.0): + vite-plugin-inspect@11.3.3(@nuxt/kit@4.4.4)(vite@8.0.0): dependencies: ansis: 4.2.0 debug: 4.4.3 @@ -23693,10 +24191,10 @@ snapshots: perfect-debounce: 2.1.0 sirv: 3.0.2 unplugin-utils: 0.3.1 - vite: 8.0.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) + vite: 8.0.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@24.12.0)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) vite-dev-rpc: 1.1.0(vite@8.0.0) optionalDependencies: - '@nuxt/kit': 4.4.2(magicast@0.5.2) + '@nuxt/kit': 4.4.4(magicast@0.5.2) transitivePeerDependencies: - supports-color @@ -23705,7 +24203,7 @@ snapshots: debug: 4.4.3 pretty-bytes: 6.1.1 tinyglobby: 0.2.16 - vite: 8.0.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) + vite: 8.0.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@24.12.0)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) workbox-build: 7.4.0 workbox-window: 7.4.0 optionalDependencies: @@ -23713,21 +24211,21 @@ snapshots: transitivePeerDependencies: - supports-color - vite-plugin-vue-tracer@1.2.0(vite@8.0.0)(vue@3.5.33): + vite-plugin-vue-tracer@1.3.0(vite@8.0.0)(vue@3.5.34): 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: 8.0.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) - vue: 3.5.33(typescript@6.0.2) + vite: 8.0.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@24.12.0)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) + vue: 3.5.34(typescript@6.0.2) - vite-plus@0.1.16(@opentelemetry/api@1.9.0)(@types/node@24.12.0)(esbuild@0.27.3)(happy-dom@20.3.5)(jiti@2.6.1)(jsdom@27.4.0)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(yaml@2.8.2): + vite-plus@0.1.16(@opentelemetry/api@1.9.0)(@types/node@24.12.0)(happy-dom@20.3.5)(jiti@2.6.1)(jsdom@27.4.0)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(yaml@2.8.2): dependencies: '@oxc-project/types': 0.123.0 - '@voidzero-dev/vite-plus-core': 0.1.16(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(yaml@2.8.2) - '@voidzero-dev/vite-plus-test': 0.1.16(@opentelemetry/api@1.9.0)(@types/node@24.12.0)(esbuild@0.27.3)(happy-dom@20.3.5)(jiti@2.6.1)(jsdom@27.4.0)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(yaml@2.8.2) + '@voidzero-dev/vite-plus-core': 0.1.16(@types/node@24.12.0)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(yaml@2.8.2) + '@voidzero-dev/vite-plus-test': 0.1.16(@opentelemetry/api@1.9.0)(@types/node@24.12.0)(happy-dom@20.3.5)(jiti@2.6.1)(jsdom@27.4.0)(terser@5.46.0)(tsx@4.21.0)(typescript@6.0.2)(vite@8.0.0)(yaml@2.8.2) oxfmt: 0.43.0 oxlint: 1.58.0(oxlint-tsgolint@0.20.0) oxlint-tsgolint: 0.20.0 @@ -23768,17 +24266,16 @@ snapshots: - vite - yaml - vite@8.0.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2): + vite@8.0.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@24.12.0)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2): dependencies: '@oxc-project/runtime': 0.115.0 lightningcss: 1.32.0 picomatch: 4.0.4 - postcss: 8.5.10 - rolldown: 1.0.0-rc.9(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + postcss: 8.5.14 + rolldown: 1.0.0-rc.9(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) tinyglobby: 0.2.16 optionalDependencies: '@types/node': 24.12.0 - esbuild: 0.27.3 fsevents: 2.3.3 jiti: 2.6.1 terser: 5.46.0 @@ -23834,24 +24331,24 @@ snapshots: vue-component-type-helpers@2.2.12: {} - vue-component-type-helpers@3.2.7: {} + vue-component-type-helpers@3.2.8: {} - vue-data-ui@3.18.2(vue@3.5.33): + vue-data-ui@3.19.4(vue@3.5.34): dependencies: - vue: 3.5.33(typescript@6.0.2) + vue: 3.5.34(typescript@6.0.2) - vue-demi@0.14.10(vue@3.5.33): + vue-demi@0.14.10(vue@3.5.34): dependencies: - vue: 3.5.33(typescript@6.0.2) + vue: 3.5.34(typescript@6.0.2) vue-devtools-stub@0.1.0: {} - vue-docgen-api@4.79.2(vue@3.5.33): + vue-docgen-api@4.79.2(vue@3.5.34): dependencies: - '@babel/parser': 7.29.2 + '@babel/parser': 7.29.3 '@babel/types': 7.29.0 - '@vue/compiler-dom': 3.5.33 - '@vue/compiler-sfc': 3.5.33 + '@vue/compiler-dom': 3.5.34 + '@vue/compiler-sfc': 3.5.34 ast-types: 0.16.1 esm-resolve: 1.0.11 hash-sum: 2.0.0 @@ -23859,8 +24356,8 @@ snapshots: pug: 3.0.3 recast: 0.23.11 ts-map: 1.0.3 - vue: 3.5.33(typescript@6.0.2) - vue-inbrowser-compiler-independent-utils: 4.71.1(vue@3.5.33) + vue: 3.5.34(typescript@6.0.2) + vue-inbrowser-compiler-independent-utils: 4.71.1(vue@3.5.34) vue-i18n-extract@2.0.7: dependencies: @@ -23870,28 +24367,28 @@ snapshots: is-valid-glob: 1.0.0 js-yaml: 4.1.1 - vue-i18n@11.2.8(vue@3.5.33): + vue-i18n@11.2.8(vue@3.5.34): dependencies: '@intlify/core-base': 11.2.8 '@intlify/shared': 11.2.8 '@vue/devtools-api': 6.6.4 - vue: 3.5.33(typescript@6.0.2) + vue: 3.5.34(typescript@6.0.2) - vue-inbrowser-compiler-independent-utils@4.71.1(vue@3.5.33): + vue-inbrowser-compiler-independent-utils@4.71.1(vue@3.5.34): dependencies: - vue: 3.5.33(typescript@6.0.2) + vue: 3.5.34(typescript@6.0.2) - vue-router@5.0.4(@vue/compiler-sfc@3.5.33)(vue@3.5.33): + vue-router@5.0.4(@vue/compiler-sfc@3.5.34)(vue@3.5.34): dependencies: '@babel/generator': 7.29.1 - '@vue-macros/common': 3.1.2(vue@3.5.33) + '@vue-macros/common': 3.1.2(vue@3.5.34) '@vue/devtools-api': 8.1.0 ast-walker-scope: 0.8.3 chokidar: 5.0.0 json5: 2.2.3 local-pkg: 1.1.2 magic-string: 0.30.21 - mlly: 1.8.1 + mlly: 1.8.2 muggle-string: 0.4.1 pathe: 2.0.3 picomatch: 4.0.4 @@ -23899,10 +24396,10 @@ snapshots: tinyglobby: 0.2.16 unplugin: 3.0.0 unplugin-utils: 0.3.1 - vue: 3.5.33(typescript@6.0.2) + vue: 3.5.34(typescript@6.0.2) yaml: 2.8.2 optionalDependencies: - '@vue/compiler-sfc': 3.5.33 + '@vue/compiler-sfc': 3.5.34 vue-tsc@3.2.6(typescript@6.0.2): dependencies: @@ -23910,13 +24407,13 @@ snapshots: '@vue/language-core': 3.2.6 typescript: 6.0.2 - vue@3.5.33(typescript@6.0.2): + vue@3.5.34(typescript@6.0.2): dependencies: - '@vue/compiler-dom': 3.5.33 - '@vue/compiler-sfc': 3.5.33 - '@vue/runtime-dom': 3.5.33 - '@vue/server-renderer': 3.5.33(vue@3.5.33) - '@vue/shared': 3.5.33 + '@vue/compiler-dom': 3.5.34 + '@vue/compiler-sfc': 3.5.34 + '@vue/runtime-dom': 3.5.34 + '@vue/server-renderer': 3.5.34(vue@3.5.34) + '@vue/shared': 3.5.34 optionalDependencies: typescript: 6.0.2 @@ -23947,7 +24444,7 @@ snapshots: webpack-virtual-modules@0.6.2: {} - webpack@5.104.1(esbuild@0.27.3): + webpack@5.104.1: dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.8 @@ -23957,7 +24454,7 @@ snapshots: '@webassemblyjs/wasm-parser': 1.14.1 acorn: 8.16.0 acorn-import-phases: 1.0.4(acorn@8.16.0) - browserslist: 4.28.1 + browserslist: 4.28.2 chrome-trace-event: 1.0.4 enhanced-resolve: 5.20.0 es-module-lexer: 2.0.0 @@ -23971,7 +24468,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 4.3.3 tapable: 2.3.0 - terser-webpack-plugin: 5.3.16(esbuild@0.27.3)(webpack@5.104.1) + terser-webpack-plugin: 5.3.16(webpack@5.104.1) watchpack: 2.5.1 webpack-sources: 3.3.4 transitivePeerDependencies: @@ -24052,13 +24549,13 @@ snapshots: dependencies: isexe: 2.0.0 - which@5.0.0: + which@6.0.1: dependencies: - isexe: 3.1.1 + isexe: 4.0.0 with@7.0.2: dependencies: - '@babel/parser': 7.29.2 + '@babel/parser': 7.29.3 '@babel/types': 7.29.0 assert-never: 1.4.0 babel-walk: 3.0.0-canary-5 @@ -24196,6 +24693,12 @@ snapshots: string-width: 5.1.2 strip-ansi: 7.1.2 + wrap-ansi@9.0.2: + dependencies: + ansi-styles: 6.2.3 + string-width: 7.2.0 + strip-ansi: 7.1.2 + wrappy@1.0.2: {} ws@8.18.3: {} @@ -24206,6 +24709,11 @@ snapshots: dependencies: is-wsl: 3.1.0 + wsl-utils@0.3.1: + dependencies: + is-wsl: 3.1.0 + powershell-utils: 0.1.0 + xml-name-validator@5.0.0: optional: true @@ -24240,6 +24748,8 @@ snapshots: yargs-parser@21.1.1: {} + yargs-parser@22.0.0: {} + yargs@17.7.2: dependencies: cliui: 8.0.1 @@ -24250,6 +24760,15 @@ snapshots: y18n: 5.0.8 yargs-parser: 21.1.1 + yargs@18.0.0: + dependencies: + cliui: 9.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + string-width: 7.2.0 + y18n: 5.0.8 + yargs-parser: 22.0.0 + yjs@13.6.29: dependencies: lib0: 0.2.117 @@ -24265,12 +24784,12 @@ snapshots: '@poppinss/exception': 1.2.3 error-stack-parser-es: 1.0.5 - youch@4.1.0: + youch@4.1.1: dependencies: '@poppinss/colors': 4.1.6 '@poppinss/dumper': 0.7.0 '@speed-highlight/core': 1.2.14 - cookie-es: 2.0.0 + cookie-es: 3.1.1 youch-core: 0.3.3 zip-stream@6.0.1: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 81137561e0..4bf8815a9e 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -18,7 +18,7 @@ catalogs: 'msw': '^2.13.2' storybook: - '@storybook-vue/nuxt': '9.0.1' + '@storybook-vue/nuxt': 'https://pkg.pr.new/@storybook-vue/nuxt@1021' '@storybook/addon-a11y': '^10.3.5' '@storybook/addon-docs': '^10.3.5' '@storybook/addon-themes': '^10.3.5' @@ -36,7 +36,6 @@ overrides: '@types/node': 24.12.0 nuxt-og-image: ^6.4.3 sharp: 0.34.5 - storybook: ^10.3.1 vite: npm:@voidzero-dev/vite-plus-core@0.1.16 vitest: npm:@voidzero-dev/vite-plus-test@0.1.16 vue-router: 5.0.4 diff --git a/scripts/find-invalid-translations.ts b/scripts/find-invalid-translations.ts index 173ae7a2b7..9f70e01d38 100644 --- a/scripts/find-invalid-translations.ts +++ b/scripts/find-invalid-translations.ts @@ -1,4 +1,5 @@ /* eslint-disable no-console */ +import process from 'node:process' import { join } from 'node:path' import { createI18NReport, type I18NItem } from 'vue-i18n-extract' import { colors } from './utils/colors.ts' diff --git a/scripts/generate-file-tree-sprite.ts b/scripts/generate-file-tree-sprite.ts index 2ebad92ab2..ac691de737 100644 --- a/scripts/generate-file-tree-sprite.ts +++ b/scripts/generate-file-tree-sprite.ts @@ -1,3 +1,4 @@ +import process from 'node:process' import type { IconifyJSON } from '@iconify-json/lucide' import { promises as fs } from 'node:fs' import { fileURLToPath } from 'node:url' diff --git a/scripts/next-version.ts b/scripts/next-version.ts index 9e9f7999a2..4713a071c0 100644 --- a/scripts/next-version.ts +++ b/scripts/next-version.ts @@ -22,6 +22,7 @@ */ import { execFileSync } from 'node:child_process' +import process from 'node:process' function git(...args: string[]): string { return execFileSync('git', args, { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] }).trim() diff --git a/scripts/remove-unused-translations.ts b/scripts/remove-unused-translations.ts index 602d9643d2..b0e6edcc75 100644 --- a/scripts/remove-unused-translations.ts +++ b/scripts/remove-unused-translations.ts @@ -1,4 +1,5 @@ /* eslint-disable no-console */ +import process from 'node:process' import { join } from 'node:path' import { createI18NReport, type I18NItem } from 'vue-i18n-extract' import { colors } from './utils/colors.ts' diff --git a/scripts/unocss-checker.ts b/scripts/unocss-checker.ts index 0cf58cd8af..4a80ea1e6f 100644 --- a/scripts/unocss-checker.ts +++ b/scripts/unocss-checker.ts @@ -1,3 +1,4 @@ +import process from 'node:process' import type { Dirent } from 'node:fs' import { glob, readFile } from 'node:fs/promises' import { resolve } from 'node:path' diff --git a/server/api/leaderboard/likes.get.ts b/server/api/leaderboard/likes.get.ts new file mode 100644 index 0000000000..df7812e2af --- /dev/null +++ b/server/api/leaderboard/likes.get.ts @@ -0,0 +1,10 @@ +import { eventHandler } from 'h3' +import type { LikesLeaderboardEntry } from '#shared/types/social' +import { enrichLikesLeaderboardEntries, getLikesLeaderboard } from '#server/utils/likes-leaderboard' + +export default eventHandler(async (event): Promise => { + const leaderboardEntries = await getLikesLeaderboard(event) + if (!leaderboardEntries) return [] + + return await enrichLikesLeaderboardEntries(event, leaderboardEntries) +}) diff --git a/server/api/registry/timeline/[...pkg].get.ts b/server/api/registry/timeline/[...pkg].get.ts index 05ffbecdf6..aa4455513f 100644 --- a/server/api/registry/timeline/[...pkg].get.ts +++ b/server/api/registry/timeline/[...pkg].get.ts @@ -18,6 +18,13 @@ export interface TimelineResponse { total: number } +export interface SubEvent { + key: string + positive: boolean + icon: string + text: string +} + /** * Returns paginated version timeline data for a package. * diff --git a/server/api/social/likes/[...pkg].get.ts b/server/api/social/likes/[...pkg].get.ts index 654d5c6120..cb14a0f657 100644 --- a/server/api/social/likes/[...pkg].get.ts +++ b/server/api/social/likes/[...pkg].get.ts @@ -1,5 +1,7 @@ import * as v from 'valibot' import { PackageRouteParamsSchema } from '#shared/schemas/package' +import { PACKAGE_SUBJECT_REF } from '#shared/utils/constants' +import { getTopLikedRank } from '#server/utils/likes-leaderboard' /** * GET /api/social/likes/:name @@ -23,7 +25,15 @@ export default eventHandlerWithOAuthSession(async (event, oAuthSession, _) => { }) const likesUtil = new PackageLikesUtils() - return await likesUtil.getLikes(packageName, oAuthSession?.did.toString()) + const [likes, topLikedRank] = await Promise.all([ + likesUtil.getLikes(packageName, oAuthSession?.did.toString()), + getTopLikedRank(event, PACKAGE_SUBJECT_REF(packageName)), + ]) + + return { + ...likes, + topLikedRank, + } } catch (error: unknown) { handleApiError(error, { statusCode: 502, diff --git a/server/utils/atproto/utils/likes.ts b/server/utils/atproto/utils/likes.ts index 0a547fb6f1..9afa6af032 100644 --- a/server/utils/atproto/utils/likes.ts +++ b/server/utils/atproto/utils/likes.ts @@ -144,8 +144,9 @@ export class PackageLikesUtils { } return { - totalLikes: totalLikes, + totalLikes, userHasLiked, + topLikedRank: null, } } @@ -208,8 +209,9 @@ export class PackageLikesUtils { // We already know the user has not liked the package before so set in the cache await this.cache.set(CACHE_USER_LIKES_KEY(packageName, usersDid), true, CACHE_MAX_AGE) return { - totalLikes: totalLikes, + totalLikes, userHasLiked: true, + topLikedRank: null, } } @@ -277,8 +279,9 @@ export class PackageLikesUtils { await this.cache.delete(CACHE_USERS_BACK_LINK(packageName, usersDid)) return { - totalLikes: totalLikes, + totalLikes, userHasLiked: false, + topLikedRank: null, } } diff --git a/server/utils/likes-leaderboard.ts b/server/utils/likes-leaderboard.ts new file mode 100644 index 0000000000..66a4a566e5 --- /dev/null +++ b/server/utils/likes-leaderboard.ts @@ -0,0 +1,253 @@ +import type { H3Event } from 'h3' +import * as v from 'valibot' +import type { LikesLeaderboardEntry } from '#shared/types/social' +import type { CachedFetchFunction } from '#shared/utils/fetch-cache-config' +import { getHomepageMetadata } from '#server/utils/npm-homepage' +import { fetchNpmPackage } from '#server/utils/npm' +import { GIT_PROVIDER_API_ORIGINS, parseRepoUrl, type RepoRef } from '#shared/utils/git-providers' +import { encodePackageName } from '#shared/utils/npm' +import { + CACHE_MAX_AGE_FIVE_MINUTES, + CACHE_MAX_AGE_ONE_HOUR, + LIKES_LEADERBOARD_API_URL, + NPM_API, +} from '#shared/utils/constants' + +const UpstreamLikesLeaderboardEntrySchema = v.object({ + subjectRef: v.string(), + totalLikes: v.number(), +}) + +const UpstreamLikesLeaderboardResponseSchema = v.object({ + leaderBoard: v.array(UpstreamLikesLeaderboardEntrySchema), +}) + +const LIKES_LEADERBOARD_FETCH_TIMEOUT_MS = 750 + +const GithubRepositoryMetaResponseSchema = v.object({ + repo: v.nullable( + v.object({ + stars: v.optional(v.number()), + }), + ), +}) + +const NpmDownloadCountSchema = v.object({ + downloads: v.number(), +}) + +export const LIKES_LEADERBOARD_MAX_ENTRIES = 10 + +export function extractPackageNameFromSubjectRef(subjectRef: string): string | null { + const match = /^https:\/\/npmx\.dev\/package\/(.+)$/.exec(subjectRef) + if (!match?.[1]) return null + + try { + return decodeURIComponent(match[1]) + } catch { + return match[1] + } +} + +export function normalizeLikesLeaderboardPayload(payload: unknown): LikesLeaderboardEntry[] | null { + const parsedPayload = v.safeParse(UpstreamLikesLeaderboardResponseSchema, payload) + if (!parsedPayload.success) { + return null + } + + // PRECONDITION: the response is already sorted by totalLikes in descending order + return ( + parsedPayload.output.leaderBoard + .map((entry): LikesLeaderboardEntry | null => { + const packageName = extractPackageNameFromSubjectRef(entry.subjectRef) + if (!packageName) return null + + return { + rank: 0, + packageName, + subjectRef: entry.subjectRef, + totalLikes: entry.totalLikes, + packageDescription: null, + weeklyDownloads: null, + repositoryStars: null, + homepagePreviewUrl: null, + homepagePreviewWidth: null, + homepagePreviewHeight: null, + homepageLogoUrl: null, + homepageLogoWidth: null, + homepageLogoHeight: null, + } + }) + .filter((entry): entry is LikesLeaderboardEntry => entry !== null) + // oxlint-disable-next-line no-map-spread -- only a few elements + .map((entry, index) => ({ + ...entry, + rank: index + 1, + })) + ) +} + +async function getLeaderboardEntryMetadata( + cachedFetch: CachedFetchFunction, + packageName: string, +): Promise<{ + packageDescription: string | null + weeklyDownloads: number | null + homepageUrl: string | null + githubRepositoryRef: RepoRef | null +}> { + try { + const encodedPackageName = encodePackageName(packageName) + const [packument, downloadsResult] = await Promise.all([ + fetchNpmPackage(packageName), + cachedFetch( + `${NPM_API}/downloads/point/last-week/${encodedPackageName}`, + { + headers: { + 'User-Agent': 'npmx', + 'Accept': 'application/json', + }, + }, + CACHE_MAX_AGE_FIVE_MINUTES, + ).catch(() => null), + ]) + const rawRepositoryUrl = + typeof packument.repository === 'string' ? packument.repository : packument.repository?.url + const packageDescription = + typeof packument.description === 'string' ? packument.description : null + const homepageUrl = typeof packument.homepage === 'string' ? packument.homepage : null + const parsedDownloads = downloadsResult + ? v.safeParse(NpmDownloadCountSchema, downloadsResult.data) + : null + const weeklyDownloads = parsedDownloads?.success ? parsedDownloads.output.downloads : null + if (!rawRepositoryUrl) { + return { + packageDescription, + weeklyDownloads, + homepageUrl, + githubRepositoryRef: null, + } + } + + const repositoryRef = parseRepoUrl(rawRepositoryUrl) + if (!repositoryRef || repositoryRef.provider !== 'github') { + return { + packageDescription, + weeklyDownloads, + homepageUrl, + githubRepositoryRef: null, + } + } + + return { + packageDescription, + weeklyDownloads, + homepageUrl, + githubRepositoryRef: repositoryRef, + } + } catch { + return { + packageDescription: null, + weeklyDownloads: null, + homepageUrl: null, + githubRepositoryRef: null, + } + } +} + +async function getGithubRepositoryStars( + cachedFetch: CachedFetchFunction, + githubRepositoryRef: RepoRef, +): Promise { + try { + const { data } = await cachedFetch( + `${GIT_PROVIDER_API_ORIGINS.github}/repos/${githubRepositoryRef.owner}/${githubRepositoryRef.repo}`, + { + headers: { + 'User-Agent': 'npmx', + 'Accept': 'application/json', + }, + }, + CACHE_MAX_AGE_ONE_HOUR, + ) + + const parsedResponse = v.safeParse(GithubRepositoryMetaResponseSchema, data) + if (!parsedResponse.success) return null + + return parsedResponse.output.repo?.stars ?? null + } catch { + return null + } +} + +export async function getLikesLeaderboard(event: H3Event): Promise { + const cachedFetch = event.context.cachedFetch as CachedFetchFunction | undefined + if (!cachedFetch) { + console.error('[likes-leaderboard] Missing cachedFetch in request context') + return null + } + + try { + const url = new URL(LIKES_LEADERBOARD_API_URL) + url.searchParams.set('limit', LIKES_LEADERBOARD_MAX_ENTRIES.toString()) + + const { data } = await cachedFetch( + url.toString(), + { + headers: { + 'User-Agent': 'npmx', + 'Accept': 'application/json', + }, + signal: AbortSignal.timeout(LIKES_LEADERBOARD_FETCH_TIMEOUT_MS), + }, + CACHE_MAX_AGE_ONE_HOUR, + ) + + return normalizeLikesLeaderboardPayload(data) + } catch (err) { + console.error( + '[likes-leaderboard] Failed to fetch likes leaderboard:', + err instanceof Error ? err.message : 'Unknown error', + ) + return null + } +} + +export async function enrichLikesLeaderboardEntries( + event: H3Event, + leaderboardEntries: LikesLeaderboardEntry[], +): Promise { + const cachedFetch = event.context.cachedFetch as CachedFetchFunction | undefined + if (!cachedFetch) { + return leaderboardEntries + } + + return await Promise.all( + leaderboardEntries.map(async entry => { + const { packageDescription, weeklyDownloads, homepageUrl, githubRepositoryRef } = + await getLeaderboardEntryMetadata(cachedFetch, entry.packageName) + const [homepageMetadata, repositoryStars] = await Promise.all([ + getHomepageMetadata(event, homepageUrl), + githubRepositoryRef ? getGithubRepositoryStars(cachedFetch, githubRepositoryRef) : null, + ]) + + return { + ...entry, + packageDescription, + weeklyDownloads, + repositoryStars, + homepagePreviewUrl: homepageMetadata.homepagePreviewUrl, + homepagePreviewWidth: homepageMetadata.homepagePreviewWidth, + homepagePreviewHeight: homepageMetadata.homepagePreviewHeight, + homepageLogoUrl: homepageMetadata.homepageLogoUrl, + homepageLogoWidth: homepageMetadata.homepageLogoWidth, + homepageLogoHeight: homepageMetadata.homepageLogoHeight, + } + }), + ) +} + +export async function getTopLikedRank(event: H3Event, subjectRef: string): Promise { + const leaderboard = await getLikesLeaderboard(event) + return leaderboard?.find(entry => entry.subjectRef === subjectRef)?.rank ?? null +} diff --git a/server/utils/npm-homepage.ts b/server/utils/npm-homepage.ts new file mode 100644 index 0000000000..fd884413ab --- /dev/null +++ b/server/utils/npm-homepage.ts @@ -0,0 +1,111 @@ +import type { H3Event } from 'h3' +import * as v from 'valibot' +import type { CachedFetchFunction } from '#shared/utils/fetch-cache-config' +import { isAllowedImageUrl, toProxiedImageUrl } from '#server/utils/image-proxy' +import { fetchNpmPackage } from '#server/utils/npm' +import { CACHE_MAX_AGE_ONE_DAY, MICROLINK_API } from '#shared/utils/constants' + +const MICROLINK_FETCH_TIMEOUT_MS = 1500 + +const MicrolinkAssetSchema = v.object({ + url: v.string(), + width: v.optional(v.number()), + height: v.optional(v.number()), +}) + +const MicrolinkResponseSchema = v.object({ + data: v.object({ + image: v.optional(v.nullable(MicrolinkAssetSchema)), + logo: v.optional(v.nullable(MicrolinkAssetSchema)), + }), +}) + +export type HomepageMetadata = { + homepageUrl: string | null + homepagePreviewUrl: string | null + homepagePreviewWidth: number | null + homepagePreviewHeight: number | null + homepageLogoUrl: string | null + homepageLogoWidth: number | null + homepageLogoHeight: number | null +} + +export function emptyHomepageMetadata(homepageUrl: string | null = null): HomepageMetadata { + return { + homepageUrl, + homepagePreviewUrl: null, + homepagePreviewWidth: null, + homepagePreviewHeight: null, + homepageLogoUrl: null, + homepageLogoWidth: null, + homepageLogoHeight: null, + } +} + +function getDisplayImageUrl(event: H3Event, url: string): string | null { + if (!isAllowedImageUrl(url)) return null + + const imageProxySecret = useRuntimeConfig(event).imageProxySecret + return imageProxySecret ? toProxiedImageUrl(url, imageProxySecret) : url +} + +export async function getHomepageMetadata( + event: H3Event, + homepageUrl: string | null | undefined, +): Promise { + if (!homepageUrl) return emptyHomepageMetadata() + + const cachedFetch = event.context.cachedFetch as CachedFetchFunction | undefined + if (!cachedFetch) return emptyHomepageMetadata(homepageUrl) + + try { + const url = new URL(MICROLINK_API) + url.searchParams.set('url', homepageUrl) + + // Microlink's free tier is limited to 50 requests/day, so keep this cached + // aggressively. Homepage previews/logos rarely change, and stale media here + // is fine for decorative UI enrichment. + const { data } = await cachedFetch( + url.toString(), + { + headers: { + 'User-Agent': 'npmx', + 'Accept': 'application/json', + }, + signal: AbortSignal.timeout(MICROLINK_FETCH_TIMEOUT_MS), + }, + CACHE_MAX_AGE_ONE_DAY, + ) + + const parsedResponse = v.safeParse(MicrolinkResponseSchema, data) + if (!parsedResponse.success) return emptyHomepageMetadata(homepageUrl) + + const image = parsedResponse.output.data.image + const logo = parsedResponse.output.data.logo + + return { + homepageUrl, + homepagePreviewUrl: image ? getDisplayImageUrl(event, image.url) : null, + homepagePreviewWidth: image?.width ?? null, + homepagePreviewHeight: image?.height ?? null, + homepageLogoUrl: logo ? getDisplayImageUrl(event, logo.url) : null, + homepageLogoWidth: logo?.width ?? null, + homepageLogoHeight: logo?.height ?? null, + } + } catch { + return emptyHomepageMetadata(homepageUrl) + } +} + +export async function getPackageHomepageMetadata( + event: H3Event, + packageName: string, +): Promise { + try { + const packument = await fetchNpmPackage(packageName) + const homepageUrl = typeof packument.homepage === 'string' ? packument.homepage : null + return await getHomepageMetadata(event, homepageUrl) + } catch { + return emptyHomepageMetadata() + } +} diff --git a/server/utils/readme.ts b/server/utils/readme.ts index e78f9a51b3..ce5851b6ce 100644 --- a/server/utils/readme.ts +++ b/server/utils/readme.ts @@ -558,7 +558,7 @@ export async function renderReadmeHtml( return `${displayHtml}\n` } - const anchorTokenRegex = /^$/ + const anchorTokenRegex = /^$/ renderer.heading = function ({ tokens, depth }: Tokens.Heading) { const isAnchorHeading = anchorTokenRegex.test(tokens[0]?.raw ?? '') && tokens[tokens.length - 1]?.raw === '' diff --git a/shared/types/npm-registry.ts b/shared/types/npm-registry.ts index 6ffe94aded..2c568e2503 100644 --- a/shared/types/npm-registry.ts +++ b/shared/types/npm-registry.ts @@ -23,10 +23,12 @@ export interface PackumentVersion extends PackumentVersionWithoutAttestations { dist: PackumentVersionWithoutAttestations['dist'] & { attestations?: NpmVersionAttestations } } +export type PackumentLicense = string | { type: string; url?: string } + export type Packument = Omit & { // Fix for license field being incorrectly typed in @npm/types // TODO: Remove this type override when @npm/types fixes the license field typing - license?: string | { type: string; url?: string } + license?: PackumentLicense versions: Record } diff --git a/shared/types/social.ts b/shared/types/social.ts index 22002caa30..b74e6595e8 100644 --- a/shared/types/social.ts +++ b/shared/types/social.ts @@ -6,6 +6,24 @@ export type PackageLikes = { totalLikes: number // If the logged in user has liked the package, false if not logged in userHasLiked: boolean + // Top-likes leaderboard rank if the package is in the top 10 + topLikedRank: number | null +} + +export type LikesLeaderboardEntry = { + rank: number + packageName: string + subjectRef: string + totalLikes: number + packageDescription: string | null + weeklyDownloads: number | null + repositoryStars: number | null + homepagePreviewUrl: string | null + homepagePreviewWidth: number | null + homepagePreviewHeight: number | null + homepageLogoUrl: string | null + homepageLogoWidth: number | null + homepageLogoHeight: number | null } /** diff --git a/shared/utils/constants.ts b/shared/utils/constants.ts index 16fecc3beb..3138c76e0b 100644 --- a/shared/utils/constants.ts +++ b/shared/utils/constants.ts @@ -15,6 +15,10 @@ export const BLUESKY_API = 'https://public.api.bsky.app' export const BLUESKY_COMMENTS_REQUEST = '/api/atproto/bluesky-comments' export const NPM_REGISTRY = 'https://registry.npmjs.org' export const NPM_API = 'https://api.npmjs.org' +export const MICROLINK_API = 'https://api.microlink.io' +// Repo: https://tangled.org/baileytownsend.dev/npmx-likes-leaderboard +export const LIKES_LEADERBOARD_API_URL = + 'https://npmx-likes-leaderboard-api-production.up.railway.app/api/leaderboard/likes' // Error Messages export const ERROR_PACKAGE_ANALYSIS_FAILED = 'Failed to analyze package.' export const ERROR_PACKAGE_VERSION_AND_FILE_FAILED = 'Version and file path are required.' diff --git a/shared/utils/fetch-cache-config.ts b/shared/utils/fetch-cache-config.ts index 83c1467437..39a58791fb 100644 --- a/shared/utils/fetch-cache-config.ts +++ b/shared/utils/fetch-cache-config.ts @@ -5,7 +5,12 @@ * using Nitro's storage layer (backed by Vercel's runtime cache in production). */ -import { CONSTELLATION_HOST, SLINGSHOT_HOST } from './constants' +import { + CONSTELLATION_HOST, + LIKES_LEADERBOARD_API_URL, + MICROLINK_API, + SLINGSHOT_HOST, +} from './constants' /** * Domains that should have their fetch responses cached. @@ -29,6 +34,8 @@ export const FETCH_CACHE_ALLOWED_DOMAINS = [ // microcosm endpoints for atproto data CONSTELLATION_HOST, SLINGSHOT_HOST, + new URL(LIKES_LEADERBOARD_API_URL).host, + new URL(MICROLINK_API).host, ] as const /** diff --git a/test/fixtures/likes-leaderboard.ts b/test/fixtures/likes-leaderboard.ts new file mode 100644 index 0000000000..725a119e99 --- /dev/null +++ b/test/fixtures/likes-leaderboard.ts @@ -0,0 +1,23 @@ +import type { LikesLeaderboardEntry } from '#shared/types/social' + +export function createLikesLeaderboardEntry( + packageName: string, + overrides: Partial = {}, +): LikesLeaderboardEntry { + return { + rank: 1, + packageName, + subjectRef: `https://npmx.dev/package/${packageName}`, + totalLikes: 0, + packageDescription: null, + weeklyDownloads: null, + repositoryStars: null, + homepagePreviewUrl: null, + homepagePreviewWidth: null, + homepagePreviewHeight: null, + homepageLogoUrl: null, + homepageLogoWidth: null, + homepageLogoHeight: null, + ...overrides, + } +} diff --git a/test/fixtures/microlink/kit.svelte.dev.json b/test/fixtures/microlink/kit.svelte.dev.json new file mode 100644 index 0000000000..26c7fbbb0e --- /dev/null +++ b/test/fixtures/microlink/kit.svelte.dev.json @@ -0,0 +1,11 @@ +{ + "status": "success", + "data": { + "image": null, + "logo": { + "url": "https://images.example.com/svelte-logo.svg", + "width": 256, + "height": 256 + } + } +} diff --git a/test/fixtures/microlink/nuxt.com.json b/test/fixtures/microlink/nuxt.com.json new file mode 100644 index 0000000000..6fb35d296f --- /dev/null +++ b/test/fixtures/microlink/nuxt.com.json @@ -0,0 +1,11 @@ +{ + "status": "success", + "data": { + "image": null, + "logo": { + "url": "https://images.example.com/nuxt-logo.svg", + "width": 256, + "height": 256 + } + } +} diff --git a/test/fixtures/microlink/react.dev.json b/test/fixtures/microlink/react.dev.json new file mode 100644 index 0000000000..0c62fd9776 --- /dev/null +++ b/test/fixtures/microlink/react.dev.json @@ -0,0 +1,11 @@ +{ + "status": "success", + "data": { + "image": null, + "logo": { + "url": "https://images.example.com/react-logo.svg", + "width": 256, + "height": 256 + } + } +} diff --git a/test/fixtures/microlink/vuejs.org.json b/test/fixtures/microlink/vuejs.org.json new file mode 100644 index 0000000000..9ff7da1693 --- /dev/null +++ b/test/fixtures/microlink/vuejs.org.json @@ -0,0 +1,15 @@ +{ + "status": "success", + "data": { + "image": { + "url": "https://images.example.com/vue-home.png", + "width": 1200, + "height": 630 + }, + "logo": { + "url": "https://images.example.com/vue-logo.svg", + "width": 256, + "height": 256 + } + } +} diff --git a/test/fixtures/mock-routes.cjs b/test/fixtures/mock-routes.cjs index 8992850120..775372a268 100644 --- a/test/fixtures/mock-routes.cjs +++ b/test/fixtures/mock-routes.cjs @@ -32,6 +32,16 @@ function readFixture(relativePath) { } } +/** + * @param {string} homepageUrl + * @returns {string} + */ +function microlinkFixturePath(homepageUrl) { + const url = new URL(homepageUrl) + const pathname = url.pathname === '/' ? '' : url.pathname.replaceAll('/', '_') + return `microlink/${url.hostname}${pathname}.json` +} + /** * Parse a scoped package name into its components. * Handles formats like: @scope/name, @scope/name@version, name, name@version @@ -624,6 +634,19 @@ function matchGitHubApi(urlString) { return null } +/** + * @param {string} urlString + * @returns {MockResponse | null} + */ +function matchMicrolinkApi(urlString) { + const url = new URL(urlString) + const homepageUrl = url.searchParams.get('url') + if (!homepageUrl) return null + + const fixture = readFixture(microlinkFixturePath(homepageUrl)) + return fixture ? json(fixture) : null +} + /** * Route definitions mapping URL patterns to their matchers. * Each entry has a pattern (for Playwright's page.route) and a match function @@ -646,6 +669,7 @@ const routes = [ }, { name: 'Gravatar API', pattern: 'https://www.gravatar.com/**', match: matchGravatarApi }, { name: 'GitHub API', pattern: 'https://api.github.com/**', match: matchGitHubApi }, + { name: 'Microlink API', pattern: 'https://api.microlink.io/**', match: matchMicrolinkApi }, { name: 'UNGH API', pattern: 'https://ungh.cc/**', match: matchUnghApi }, { name: 'Constellation API', diff --git a/test/nuxt/a11y.spec.ts b/test/nuxt/a11y.spec.ts index 8cc9dacc55..2fae464f53 100644 --- a/test/nuxt/a11y.spec.ts +++ b/test/nuxt/a11y.spec.ts @@ -1,9 +1,10 @@ import type { ColumnConfig, FilterChip } from '#shared/types/preferences' -import { mountSuspended } from '@nuxt/test-utils/runtime' +import { mountSuspended, registerEndpoint } from '@nuxt/test-utils/runtime' import type { VueWrapper } from '@vue/test-utils' import 'axe-core' import type { AxeResults, RunOptions } from 'axe-core' import { afterEach, beforeEach, describe, expect, it, type MockInstance, vi } from 'vitest' +import { createLikesLeaderboardEntry } from '~~/test/fixtures/likes-leaderboard' // axe-core is a UMD module that exposes itself as window.axe in the browser declare const axe: { @@ -268,10 +269,12 @@ import SearchProviderToggleServer from '~/components/SearchProviderToggle.server import PackageTrendsChart from '~/components/Package/TrendsChart.vue' import FacetBarChart from '~/components/Compare/FacetBarChart.vue' import FacetScatterChart from '~/components/Compare/FacetScatterChart.vue' +import PackageTimelineChart from '~/components/Package/TimelineChart.vue' import PackageLikeCard from '~/components/Package/LikeCard.vue' import SizeIncrease from '~/components/Package/SizeIncrease.vue' import SizeDecrease from '~/components/Package/SizeDecrease.vue' import Likes from '~/components/Package/Likes.vue' +import LikesLeaderboardPage from '~/pages/leaderboard/likes.vue' import type { VueUiXyDatasetItem } from 'vue-data-ui' describe('component accessibility audits', () => { @@ -683,6 +686,70 @@ describe('component accessibility audits', () => { const results = await runAxe(component) expect(results.violations).toEqual([]) }) + + it('should have no accessibility violations with the top-liked badge visible', async () => { + registerEndpoint('/api/social/likes/lodash', () => ({ + totalLikes: 42, + userHasLiked: false, + topLikedRank: 3, + })) + + const component = await mountSuspended(Likes, { + props: { packageName: 'lodash' }, + }) + + // Likes fetches client-side (`server: false`), so wait for the fetched badge + // state before running axe against the rendered variant. + await vi.waitFor(() => { + expect(component.text()).toContain('#3') + }) + + const results = await runAxe(component) + expect(results.violations).toEqual([]) + }) + }) + + describe('LikesLeaderboardPage', () => { + it('should have no accessibility violations when data is available', async () => { + clearNuxtData() + registerEndpoint('/api/leaderboard/likes', () => [ + createLikesLeaderboardEntry('vue', { + rank: 1, + totalLikes: 120, + homepagePreviewUrl: 'https://images.example.com/vue-home.png', + homepagePreviewWidth: 1200, + homepagePreviewHeight: 630, + }), + ]) + + const component = await mountSuspended(LikesLeaderboardPage, { + route: '/leaderboard/likes', + }) + + await vi.waitFor(() => { + expect(component.text()).toContain('Likes Leaderboard') + expect(component.text()).toContain('vue') + }) + + const results = await runAxe(component) + expect(results.violations).toEqual([]) + }) + + it('should have no accessibility violations when unavailable', async () => { + clearNuxtData() + registerEndpoint('/api/leaderboard/likes', () => []) + + const component = await mountSuspended(LikesLeaderboardPage, { + route: '/leaderboard/likes', + }) + + await vi.waitFor(() => { + expect(component.text()).toContain('No likes leaderboard yet') + }) + + const results = await runAxe(component) + expect(results.violations).toEqual([]) + }) }) describe('TagRadioButton', () => { @@ -1000,6 +1067,22 @@ describe('component accessibility audits', () => { expect(results.violations).toEqual([]) }) + describe('PackageTimelineChart', () => { + it('should have no accessibility violations', async () => { + const wrapper = await mountSuspended(PackageTimelineChart, { + props: { + sizeCache: new Map(), + versionSubEvents: new Map(), + timelineEntries: [], + selectedVersion: null, + loading: false, + }, + }) + const results = await runAxe(wrapper) + expect(results.violations).toEqual([]) + }) + }) + describe('FacetBarChart', () => { it('should have no accessibility violations', async () => { const wrapper = await mountSuspended(FacetBarChart, { diff --git a/test/nuxt/components/Package/Likes.spec.ts b/test/nuxt/components/Package/Likes.spec.ts new file mode 100644 index 0000000000..4dd367f9b6 --- /dev/null +++ b/test/nuxt/components/Package/Likes.spec.ts @@ -0,0 +1,117 @@ +import type { VueWrapper } from '@vue/test-utils' +import { mountSuspended, registerEndpoint } from '@nuxt/test-utils/runtime' +import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' +import { ref } from 'vue' +import Likes from '~/components/Package/Likes.vue' + +const { mockUseAtproto } = vi.hoisted(() => ({ + mockUseAtproto: vi.fn(), +})) + +vi.mock('~/composables/atproto/useAtproto', () => ({ + useAtproto: mockUseAtproto, +})) + +describe('PackageLikes', () => { + let wrapper: VueWrapper | undefined + + beforeEach(() => { + mockUseAtproto.mockReturnValue({ + user: ref(null), + pending: ref(false), + logout: vi.fn(), + }) + }) + + afterEach(() => { + wrapper?.unmount() + }) + + it('renders the top liked badge with rank and leaderboard link', async () => { + registerEndpoint('/api/social/likes/vue', () => ({ + totalLikes: 42, + userHasLiked: false, + topLikedRank: 3, + })) + + wrapper = await mountSuspended(Likes, { + props: { packageName: 'vue' }, + attachTo: document.body, + }) + + // Likes fetches client-side (`server: false`), so the mounted component needs + // to wait for the post-mount request to resolve before asserting on fetched UI. + await vi.waitFor(() => { + expect(wrapper?.text()).toContain('42') + expect(wrapper?.find('[data-testid="top-liked-badge"]').exists()).toBe(true) + }) + + const badge = wrapper.find('[data-testid="top-liked-badge"]') + expect(badge.text()).toContain('#3') + expect(badge.attributes('href')).toBe('/leaderboard/likes') + expect(badge.attributes('aria-label')).toBe( + 'View likes leaderboard. This package is ranked #3.', + ) + }) + + it('does not render the top liked badge when rank is unavailable', async () => { + registerEndpoint('/api/social/likes/react', () => ({ + totalLikes: 42, + userHasLiked: false, + topLikedRank: null, + })) + + wrapper = await mountSuspended(Likes, { + props: { packageName: 'react' }, + attachTo: document.body, + }) + + await vi.waitFor(() => { + expect(wrapper?.text()).toContain('42') + }) + + expect(wrapper.find('[data-testid="top-liked-badge"]').exists()).toBe(false) + }) + + it('keeps the top liked badge when a like response omits the rank', async () => { + let likeRequests = 0 + + mockUseAtproto.mockReturnValue({ + user: ref({ handle: 'tester.test' }), + pending: ref(false), + logout: vi.fn(), + }) + + registerEndpoint('/api/social/likes/svelte', () => ({ + totalLikes: 42, + userHasLiked: false, + topLikedRank: 3, + })) + registerEndpoint('/api/social/like', () => { + likeRequests++ + + return { + totalLikes: 43, + userHasLiked: true, + topLikedRank: null, + } + }) + + wrapper = await mountSuspended(Likes, { + props: { packageName: 'svelte' }, + attachTo: document.body, + }) + + await vi.waitFor(() => { + expect(wrapper?.find('[data-testid="top-liked-badge"]').text()).toContain('#3') + }) + + await wrapper.get('button').trigger('click') + + await vi.waitFor(() => { + expect(likeRequests).toBe(1) + expect(wrapper?.text()).toContain('43') + expect(wrapper?.find('[data-testid="top-liked-badge"]').text()).toContain('#3') + }) + }) +}) diff --git a/test/nuxt/pages/LikesLeaderboardPage.spec.ts b/test/nuxt/pages/LikesLeaderboardPage.spec.ts new file mode 100644 index 0000000000..d5b0a31a09 --- /dev/null +++ b/test/nuxt/pages/LikesLeaderboardPage.spec.ts @@ -0,0 +1,88 @@ +import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' +import { mountSuspended, registerEndpoint } from '@nuxt/test-utils/runtime' +import type { VueWrapper } from '@vue/test-utils' +import { createLikesLeaderboardEntry } from '~~/test/fixtures/likes-leaderboard' +import LikesLeaderboardPage from '~/pages/leaderboard/likes.vue' + +describe('likes leaderboard page', () => { + let wrapper: VueWrapper | undefined + + beforeEach(() => { + // This page remounts the same useFetch source with different mocked responses + // across tests, so reset Nuxt's async-data store between cases. + clearNuxtData() + }) + + afterEach(() => { + wrapper?.unmount() + }) + + it('renders ranked rows from the local leaderboard API', async () => { + registerEndpoint('/api/leaderboard/likes', () => [ + createLikesLeaderboardEntry('vue', { + rank: 1, + totalLikes: 120, + homepagePreviewUrl: 'https://images.example.com/vue-home.png', + homepagePreviewWidth: 1200, + homepagePreviewHeight: 630, + }), + createLikesLeaderboardEntry('@nuxt/kit', { + rank: 2, + totalLikes: 90, + }), + createLikesLeaderboardEntry('react', { + rank: 3, + totalLikes: 80, + }), + createLikesLeaderboardEntry('svelte', { + rank: 4, + totalLikes: 70, + packageDescription: 'Cybernetically enhanced web apps.', + weeklyDownloads: 700, + homepageLogoUrl: 'https://images.example.com/svelte-logo.svg', + homepageLogoWidth: 256, + homepageLogoHeight: 256, + }), + ]) + + wrapper = await mountSuspended(LikesLeaderboardPage, { + route: '/leaderboard/likes', + }) + + await vi.waitFor(() => { + expect(wrapper?.text()).toContain('Likes Leaderboard') + expect(wrapper?.text()).toContain('vue') + expect(wrapper?.text()).toContain('@nuxt/kit') + expect(wrapper?.text()).toContain('svelte') + expect(wrapper?.text()).toContain('Cybernetically enhanced web apps.') + expect(wrapper?.text()).toContain('700/wk') + }) + + expect(wrapper.text()).toContain('#1') + expect(wrapper.find('img[src="https://images.example.com/vue-home.png"]').exists()).toBe(true) + expect( + wrapper + .find('[data-testid="likes-leaderboard-desktop-podium"]') + .findAll('a') + .map(link => link.attributes('href')), + ).toEqual(['/package/vue', '/package/@nuxt/kit', '/package/react']) + expect(wrapper.find('img[src="https://images.example.com/svelte-logo.svg"]').exists()).toBe( + true, + ) + expect(wrapper.find('a[href="/package/svelte"]').exists()).toBe(true) + }) + + it('renders the unavailable state when the local leaderboard API is unavailable', async () => { + registerEndpoint('/api/leaderboard/likes', () => []) + + wrapper = await mountSuspended(LikesLeaderboardPage, { + route: '/leaderboard/likes', + }) + + await vi.waitFor(() => { + expect(wrapper?.text()).toContain('No likes leaderboard yet') + }) + + expect(wrapper.text()).toContain("We don't have a likes leaderboard to show right now.") + }) +}) diff --git a/test/unit/app/composables/use-chart-tooltip-position.spec.ts b/test/unit/app/composables/use-chart-tooltip-position.spec.ts new file mode 100644 index 0000000000..70429da797 --- /dev/null +++ b/test/unit/app/composables/use-chart-tooltip-position.spec.ts @@ -0,0 +1,122 @@ +import type { computed } from 'vue' +import { ref, shallowRef } from 'vue' +import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' +import { useChartTooltipPosition } from '~/composables/useChartTooltipPosition' + +const mouseState = vi.hoisted(() => ({ + target: null as unknown, +})) + +const elementX = ref(0) +const elementWidth = ref(0) +const isOutside = ref(true) + +const MockHTMLElement = class { + public readonly nodeType = 1 +} + +vi.stubGlobal('HTMLElement', MockHTMLElement) + +afterEach(() => { + vi.unstubAllGlobals() +}) + +vi.mock('@vueuse/core', () => ({ + useMouseInElement: vi.fn(target => { + mouseState.target = target + + return { + elementX, + elementWidth, + isOutside, + } + }), +})) + +describe('useChartTooltipPosition', () => { + beforeEach(() => { + vi.stubGlobal('HTMLElement', MockHTMLElement) + elementX.value = 0 + elementWidth.value = 0 + isOutside.value = true + mouseState.target = null + }) + + it('returns center when the mouse is outside', () => { + const element = new MockHTMLElement() as HTMLElement + const position = useChartTooltipPosition(shallowRef(element)) + + isOutside.value = true + elementWidth.value = 100 + elementX.value = 75 + + expect(position.value).toBe('center') + }) + + it('returns center when element width is 0', () => { + const element = new MockHTMLElement() as HTMLElement + const position = useChartTooltipPosition(shallowRef(element)) + isOutside.value = false + elementWidth.value = 0 + elementX.value = 75 + expect(position.value).toBe('center') + }) + + it('returns left when the mouse is on the right half of the element', () => { + const element = new MockHTMLElement() as HTMLElement + const position = useChartTooltipPosition(shallowRef(element)) + isOutside.value = false + elementWidth.value = 100 + elementX.value = 51 + expect(position.value).toBe('left') + }) + + it('returns right when the mouse is on the left half of the element', () => { + const element = new MockHTMLElement() as HTMLElement + const position = useChartTooltipPosition(shallowRef(element)) + isOutside.value = false + elementWidth.value = 100 + elementX.value = 49 + expect(position.value).toBe('right') + }) + + it('returns right when the mouse is exactly at the center', () => { + const element = new MockHTMLElement() as HTMLElement + const position = useChartTooltipPosition(shallowRef(element)) + isOutside.value = false + elementWidth.value = 100 + elementX.value = 50 + expect(position.value).toBe('right') + }) + + it('accepts a Vue component ref exposing $el', () => { + const element = new MockHTMLElement() as HTMLElement + const componentReference = shallowRef({ $el: element }) + useChartTooltipPosition(componentReference) + expect((mouseState.target as ReturnType).value).toBe(element) + }) + + it('returns null as target when ref value is null', () => { + useChartTooltipPosition(shallowRef(null)) + expect((mouseState.target as ReturnType).value).toBe(null) + }) + + it('returns null when component ref has no $el', () => { + const componentReference = shallowRef({}) + useChartTooltipPosition(componentReference) + expect((mouseState.target as ReturnType).value).toBe(null) + }) + + it('uses the HTMLElement directly as target', () => { + const element = new MockHTMLElement() as HTMLElement + useChartTooltipPosition(shallowRef(element)) + expect((mouseState.target as ReturnType).value).toBe(element) + }) + + it('uses the component $el as target', () => { + const element = new MockHTMLElement() as HTMLElement + const componentReference = shallowRef({ $el: element }) + useChartTooltipPosition(componentReference) + expect((mouseState.target as ReturnType).value).toBe(element) + }) +}) diff --git a/test/unit/app/utils/charts.spec.ts b/test/unit/app/utils/charts.spec.ts index 72c3d6c998..ae2ff47593 100644 --- a/test/unit/app/utils/charts.spec.ts +++ b/test/unit/app/utils/charts.spec.ts @@ -11,6 +11,8 @@ import { copyAltTextForTrendLineChart, createAltTextForVersionsBarChart, copyAltTextForVersionsBarChart, + createAltTextForTimelineChart, + copyAltTextForTimelineChart, loadFile, sanitise, insertLineBreaks, @@ -19,6 +21,8 @@ import { type TrendLineDataset, type VersionsBarConfig, type VersionsBarDataset, + type TimelineChartConfig, + type EnrichedTimelineSizeCacheEntry, } from '~/utils/charts' import type { AltCopyArgs } from 'vue-data-ui' @@ -35,6 +39,19 @@ function createTranslateMock() { return { translate, calls } } +function createTimelineConfig(overrides: Partial = {}): TimelineChartConfig { + const { translate } = createTranslateMock() + const config: TimelineChartConfig = { + numberFormatter: (value: number) => `nf${value}`, + packageName: 'nuxt', + metric: 'totalSize', + copy: vi.fn(async () => undefined), + $t: translate, + } as unknown as TimelineChartConfig + + return { ...config, ...overrides } +} + function createTrendLineConfig(overrides: Partial = {}): TrendLineConfig { const { translate } = createTranslateMock() @@ -1187,6 +1204,80 @@ describe('copyAltTextForVersionsBarChart', () => { }) }) +const timelineDataset = [ + { + dependencyCount: 100, + events: [], + version: '4.0.0', + totalSize: 120_000_000, + }, + { + dependencyCount: 80, + events: [], + version: '4.0.1', + totalSize: 115_000_000, + }, +] as unknown as EnrichedTimelineSizeCacheEntry[] + +describe('createAltTextForTimelineChart', () => { + it('handles empty dataset without throwing', () => { + const { translate } = createTranslateMock() + const config = createTimelineConfig({ $t: translate }) + + expect(() => + createAltTextForTimelineChart({ + dataset: [], + config, + } as AltCopyArgs), + ).not.toThrow() + }) + + it('returns empty string when dataset is null', () => { + const translateMock = createTranslateMock() + const config = createTimelineConfig({ $t: translateMock.translate }) + + const result = createAltTextForTimelineChart({ + dataset: null, + config, + } as unknown as AltCopyArgs) + + expect(result).toBe('') + expect(translateMock.calls).toHaveLength(0) + }) + + it('returns an alt text', () => { + const translateMock = createTranslateMock() + const config = createTimelineConfig({ $t: translateMock.translate }) + + const result = createAltTextForTimelineChart({ + dataset: timelineDataset, + config, + } as unknown as AltCopyArgs) + + expect(result).toBe('t:package.timeline.chart.copy_alt.general_description') + expect(translateMock.calls).toHaveLength(3) + }) +}) + +describe('copyAltTextForTimelineChart', () => { + it('forwards createAltTextForTimelineChart result to config.copy', async () => { + const copyMock = vi.fn(async () => undefined) + const config = createTimelineConfig({ copy: copyMock }) + const expected = createAltTextForTimelineChart({ + dataset: timelineDataset, + config, + }) + + await copyAltTextForTimelineChart({ + dataset: timelineDataset, + config, + } as AltCopyArgs) + + expect(copyMock).toHaveBeenCalledTimes(1) + expect(copyMock).toHaveBeenCalledWith(expected) + }) +}) + describe('loadFile', () => { let createElementMock: ReturnType let clickMock: ReturnType diff --git a/test/unit/modules/security-headers.spec.ts b/test/unit/modules/security-headers.spec.ts index addf91a106..f8b285318c 100644 --- a/test/unit/modules/security-headers.spec.ts +++ b/test/unit/modules/security-headers.spec.ts @@ -1,3 +1,4 @@ +import process from 'node:process' import { beforeEach, describe, expect, it, vi } from 'vitest' const { useNuxt } = vi.hoisted(() => ({ diff --git a/test/unit/server/utils/likes-leaderboard.spec.ts b/test/unit/server/utils/likes-leaderboard.spec.ts new file mode 100644 index 0000000000..f6343605c3 --- /dev/null +++ b/test/unit/server/utils/likes-leaderboard.spec.ts @@ -0,0 +1,295 @@ +import { beforeEach, describe, expect, it, vi } from 'vitest' +import { fetchNpmPackage } from '#server/utils/npm' +import { getHomepageMetadata } from '#server/utils/npm-homepage' +import { NPM_API } from '#shared/utils/constants' +import { createLikesLeaderboardEntry } from '~~/test/fixtures/likes-leaderboard' +import { + enrichLikesLeaderboardEntries, + extractPackageNameFromSubjectRef, + getLikesLeaderboard, + getTopLikedRank, + normalizeLikesLeaderboardPayload, +} from '#server/utils/likes-leaderboard' + +vi.mock('#server/utils/npm', () => ({ + fetchNpmPackage: vi.fn(), +})) + +vi.mock('#server/utils/npm-homepage', () => ({ + getHomepageMetadata: vi.fn(), +})) + +type TestEvent = Parameters[0] +type TestCachedFetch = NonNullable +type HomepageMetadata = Awaited> +const fetchNpmPackageMock = vi.mocked(fetchNpmPackage) +const getHomepageMetadataMock = vi.mocked(getHomepageMetadata) + +const emptyHomepageMetadata: HomepageMetadata = { + homepageUrl: null, + homepagePreviewUrl: null, + homepagePreviewWidth: null, + homepagePreviewHeight: null, + homepageLogoUrl: null, + homepageLogoWidth: null, + homepageLogoHeight: null, +} + +function createEvent(cachedFetch: TestCachedFetch): TestEvent { + return { + context: { cachedFetch }, + } as TestEvent +} + +function homepageMetadata(overrides: Partial = {}): HomepageMetadata { + return { + ...emptyHomepageMetadata, + ...overrides, + } +} + +function cachedResult(data: unknown) { + return { + data, + isStale: false, + cachedAt: null, + } +} + +beforeEach(() => { + vi.clearAllMocks() + vi.stubGlobal('useRuntimeConfig', () => ({ + imageProxySecret: 'image-proxy-secret', + })) +}) + +describe('extractPackageNameFromSubjectRef', () => { + it('extracts package names from package subject refs', () => { + expect(extractPackageNameFromSubjectRef('https://npmx.dev/package/vue')).toBe('vue') + expect(extractPackageNameFromSubjectRef('https://npmx.dev/package/@scope/pkg')).toBe( + '@scope/pkg', + ) + expect(extractPackageNameFromSubjectRef('https://example.com/not-npmx')).toBeNull() + }) +}) + +describe('normalizeLikesLeaderboardPayload', () => { + it('normalizes upstream leaderboard payload into ranked entries', () => { + const result = normalizeLikesLeaderboardPayload({ + leaderBoard: [ + { subjectRef: 'https://npmx.dev/package/vue', totalLikes: 120 }, + { subjectRef: 'https://npmx.dev/package/@nuxt/kit', totalLikes: 90 }, + ], + }) + + expect(result).toEqual([ + createLikesLeaderboardEntry('vue', { + rank: 1, + totalLikes: 120, + }), + createLikesLeaderboardEntry('@nuxt/kit', { + rank: 2, + totalLikes: 90, + }), + ]) + }) + + it('returns null for invalid upstream payloads', () => { + expect(normalizeLikesLeaderboardPayload({ totalLikes: 10 })).toBeNull() + }) +}) + +describe('getLikesLeaderboard', () => { + it('returns null when the upstream fetch fails', async () => { + const cachedFetch = vi.fn().mockRejectedValue(new Error('boom')) + + const result = await getLikesLeaderboard(createEvent(cachedFetch)) + + expect(result).toBeNull() + expect(cachedFetch).toHaveBeenCalledOnce() + }) + + it('fetches from the external leaderboard API with limit=10', async () => { + const cachedFetch = vi.fn().mockResolvedValue( + cachedResult({ + leaderBoard: [{ subjectRef: 'https://npmx.dev/package/vue', totalLikes: 120 }], + }), + ) + + await getLikesLeaderboard(createEvent(cachedFetch)) + + expect(cachedFetch).toHaveBeenCalledWith( + 'https://npmx-likes-leaderboard-api-production.up.railway.app/api/leaderboard/likes?limit=10', + expect.objectContaining({ + headers: { + 'User-Agent': 'npmx', + 'Accept': 'application/json', + }, + signal: expect.any(AbortSignal), + }), + 3600, + ) + }) +}) + +describe('enrichLikesLeaderboardEntries', () => { + it('enriches entries with package, download, github, and homepage metadata', async () => { + const packuments: Record> = { + 'vue': { + description: 'The Progressive JavaScript Framework.', + homepage: 'https://vuejs.org', + repository: { url: 'https://github.com/vuejs/core' }, + }, + 'nuxt': { + description: 'The Intuitive Vue Framework.', + homepage: 'https://nuxt.com', + repository: { url: 'git+https://github.com/nuxt/nuxt.git' }, + }, + '@sveltejs/kit': { + description: 'The web framework for Svelte.', + homepage: 'https://kit.svelte.dev', + repository: { url: 'https://gitlab.com/sveltejs/kit' }, + }, + 'react': { + description: 'The library for web and native user interfaces.', + homepage: 'https://react.dev', + }, + } + fetchNpmPackageMock.mockImplementation(async packageName => { + const packument = packuments[packageName] + if (!packument) { + throw new Error(`Unexpected package lookup: ${packageName}`) + } + + return packument as Packument + }) + getHomepageMetadataMock.mockImplementation(async (_event, homepageUrl) => + homepageMetadata({ + homepageUrl, + homepagePreviewUrl: homepageUrl === 'https://vuejs.org' ? 'preview:vue' : null, + homepagePreviewWidth: homepageUrl === 'https://vuejs.org' ? 1200 : null, + homepagePreviewHeight: homepageUrl === 'https://vuejs.org' ? 630 : null, + homepageLogoUrl: homepageUrl ? `logo:${homepageUrl}` : null, + homepageLogoWidth: homepageUrl ? 256 : null, + homepageLogoHeight: homepageUrl ? 256 : null, + }), + ) + + const cachedFetchMock = vi.fn(async (url: string) => { + if (url.includes(`${NPM_API}/downloads/point/last-week/`)) { + const packageName = decodeURIComponent(url.split('/last-week/')[1] ?? '') + const downloadsMap: Record = { + 'vue': 1200, + 'nuxt': 900, + '@sveltejs/kit': 750, + 'react': 600, + } + + return cachedResult({ + downloads: downloadsMap[packageName] ?? 0, + }) + } + + if (url.startsWith('https://ungh.cc/repos/')) { + const starsMap: Record = { + 'https://ungh.cc/repos/vuejs/core': 208000, + 'https://ungh.cc/repos/nuxt/nuxt': 59000, + } + + return cachedResult({ + repo: { + stars: starsMap[url] ?? 0, + }, + }) + } + + throw new Error(`Unexpected URL: ${url}`) + }) + const cachedFetch = cachedFetchMock as unknown as TestCachedFetch + + const event = createEvent(cachedFetch) + const result = await enrichLikesLeaderboardEntries(event, [ + createLikesLeaderboardEntry('vue', { + rank: 1, + totalLikes: 120, + }), + createLikesLeaderboardEntry('nuxt', { + rank: 2, + totalLikes: 90, + }), + createLikesLeaderboardEntry('@sveltejs/kit', { + rank: 3, + totalLikes: 75, + }), + createLikesLeaderboardEntry('react', { + rank: 4, + totalLikes: 60, + }), + ]) + + expect(result).toMatchObject([ + { + packageName: 'vue', + packageDescription: 'The Progressive JavaScript Framework.', + weeklyDownloads: 1200, + repositoryStars: 208000, + homepagePreviewUrl: 'preview:vue', + homepageLogoUrl: 'logo:https://vuejs.org', + }, + { + packageName: 'nuxt', + packageDescription: 'The Intuitive Vue Framework.', + weeklyDownloads: 900, + repositoryStars: 59000, + homepagePreviewUrl: null, + homepageLogoUrl: 'logo:https://nuxt.com', + }, + { + packageName: '@sveltejs/kit', + packageDescription: 'The web framework for Svelte.', + weeklyDownloads: 750, + repositoryStars: null, + homepagePreviewUrl: null, + homepageLogoUrl: 'logo:https://kit.svelte.dev', + }, + { + packageName: 'react', + packageDescription: 'The library for web and native user interfaces.', + weeklyDownloads: 600, + repositoryStars: null, + homepagePreviewUrl: null, + homepageLogoUrl: 'logo:https://react.dev', + }, + ]) + + expect(fetchNpmPackageMock).toHaveBeenCalledTimes(4) + expect(getHomepageMetadataMock).toHaveBeenCalledWith(event, 'https://vuejs.org') + expect(cachedFetchMock).toHaveBeenCalledWith( + 'https://ungh.cc/repos/vuejs/core', + expect.objectContaining({ + headers: { + 'User-Agent': 'npmx', + 'Accept': 'application/json', + }, + }), + 3600, + ) + }) +}) + +describe('getTopLikedRank', () => { + it('returns the matching top liked rank for a subject ref', async () => { + const cachedFetch = vi.fn().mockResolvedValue( + cachedResult({ + leaderBoard: [ + { subjectRef: 'https://npmx.dev/package/vue', totalLikes: 120 }, + { subjectRef: 'https://npmx.dev/package/nuxt', totalLikes: 90 }, + ], + }), + ) + + const rank = await getTopLikedRank(createEvent(cachedFetch), 'https://npmx.dev/package/nuxt') + + expect(rank).toBe(2) + }) +}) diff --git a/test/unit/server/utils/npm-homepage.spec.ts b/test/unit/server/utils/npm-homepage.spec.ts new file mode 100644 index 0000000000..a3b081e26c --- /dev/null +++ b/test/unit/server/utils/npm-homepage.spec.ts @@ -0,0 +1,110 @@ +import { readFileSync } from 'node:fs' +import { resolve } from 'node:path' +import { beforeEach, describe, expect, it, vi } from 'vitest' +import { fetchNpmPackage } from '#server/utils/npm' +import { MICROLINK_API } from '#shared/utils/constants' +import { getHomepageMetadata, getPackageHomepageMetadata } from '#server/utils/npm-homepage' + +vi.mock('#server/utils/npm', () => ({ + fetchNpmPackage: vi.fn(), +})) + +type TestEvent = Parameters[0] +type TestCachedFetch = NonNullable +const fetchNpmPackageMock = vi.mocked(fetchNpmPackage) + +function createEvent(cachedFetch?: TestCachedFetch): TestEvent { + return { + context: cachedFetch ? { cachedFetch } : {}, + } as TestEvent +} + +function loadMicrolinkFixture(homepageUrl: string): unknown { + const url = new URL(homepageUrl) + const pathname = url.pathname === '/' ? '' : url.pathname.replaceAll('/', '_') + const fixturePath = resolve( + __dirname, + '../../../fixtures/microlink', + `${url.hostname}${pathname}.json`, + ) + return JSON.parse(readFileSync(fixturePath, 'utf-8')) +} + +function createMicrolinkCachedFetch(): TestCachedFetch { + return vi.fn(async (url: string) => { + if (url.startsWith(`${MICROLINK_API}/?url=`)) { + const homepageUrl = new URL(url).searchParams.get('url') + if (!homepageUrl) throw new Error(`Microlink request missing homepage URL: ${url}`) + + return { + data: loadMicrolinkFixture(homepageUrl), + isStale: false, + cachedAt: null, + } + } + + throw new Error(`Unexpected URL: ${url}`) + }) as TestCachedFetch +} + +beforeEach(() => { + vi.clearAllMocks() + vi.stubGlobal('useRuntimeConfig', () => ({ + imageProxySecret: 'image-proxy-secret', + })) +}) + +describe('getHomepageMetadata', () => { + it('returns proxied preview and logo URLs from Microlink fixtures', async () => { + const cachedFetch = createMicrolinkCachedFetch() + const result = await getHomepageMetadata(createEvent(cachedFetch), 'https://vuejs.org') + + expect(result).toEqual({ + homepageUrl: 'https://vuejs.org', + homepagePreviewUrl: expect.stringContaining('/api/registry/image-proxy?'), + homepagePreviewWidth: 1200, + homepagePreviewHeight: 630, + homepageLogoUrl: expect.stringContaining('/api/registry/image-proxy?'), + homepageLogoWidth: 256, + homepageLogoHeight: 256, + }) + }) + + it('returns empty metadata when homepage is missing', async () => { + const cachedFetch = vi.fn() as TestCachedFetch + + const result = await getHomepageMetadata(createEvent(cachedFetch), null) + + expect(result).toEqual({ + homepageUrl: null, + homepagePreviewUrl: null, + homepagePreviewWidth: null, + homepagePreviewHeight: null, + homepageLogoUrl: null, + homepageLogoWidth: null, + homepageLogoHeight: null, + }) + expect(cachedFetch).not.toHaveBeenCalled() + }) +}) + +describe('getPackageHomepageMetadata', () => { + it('loads homepage metadata from the package homepage field', async () => { + fetchNpmPackageMock.mockResolvedValue({ + homepage: 'https://nuxt.com', + } as Packument) + + const cachedFetch = createMicrolinkCachedFetch() + const result = await getPackageHomepageMetadata(createEvent(cachedFetch), 'nuxt') + + expect(result).toEqual({ + homepageUrl: 'https://nuxt.com', + homepagePreviewUrl: null, + homepagePreviewWidth: null, + homepagePreviewHeight: null, + homepageLogoUrl: expect.stringContaining('/api/registry/image-proxy?'), + homepageLogoWidth: 256, + homepageLogoHeight: 256, + }) + }) +}) diff --git a/uno.config.ts b/uno.config.ts index eef2b11cb3..ddbbafb7a0 100644 --- a/uno.config.ts +++ b/uno.config.ts @@ -1,3 +1,4 @@ +import process from 'node:process' import { defineConfig, presetIcons,