feat(stage-web,stage-ui): beat sync (#621)
This commit is contained in:
@@ -22,6 +22,7 @@
|
||||
"@huggingface/transformers": "^3.7.3",
|
||||
"@llama-flow/core": "^0.4.4",
|
||||
"@moeru/std": "catalog:",
|
||||
"@nekopaw/tempora": "0.3.1-alpha.1",
|
||||
"@proj-airi/audio": "workspace:^",
|
||||
"@proj-airi/ccc": "workspace:^",
|
||||
"@proj-airi/drizzle-duckdb-wasm": "catalog:",
|
||||
@@ -53,6 +54,7 @@
|
||||
"@xsai/shared-chat": "catalog:",
|
||||
"@xsai/stream-text": "catalog:",
|
||||
"@xsai/utils-chat": "catalog:",
|
||||
"animejs": "^4.1.3",
|
||||
"colorjs.io": "^0.5.2",
|
||||
"culori": "^4.0.2",
|
||||
"date-fns": "^4.1.0",
|
||||
|
||||
@@ -0,0 +1,257 @@
|
||||
<script setup lang="ts">
|
||||
import type { AnalyserBeatEvent, AnalyserWorkletParameters } from '@nekopaw/tempora'
|
||||
|
||||
import { DEFAULT_ANALYSER_WORKLET_PARAMS } from '@nekopaw/tempora'
|
||||
import { Button } from '@proj-airi/stage-ui/components'
|
||||
import { useBeatSyncStore } from '@proj-airi/stage-ui/stores/beat-sync'
|
||||
import { FieldCheckbox, FieldRange } from '@proj-airi/ui'
|
||||
import { createTimeline } from 'animejs'
|
||||
import { nanoid } from 'nanoid'
|
||||
import { onMounted, onUnmounted, ref, watchEffect } from 'vue'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
|
||||
const beatSyncStore = useBeatSyncStore()
|
||||
const { t } = useI18n()
|
||||
|
||||
const beatsHistory = ref<Array<{
|
||||
id: string
|
||||
energy: number
|
||||
normalizedEnergy: number
|
||||
}>>([])
|
||||
|
||||
const parameters = ref<AnalyserWorkletParameters>({ ...DEFAULT_ANALYSER_WORKLET_PARAMS })
|
||||
|
||||
watchEffect(() => {
|
||||
beatSyncStore.updateParameters(parameters.value)
|
||||
})
|
||||
|
||||
function normalizeEnergy(energy: number) {
|
||||
const base = 2
|
||||
const a = 0.5
|
||||
return ((base ** energy - 1) / (base - 1)) ** a
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
const onBeat = ({ energy }: AnalyserBeatEvent) => {
|
||||
beatsHistory.value.unshift({
|
||||
id: nanoid(),
|
||||
energy,
|
||||
normalizedEnergy: normalizeEnergy(energy),
|
||||
})
|
||||
}
|
||||
|
||||
beatSyncStore.on('beat', onBeat)
|
||||
|
||||
onUnmounted(() => {
|
||||
beatSyncStore.off('beat', onBeat)
|
||||
})
|
||||
})
|
||||
|
||||
function onRippleEnter(el: Element, done: () => void) {
|
||||
const beatId = (el as HTMLElement).dataset.beatId
|
||||
createTimeline()
|
||||
.set(el, {
|
||||
opacity: 1,
|
||||
scale: 0,
|
||||
})
|
||||
.add(el, {
|
||||
opacity: 0,
|
||||
scale: 1,
|
||||
duration: 2000,
|
||||
delay: 0,
|
||||
ease: 'out(5)',
|
||||
onComplete: () => {
|
||||
if (!beatId)
|
||||
return
|
||||
|
||||
const idx = beatsHistory.value.findIndex(b => b.id === beatId)
|
||||
if (idx >= 0)
|
||||
beatsHistory.value.splice(idx, 1)
|
||||
|
||||
done()
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
function resetDefaultParameters() {
|
||||
parameters.value = { ...DEFAULT_ANALYSER_WORKLET_PARAMS }
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div flex="~ col md:row gap-6">
|
||||
<div bg="neutral-100 dark:[rgba(0,0,0,0.3)]" rounded-xl p-4 flex="~ col gap-4" class="h-fit w-full md:w-[40%]">
|
||||
<div flex="~ col gap-6">
|
||||
<div flex="~ col gap-4">
|
||||
<div>
|
||||
<h2 class="text-lg text-neutral-500 md:text-2xl dark:text-neutral-500">
|
||||
{{ t('settings.pages.modules.beat_sync.sections.audio_source.title') }}
|
||||
</h2>
|
||||
<div text="neutral-400 dark:neutral-400">
|
||||
<span>{{ t('settings.pages.modules.beat_sync.sections.audio_source.description') }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div max-w-full flex="~ row gap-4 wrap">
|
||||
<template v-if="beatSyncStore.isActive">
|
||||
<Button @click="beatSyncStore.stop">
|
||||
{{ t('settings.pages.modules.beat_sync.sections.audio_source.actions.stop') }}
|
||||
</Button>
|
||||
</template>
|
||||
|
||||
<template v-else>
|
||||
<Button @click="beatSyncStore.startFromScreenCapture">
|
||||
{{ t('settings.pages.modules.beat_sync.sections.audio_source.actions.start_screen_capture') }}
|
||||
</Button>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div flex="~ col gap-4">
|
||||
<div flex="~ row" items-center justify-between>
|
||||
<div>
|
||||
<h2 class="text-lg text-neutral-500 md:text-2xl dark:text-neutral-500">
|
||||
{{ t('settings.pages.modules.beat_sync.sections.parameters.title') }}
|
||||
</h2>
|
||||
<div text="neutral-400 dark:neutral-400">
|
||||
<span>{{ t('settings.pages.modules.beat_sync.sections.parameters.description') }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<button
|
||||
title="Reset settings"
|
||||
flex items-center justify-center rounded-full p-2
|
||||
transition="all duration-250 ease-in-out"
|
||||
text="neutral-500 dark:neutral-400"
|
||||
bg="transparent dark:transparent hover:neutral-200 dark:hover:neutral-800 active:neutral-300 dark:active:neutral-700"
|
||||
@click="resetDefaultParameters"
|
||||
>
|
||||
<div i-solar:refresh-bold-duotone text-xl />
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div max-w-full flex="~ col gap-4">
|
||||
<FieldRange
|
||||
v-model="parameters.sensitivity"
|
||||
:label="t('settings.pages.modules.beat_sync.sections.parameters.parameters.sensitivity.label')"
|
||||
:min="0"
|
||||
:max="1"
|
||||
:step="0.01"
|
||||
:format-value="value => value.toFixed(1)"
|
||||
/>
|
||||
|
||||
<FieldRange
|
||||
v-model="parameters.minBeatInterval"
|
||||
:label="t('settings.pages.modules.beat_sync.sections.parameters.parameters.min_beat_interval.label')"
|
||||
:description="t('settings.pages.modules.beat_sync.sections.parameters.parameters.min_beat_interval.description')"
|
||||
:min="0.05"
|
||||
:max="1"
|
||||
:step="0.01"
|
||||
:format-value="value => `${(60 / value).toFixed(1)} BPM / ${value.toFixed(2)} s`"
|
||||
/>
|
||||
|
||||
<div>
|
||||
<h3 class="text text-neutral-500 md:text-xl dark:text-neutral-500">
|
||||
{{ t('settings.pages.modules.beat_sync.sections.parameters.advanced_parameters') }}
|
||||
</h3>
|
||||
</div>
|
||||
|
||||
<FieldRange
|
||||
v-model="parameters.lowpassFilterFrequency"
|
||||
:label="t('settings.pages.modules.beat_sync.sections.parameters.parameters.lowpass_filter_frequency.label')"
|
||||
:description="t('settings.pages.modules.beat_sync.sections.parameters.parameters.lowpass_filter_frequency.description')"
|
||||
:min="20"
|
||||
:max="600"
|
||||
:step="10"
|
||||
:format-value="value => `${value.toFixed(0)} Hz`"
|
||||
/>
|
||||
|
||||
<FieldRange
|
||||
v-model="parameters.highpassFilterFrequency"
|
||||
:label="t('settings.pages.modules.beat_sync.sections.parameters.parameters.highpass_filter_frequency.label')"
|
||||
:description="t('settings.pages.modules.beat_sync.sections.parameters.parameters.highpass_filter_frequency.description')"
|
||||
:min="150"
|
||||
:max="2000"
|
||||
:step="10"
|
||||
:format-value="value => `${value.toFixed(0)} Hz`"
|
||||
/>
|
||||
|
||||
<FieldRange
|
||||
v-model="parameters.envelopeFilterFrequency"
|
||||
:label="t('settings.pages.modules.beat_sync.sections.parameters.parameters.envelope_filter_frequency.label')"
|
||||
:description="t('settings.pages.modules.beat_sync.sections.parameters.parameters.envelope_filter_frequency.description')"
|
||||
:min="20"
|
||||
:max="200"
|
||||
:step="10"
|
||||
:format-value="value => `${value.toFixed(0)} Hz`"
|
||||
/>
|
||||
|
||||
<FieldCheckbox
|
||||
v-model="parameters.warmup"
|
||||
:label="t('settings.pages.modules.beat_sync.sections.parameters.parameters.warmup.label')"
|
||||
:description="t('settings.pages.modules.beat_sync.sections.parameters.parameters.warmup.description')"
|
||||
/>
|
||||
|
||||
<FieldCheckbox
|
||||
v-model="parameters.adaptiveThreshold"
|
||||
:label="t('settings.pages.modules.beat_sync.sections.parameters.parameters.adaptive_threshold.label')"
|
||||
:description="t('settings.pages.modules.beat_sync.sections.parameters.parameters.adaptive_threshold.description')"
|
||||
/>
|
||||
|
||||
<FieldCheckbox
|
||||
v-model="parameters.spectralFlux"
|
||||
:label="t('settings.pages.modules.beat_sync.sections.parameters.parameters.spectral_flux.label')"
|
||||
:description="t('settings.pages.modules.beat_sync.sections.parameters.parameters.spectral_flux.description')"
|
||||
/>
|
||||
|
||||
<FieldRange
|
||||
v-model="parameters.bufferDuration"
|
||||
:label="t('settings.pages.modules.beat_sync.sections.parameters.parameters.buffer_duration.label')"
|
||||
:description="t('settings.pages.modules.beat_sync.sections.parameters.parameters.buffer_duration.description')"
|
||||
:min="2"
|
||||
:max="10"
|
||||
:step="0.5"
|
||||
:format-value="value => `${value.toFixed(1)} s`"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div flex="~ col gap-6" class="w-full md:w-[60%]">
|
||||
<div w-full rounded-xl flex="~ col gap-4">
|
||||
<h2 class="mb-4 text-lg text-neutral-500 md:text-2xl dark:text-neutral-400" w-full>
|
||||
<div class="inline-flex items-center gap-4">
|
||||
{{ t('settings.pages.modules.beat_sync.sections.beat_visualizer.title') }}
|
||||
</div>
|
||||
</h2>
|
||||
|
||||
<div flex="~ col gap-4 items-center">
|
||||
<TransitionGroup
|
||||
tag="div"
|
||||
bg="neutral/10"
|
||||
relative box-border aspect-square h-full max-h-400px max-w-400px w-full rounded-2xl
|
||||
flex="~ row gap-2 wrap items-center"
|
||||
:css="false"
|
||||
@enter="onRippleEnter"
|
||||
>
|
||||
<div
|
||||
v-for="beat in beatsHistory"
|
||||
:key="beat.id"
|
||||
:data-beat-id="beat.id"
|
||||
absolute h-full w-full
|
||||
rounded-full bg="primary/50"
|
||||
/>
|
||||
</TransitionGroup>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<route lang="yaml">
|
||||
meta:
|
||||
layout: settings
|
||||
stageTransition:
|
||||
name: slide
|
||||
</route>
|
||||
@@ -1,5 +1,6 @@
|
||||
<script setup lang="ts">
|
||||
import { IconStatusItem } from '@proj-airi/stage-ui/components'
|
||||
import { useBeatSyncStore } from '@proj-airi/stage-ui/stores/beat-sync'
|
||||
import { useConsciousnessStore } from '@proj-airi/stage-ui/stores/modules/consciousness'
|
||||
import { useSpeechStore } from '@proj-airi/stage-ui/stores/modules/speech'
|
||||
import { computed } from 'vue'
|
||||
@@ -22,6 +23,8 @@ interface Module {
|
||||
configured: boolean
|
||||
}
|
||||
|
||||
const beatSyncStore = useBeatSyncStore()
|
||||
|
||||
// TODO: categorize modules, such as essential, messaging, gaming, etc.
|
||||
const modulesList = computed<Module[]>(() => [
|
||||
{
|
||||
@@ -104,6 +107,14 @@ const modulesList = computed<Module[]>(() => [
|
||||
to: '',
|
||||
configured: false,
|
||||
},
|
||||
{
|
||||
id: 'beat-sync',
|
||||
name: t('settings.pages.modules.beat_sync.title'),
|
||||
description: t('settings.pages.modules.beat_sync.description'),
|
||||
icon: 'i-solar:music-notes-bold-duotone',
|
||||
to: '/settings/modules/beat-sync',
|
||||
configured: beatSyncStore.isActive,
|
||||
},
|
||||
])
|
||||
|
||||
const {
|
||||
|
||||
@@ -105,6 +105,7 @@ words:
|
||||
- hfspaceup
|
||||
- hfsup
|
||||
- hfup
|
||||
- highpass
|
||||
- higress
|
||||
- histoire
|
||||
- hiyori
|
||||
@@ -136,6 +137,7 @@ words:
|
||||
- lobehub
|
||||
- logg
|
||||
- Lorebook
|
||||
- lowpass
|
||||
- lucide
|
||||
- luoling
|
||||
- Maekawa
|
||||
@@ -243,6 +245,7 @@ words:
|
||||
- tamagotchi
|
||||
- tauri
|
||||
- taze
|
||||
- tempora
|
||||
- togetherapi
|
||||
- tolist
|
||||
- tresjs
|
||||
|
||||
@@ -165,6 +165,49 @@ pages:
|
||||
description: Configure 3D VRM models and settings
|
||||
scene: Scene
|
||||
modules:
|
||||
beat_sync:
|
||||
description: Vibe with beats from the audio source
|
||||
title: Beat Sync
|
||||
sections:
|
||||
audio_source:
|
||||
actions:
|
||||
start_screen_capture: Start screen capture
|
||||
stop: Stop
|
||||
description: Select an audio source to detect beats from.
|
||||
title: Audio source
|
||||
beat_visualizer:
|
||||
title: Beat visualizer
|
||||
parameters:
|
||||
advanced_parameters: Advanced Parameters
|
||||
description: Tweak the beat detection parameters.
|
||||
title: Parameters
|
||||
parameters:
|
||||
adaptive_threshold:
|
||||
description: Whether to apply adaptive thresholds based on signal variance over time.
|
||||
label: Adaptive threshold
|
||||
buffer_duration:
|
||||
description: Duration of the internal analysis buffer.
|
||||
label: Buffer duration
|
||||
envelope_filter_frequency:
|
||||
description: Frequency for the envelope filter applied to smooth energy changes.
|
||||
label: Envelope filter frequency
|
||||
highpass_filter_frequency:
|
||||
description: Frequency for the highpass filter applied to reduce low frequencies like sub-bass noises.
|
||||
label: Highpass filter frequency
|
||||
lowpass_filter_frequency:
|
||||
description: Frequency for the lowpass filter applied to reduce high frequencies like vocals.
|
||||
label: Lowpass filter frequency
|
||||
min_beat_interval:
|
||||
description: Maximum BPM or minimum interval between detected beats.
|
||||
label: Max BPM / Min beat interval
|
||||
sensitivity:
|
||||
label: Sensitivity
|
||||
spectral_flux:
|
||||
description: Whether to enable spectral flux-based onset detection.
|
||||
label: Spectral flux
|
||||
warmup:
|
||||
description: Whether to warm up before detecting beats for better accuracy.
|
||||
label: Warmup
|
||||
consciousness:
|
||||
description: Personality, desired model, etc.
|
||||
sections:
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
"@formkit/auto-animate": "^0.9.0",
|
||||
"@huggingface/transformers": "^3.7.3",
|
||||
"@lemonneko/crop-empty-pixels": "0.1.1",
|
||||
"@nekopaw/tempora": "0.3.1-alpha.1",
|
||||
"@pixi/app": "^6.5.10",
|
||||
"@pixi/constants": "^6.5.10",
|
||||
"@pixi/core": "^6.5.10",
|
||||
|
||||
@@ -11,6 +11,7 @@ import { computed, onMounted, onUnmounted, ref, shallowRef, toRef, watch } from
|
||||
|
||||
import { useLive2DIdleEyeFocus } from '../../../composables/live2d'
|
||||
import { Emotion, EmotionNeutralMotionName } from '../../../constants/emotions'
|
||||
import { useBeatSyncStore } from '../../../stores/beat-sync'
|
||||
import { useLive2d } from '../../../stores/live2d'
|
||||
import { useSettings } from '../../../stores/settings'
|
||||
|
||||
@@ -69,6 +70,13 @@ const modelSrcRef = toRef(() => props.modelSrc)
|
||||
|
||||
const modelLoading = ref(false)
|
||||
|
||||
// Beat Sync: Values are all in degrees
|
||||
const beatSyncTargetY = ref<number>(0)
|
||||
const beatSyncTargetZ = ref<number>(0)
|
||||
const beatSyncVelocityY = ref<number>(0)
|
||||
const beatSyncVelocityZ = ref<number>(0)
|
||||
// End of Beat Sync
|
||||
|
||||
const offset = computed(() => parsePropsOffset())
|
||||
|
||||
const pixiApp = toRef(() => props.app)
|
||||
@@ -220,12 +228,60 @@ async function loadModel() {
|
||||
// This is hacky too
|
||||
const hookedUpdate = motionManager.update as (model: CubismModel, now: number) => boolean
|
||||
motionManager.update = function (model: CubismModel, now: number) {
|
||||
const timeDelta = now - lastUpdateTime.value
|
||||
|
||||
// Beat Sync
|
||||
{
|
||||
// Semi-implicit Euler approach
|
||||
const stiffness = 120 // Higher -> Snappier
|
||||
const damping = 16 // Higher -> Less bounce
|
||||
const mass = 1
|
||||
|
||||
let paramAngleY = coreModel.getParameterValueById('ParamAngleY') as number
|
||||
let paramAngleZ = coreModel.getParameterValueById('ParamAngleZ') as number
|
||||
|
||||
// Y
|
||||
{
|
||||
const target = beatSyncTargetY.value
|
||||
const pos = paramAngleY
|
||||
const vel = beatSyncVelocityY.value
|
||||
const accel = (stiffness * (target - pos) - damping * vel) / mass
|
||||
beatSyncVelocityY.value = vel + accel * timeDelta
|
||||
paramAngleY = pos + beatSyncVelocityY.value * timeDelta
|
||||
|
||||
// Snap
|
||||
if (Math.abs(target - paramAngleY) < 0.01 && Math.abs(beatSyncVelocityY.value) < 0.01) {
|
||||
paramAngleY = target
|
||||
beatSyncVelocityY.value = 0
|
||||
}
|
||||
}
|
||||
|
||||
// Z
|
||||
{
|
||||
const target = beatSyncTargetZ.value
|
||||
const pos = paramAngleZ
|
||||
const vel = beatSyncVelocityZ.value
|
||||
const accel = (stiffness * (target - pos) - damping * vel) / mass
|
||||
beatSyncVelocityZ.value = vel + accel * timeDelta
|
||||
paramAngleZ = pos + beatSyncVelocityZ.value * timeDelta
|
||||
|
||||
// Snap
|
||||
if (Math.abs(target - paramAngleZ) < 0.01 && Math.abs(beatSyncVelocityZ.value) < 0.01) {
|
||||
paramAngleZ = target
|
||||
beatSyncVelocityZ.value = 0
|
||||
}
|
||||
}
|
||||
|
||||
coreModel.setParameterValueById('ParamAngleY', paramAngleY)
|
||||
coreModel.setParameterValueById('ParamAngleZ', paramAngleZ)
|
||||
}
|
||||
|
||||
lastUpdateTime.value = now
|
||||
|
||||
hookedUpdate?.call(this, model, now)
|
||||
|
||||
// Possibility 1: Only update eye focus when the model is idle
|
||||
// Possibility 2: For models having no mo`ti`on groups, currentGroup will be undefined while groups can be { idle: ... }
|
||||
// Possibility 2: For models having no motion groups, currentGroup will be undefined while groups can be { idle: ... }
|
||||
if (!motionManager.state.currentGroup || motionManager.state.currentGroup === motionManager.groups.idle) {
|
||||
idleEyeFocus.update(internalModel, now)
|
||||
|
||||
@@ -327,6 +383,21 @@ watch(focusAt, (value) => {
|
||||
model.value.focus(value.x, value.y)
|
||||
})
|
||||
|
||||
const beatSyncStore = useBeatSyncStore()
|
||||
|
||||
onMounted(() => {
|
||||
const onBeat = () => {
|
||||
beatSyncTargetY.value = Math.max(-5, Math.min(5, (beatSyncTargetY.value < 0 ? 10 : -10) * (0.5 + Math.random() * 0.3)))
|
||||
beatSyncTargetZ.value = Math.max(-5, Math.min(5, (beatSyncTargetZ.value < 0 ? 10 : -10) * (0.5 + Math.random() * 0.3)))
|
||||
}
|
||||
|
||||
beatSyncStore.on('beat', onBeat)
|
||||
|
||||
onUnmounted(() => {
|
||||
beatSyncStore.off('beat', onBeat)
|
||||
})
|
||||
})
|
||||
|
||||
onMounted(async () => {
|
||||
updateDropShadowFilter()
|
||||
})
|
||||
|
||||
@@ -0,0 +1,138 @@
|
||||
import type { Analyser, AnalyserListeners, AnalyserWorkletParameters } from '@nekopaw/tempora'
|
||||
|
||||
import analyserWorklet from '@nekopaw/tempora/worklet?url'
|
||||
|
||||
import { startAnalyser as startTemporaAnalyser } from '@nekopaw/tempora'
|
||||
import { defineStore } from 'pinia'
|
||||
import { readonly, ref, shallowRef } from 'vue'
|
||||
|
||||
export type BeatSyncEvent = 'beat'
|
||||
|
||||
export interface BeatSyncEventCallbacks {
|
||||
beat: Required<AnalyserListeners>['onBeat']
|
||||
}
|
||||
|
||||
export const useBeatSyncStore = defineStore('beat-sync', () => {
|
||||
const context = shallowRef<AudioContext>()
|
||||
const analyser = shallowRef<Analyser>()
|
||||
const source = shallowRef<AudioNode>()
|
||||
const isActive = ref(false)
|
||||
|
||||
let stopSource: (() => void) | undefined
|
||||
|
||||
const onBeatListeners: Array<Required<AnalyserListeners>['onBeat']> = []
|
||||
|
||||
const stop = () => {
|
||||
if (!isActive.value)
|
||||
return
|
||||
|
||||
isActive.value = false
|
||||
stopSource?.()
|
||||
stopSource = undefined
|
||||
|
||||
source.value?.disconnect()
|
||||
source.value = undefined
|
||||
|
||||
analyser.value?.stop()
|
||||
analyser.value = undefined
|
||||
|
||||
context.value?.close()
|
||||
context.value = undefined
|
||||
}
|
||||
|
||||
const start = async (createSource: (context: AudioContext) => Promise<AudioNode>) => {
|
||||
stop()
|
||||
|
||||
context.value = new AudioContext()
|
||||
analyser.value = await startTemporaAnalyser({
|
||||
context: context.value,
|
||||
worklet: analyserWorklet,
|
||||
listeners: {
|
||||
onBeat: (...args) => {
|
||||
onBeatListeners.forEach(listener => listener(...args))
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
const node = await createSource(context.value)
|
||||
node.connect(analyser.value.workletNode)
|
||||
source.value = node
|
||||
|
||||
isActive.value = true
|
||||
}
|
||||
|
||||
const updateParameters = (params: Partial<AnalyserWorkletParameters>) => {
|
||||
analyser.value?.updateParameters(params)
|
||||
}
|
||||
|
||||
const startFromScreenCapture = async () => start(async (context) => {
|
||||
const stream = await navigator.mediaDevices.getDisplayMedia({
|
||||
audio: {
|
||||
echoCancellation: false,
|
||||
noiseSuppression: false,
|
||||
autoGainControl: false,
|
||||
},
|
||||
video: true,
|
||||
})
|
||||
|
||||
if (stream.getAudioTracks().length === 0) {
|
||||
throw new Error('No audio track available in the stream')
|
||||
}
|
||||
|
||||
stream.getAudioTracks().forEach((track) => {
|
||||
let stopCalled = false
|
||||
track.addEventListener('ended', () => {
|
||||
if (stopCalled)
|
||||
return
|
||||
|
||||
stopCalled = true
|
||||
stop()
|
||||
})
|
||||
})
|
||||
|
||||
const node = context.createMediaStreamSource(stream)
|
||||
stopSource = () => {
|
||||
stream.getTracks().forEach(track => track.stop())
|
||||
}
|
||||
|
||||
return node
|
||||
})
|
||||
|
||||
const on = <E extends BeatSyncEvent>(event: E, callback: BeatSyncEventCallbacks[E]) => {
|
||||
switch (event) {
|
||||
case 'beat':
|
||||
onBeatListeners.push(callback)
|
||||
break
|
||||
default:
|
||||
throw new Error(`Unknown event: ${event}`)
|
||||
}
|
||||
}
|
||||
|
||||
const off = <E extends BeatSyncEvent>(event: E, callback: BeatSyncEventCallbacks[E]) => {
|
||||
switch (event) {
|
||||
case 'beat': {
|
||||
const index = onBeatListeners.indexOf(callback)
|
||||
if (index !== -1)
|
||||
onBeatListeners.splice(index, 1)
|
||||
break
|
||||
}
|
||||
default:
|
||||
throw new Error(`Unknown event: ${event}`)
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
start,
|
||||
updateParameters,
|
||||
startFromScreenCapture,
|
||||
stop,
|
||||
on,
|
||||
off,
|
||||
|
||||
isActive: readonly(isActive),
|
||||
|
||||
context: readonly(context),
|
||||
analyser: readonly(analyser),
|
||||
source: readonly(source),
|
||||
}
|
||||
})
|
||||
Generated
+31
-333
@@ -281,7 +281,7 @@ importers:
|
||||
version: rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)
|
||||
vite-plugin-vue-devtools:
|
||||
specifier: ^8.0.2
|
||||
version: 8.0.2(rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.2))
|
||||
version: 8.0.2(@nuxt/kit@4.0.3(magicast@0.3.5))(rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.2))
|
||||
vite-plugin-vue-layouts:
|
||||
specifier: ^0.11.0
|
||||
version: 0.11.0(rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue-router@4.5.1(vue@3.5.22(typescript@5.9.2)))(vue@3.5.22(typescript@5.9.2))
|
||||
@@ -1068,6 +1068,9 @@ importers:
|
||||
'@moeru/std':
|
||||
specifier: 'catalog:'
|
||||
version: 0.1.0-beta.7
|
||||
'@nekopaw/tempora':
|
||||
specifier: 0.3.1-alpha.1
|
||||
version: 0.3.1-alpha.1
|
||||
'@proj-airi/audio':
|
||||
specifier: workspace:^
|
||||
version: link:../../packages/audio
|
||||
@@ -1161,6 +1164,9 @@ importers:
|
||||
'@xsai/utils-chat':
|
||||
specifier: 'catalog:'
|
||||
version: 0.4.0-beta.4
|
||||
animejs:
|
||||
specifier: ^4.1.3
|
||||
version: 4.1.4
|
||||
colorjs.io:
|
||||
specifier: ^0.5.2
|
||||
version: 0.5.2
|
||||
@@ -1259,7 +1265,7 @@ importers:
|
||||
version: 4.5.1(vue@3.5.22(typescript@5.9.2))
|
||||
vue-sonner:
|
||||
specifier: ^2.0.8
|
||||
version: 2.0.8(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.0)(@types/node@24.5.2)(@vue/compiler-sfc@3.5.22)(bufferutil@4.0.9)(db0@0.3.2(drizzle-orm@0.44.5(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(drizzle-orm@0.44.5(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7))(encoding@0.1.13)(eslint@9.36.0(jiti@2.5.1))(ioredis@5.7.0)(less@4.4.1)(lightningcss@1.30.1)(magicast@0.3.5)(optionator@0.9.4)(rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(rolldown@1.0.0-beta.40)(rollup@2.79.2)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.2)(utf-8-validate@5.0.10)(vue-tsc@3.0.8(typescript@5.9.2))(xml2js@0.6.2)(yaml@2.8.1)
|
||||
version: 2.0.8(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.0)(@types/node@24.5.2)(@vue/compiler-sfc@3.5.22)(bufferutil@4.0.9)(db0@0.3.2(drizzle-orm@0.44.5(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(drizzle-orm@0.44.5(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7))(encoding@0.1.13)(eslint@9.36.0(jiti@2.5.1))(ioredis@5.7.0)(less@4.4.1)(lightningcss@1.30.1)(magicast@0.3.5)(optionator@0.9.4)(rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(rolldown@1.0.0-beta.40)(rollup@4.52.2)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.2)(utf-8-validate@5.0.10)(vue-tsc@3.0.8(typescript@5.9.2))(xml2js@0.6.2)(yaml@2.8.1)
|
||||
workbox-window:
|
||||
specifier: ^7.3.0
|
||||
version: 7.3.0
|
||||
@@ -1299,7 +1305,7 @@ importers:
|
||||
version: 1.2.30
|
||||
'@intlify/unplugin-vue-i18n':
|
||||
specifier: ^11.0.1
|
||||
version: 11.0.1(@vue/compiler-dom@3.5.22)(eslint@9.36.0(jiti@2.5.1))(rollup@2.79.2)(typescript@5.9.2)(vue-i18n@11.1.12(vue@3.5.22(typescript@5.9.2)))(vue@3.5.22(typescript@5.9.2))
|
||||
version: 11.0.1(@vue/compiler-dom@3.5.22)(eslint@9.36.0(jiti@2.5.1))(rollup@4.52.2)(typescript@5.9.2)(vue-i18n@11.1.12(vue@3.5.22(typescript@5.9.2)))(vue@3.5.22(typescript@5.9.2))
|
||||
'@proj-airi/lobe-icons':
|
||||
specifier: ^1.0.11
|
||||
version: 1.0.11
|
||||
@@ -1353,22 +1359,22 @@ importers:
|
||||
version: 4.4.1
|
||||
unplugin-info:
|
||||
specifier: ^1.2.4
|
||||
version: 1.2.4(@nuxt/kit@4.0.3(magicast@0.3.5))(@nuxt/schema@4.0.3)(esbuild@0.25.9)(rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(rollup@2.79.2)
|
||||
version: 1.2.4(@nuxt/kit@4.0.3(magicast@0.3.5))(@nuxt/schema@4.0.3)(esbuild@0.25.9)(rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(rollup@4.52.2)
|
||||
unplugin-vue-macros:
|
||||
specifier: ^2.14.5
|
||||
version: 2.14.5(@vueuse/core@13.9.0(vue@3.5.22(typescript@5.9.2)))(esbuild@0.25.9)(rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(rolldown@1.0.0-beta.40)(rollup@2.79.2)(typescript@5.9.2)(vue-tsc@3.0.8(typescript@5.9.2))(vue@3.5.22(typescript@5.9.2))
|
||||
version: 2.14.5(@vueuse/core@13.9.0(vue@3.5.22(typescript@5.9.2)))(esbuild@0.25.9)(rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(rolldown@1.0.0-beta.40)(rollup@4.52.2)(typescript@5.9.2)(vue-tsc@3.0.8(typescript@5.9.2))(vue@3.5.22(typescript@5.9.2))
|
||||
unplugin-vue-router:
|
||||
specifier: ^0.15.0
|
||||
version: 0.15.0(@vue/compiler-sfc@3.5.22)(typescript@5.9.2)(vue-router@4.5.1(vue@3.5.22(typescript@5.9.2)))(vue@3.5.22(typescript@5.9.2))
|
||||
unplugin-yaml:
|
||||
specifier: ^3.0.6
|
||||
version: 3.0.6(@nuxt/kit@4.0.3(magicast@0.3.5))(@nuxt/schema@4.0.3)(astro@5.10.1(@netlify/blobs@9.1.2)(@types/node@24.5.2)(db0@0.3.2(drizzle-orm@0.44.5(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(encoding@0.1.13)(ioredis@5.7.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(rollup@2.79.2)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.2)(yaml@2.8.1))(esbuild@0.25.9)(rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(rolldown@1.0.0-beta.40)(rollup@2.79.2)
|
||||
version: 3.0.6(@nuxt/kit@4.0.3(magicast@0.3.5))(@nuxt/schema@4.0.3)(astro@5.10.1(@netlify/blobs@9.1.2)(@types/node@24.5.2)(db0@0.3.2(drizzle-orm@0.44.5(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(encoding@0.1.13)(ioredis@5.7.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(rollup@4.52.2)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.2)(yaml@2.8.1))(esbuild@0.25.9)(rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(rolldown@1.0.0-beta.40)(rollup@4.52.2)
|
||||
vite:
|
||||
specifier: catalog:rolldown-vite
|
||||
version: rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)
|
||||
vite-bundle-visualizer:
|
||||
specifier: ^1.2.1
|
||||
version: 1.2.1(rollup@2.79.2)
|
||||
version: 1.2.1(rollup@4.52.2)
|
||||
vite-plugin-pwa:
|
||||
specifier: ^1.0.3
|
||||
version: 1.0.3(rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(workbox-build@7.3.0(@types/babel__core@7.20.5))(workbox-window@7.3.0)
|
||||
@@ -1513,7 +1519,7 @@ importers:
|
||||
version: 0.1.3
|
||||
unplugin-yaml:
|
||||
specifier: ^3.0.6
|
||||
version: 3.0.6(@nuxt/kit@4.0.3(magicast@0.3.5))(@nuxt/schema@4.0.3)(astro@5.10.1(@netlify/blobs@9.1.2)(@types/node@24.5.2)(db0@0.3.2(drizzle-orm@0.44.5(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(encoding@0.1.13)(ioredis@5.7.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(rollup@4.52.2)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.2)(yaml@2.8.1))(esbuild@0.25.9)(rolldown@1.0.0-beta.40)(rollup@4.52.2)(vite@7.1.7(@types/node@24.5.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))
|
||||
version: 3.0.6(@nuxt/kit@4.0.3(magicast@0.3.5))(@nuxt/schema@4.0.3)(astro@5.10.1(@netlify/blobs@9.1.2)(@types/node@24.5.2)(db0@0.3.2(drizzle-orm@0.44.5(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(ioredis@5.7.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(rollup@4.52.2)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.2)(yaml@2.8.1))(esbuild@0.25.9)(rolldown@1.0.0-beta.40)(rollup@4.52.2)(vite@7.1.7(@types/node@24.5.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))
|
||||
vitepress:
|
||||
specifier: ^2.0.0-alpha.12
|
||||
version: 2.0.0-alpha.12(@types/node@24.5.2)(change-case@5.4.4)(fuse.js@7.1.0)(jiti@2.5.1)(jwt-decode@4.0.0)(less@4.4.1)(lightningcss@1.30.1)(nprogress@0.2.0)(postcss@8.5.6)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.2)(yaml@2.8.1)
|
||||
@@ -1556,7 +1562,7 @@ importers:
|
||||
devDependencies:
|
||||
unplugin-yaml:
|
||||
specifier: ^3.0.6
|
||||
version: 3.0.6(@nuxt/kit@4.0.3(magicast@0.3.5))(@nuxt/schema@4.0.3)(astro@5.10.1(@netlify/blobs@9.1.2)(@types/node@24.5.2)(db0@0.3.2(drizzle-orm@0.44.5(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(encoding@0.1.13)(ioredis@5.7.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(rollup@4.52.2)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.2)(yaml@2.8.1))(esbuild@0.25.9)(rolldown@1.0.0-beta.40)(rollup@4.52.2)(vite@7.1.7(@types/node@24.5.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))
|
||||
version: 3.0.6(@nuxt/kit@4.0.3(magicast@0.3.5))(@nuxt/schema@4.0.3)(astro@5.10.1(@netlify/blobs@9.1.2)(@types/node@24.5.2)(db0@0.3.2(drizzle-orm@0.44.5(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(ioredis@5.7.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(rollup@4.52.2)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.2)(yaml@2.8.1))(esbuild@0.25.9)(rolldown@1.0.0-beta.40)(rollup@4.52.2)(vite@7.1.7(@types/node@24.5.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))
|
||||
|
||||
packages/memory-pgvector:
|
||||
dependencies:
|
||||
@@ -1627,6 +1633,9 @@ importers:
|
||||
'@lemonneko/crop-empty-pixels':
|
||||
specifier: 0.1.1
|
||||
version: 0.1.1
|
||||
'@nekopaw/tempora':
|
||||
specifier: 0.3.1-alpha.1
|
||||
version: 0.3.1-alpha.1
|
||||
'@pixi/app':
|
||||
specifier: ^6.5.10
|
||||
version: 6.5.10(@pixi/core@6.5.10(@pixi/constants@6.5.10)(@pixi/extensions@6.5.10)(@pixi/math@6.5.10)(@pixi/runner@6.5.10)(@pixi/settings@6.5.10(@pixi/constants@6.5.10))(@pixi/ticker@6.5.10(@pixi/extensions@6.5.10)(@pixi/settings@6.5.10(@pixi/constants@6.5.10)))(@pixi/utils@6.5.10(@pixi/constants@6.5.10)(@pixi/settings@6.5.10(@pixi/constants@6.5.10))))(@pixi/display@6.5.10(@pixi/constants@6.5.10)(@pixi/math@6.5.10)(@pixi/settings@6.5.10(@pixi/constants@6.5.10))(@pixi/utils@6.5.10(@pixi/constants@6.5.10)(@pixi/settings@6.5.10(@pixi/constants@6.5.10))))(@pixi/math@6.5.10)(@pixi/utils@6.5.10(@pixi/constants@6.5.10)(@pixi/settings@6.5.10(@pixi/constants@6.5.10)))
|
||||
@@ -2112,7 +2121,7 @@ importers:
|
||||
version: rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)
|
||||
vite-plugin-vue-devtools:
|
||||
specifier: ^8.0.2
|
||||
version: 8.0.2(rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.2))
|
||||
version: 8.0.2(@nuxt/kit@4.0.3(magicast@0.3.5))(rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.2))
|
||||
vue-router:
|
||||
specifier: ^4.5.1
|
||||
version: 4.5.1(vue@3.5.22(typescript@5.9.2))
|
||||
@@ -2146,7 +2155,7 @@ importers:
|
||||
version: rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)
|
||||
vite-plugin-vue-devtools:
|
||||
specifier: ^8.0.2
|
||||
version: 8.0.2(rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.2))
|
||||
version: 8.0.2(@nuxt/kit@4.0.3(magicast@0.3.5))(rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.2))
|
||||
vue-router:
|
||||
specifier: ^4.5.1
|
||||
version: 4.5.1(vue@3.5.22(typescript@5.9.2))
|
||||
@@ -4906,6 +4915,10 @@ packages:
|
||||
'@napi-rs/wasm-runtime@1.0.5':
|
||||
resolution: {integrity: sha512-TBr9Cf9onSAS2LQ2+QHx6XcC6h9+RIzJgbqG3++9TUZSH204AwEy5jg3BTQ0VATsyoGj4ee49tN/y6rvaOOtcg==}
|
||||
|
||||
'@nekopaw/tempora@0.3.1-alpha.1':
|
||||
resolution: {integrity: sha512-PjckDovy+OFYgeCmyuVBcGnkePwIuMVEdtDAlj2c0rmppJtelwYyC/SV8CPhlcbUEjT5WlyL1Jx+f6XZ+gLx6A==}
|
||||
engines: {node: '>=22.10.0'}
|
||||
|
||||
'@netlify/binary-info@1.0.0':
|
||||
resolution: {integrity: sha512-4wMPu9iN3/HL97QblBsBay3E1etIciR84izI3U+4iALY+JHCrI+a2jO0qbAZ/nxKoegypYEaiiqWXylm+/zfrw==}
|
||||
|
||||
@@ -18548,30 +18561,6 @@ snapshots:
|
||||
|
||||
'@intlify/shared@11.1.12': {}
|
||||
|
||||
'@intlify/unplugin-vue-i18n@11.0.1(@vue/compiler-dom@3.5.22)(eslint@9.36.0(jiti@2.5.1))(rollup@2.79.2)(typescript@5.9.2)(vue-i18n@11.1.12(vue@3.5.22(typescript@5.9.2)))(vue@3.5.22(typescript@5.9.2))':
|
||||
dependencies:
|
||||
'@eslint-community/eslint-utils': 4.9.0(eslint@9.36.0(jiti@2.5.1))
|
||||
'@intlify/bundle-utils': 11.0.1(vue-i18n@11.1.12(vue@3.5.22(typescript@5.9.2)))
|
||||
'@intlify/shared': 11.1.12
|
||||
'@intlify/vue-i18n-extensions': 8.0.0(@intlify/shared@11.1.12)(@vue/compiler-dom@3.5.22)(vue-i18n@11.1.12(vue@3.5.22(typescript@5.9.2)))(vue@3.5.22(typescript@5.9.2))
|
||||
'@rollup/pluginutils': 5.3.0(rollup@2.79.2)
|
||||
'@typescript-eslint/scope-manager': 8.44.1
|
||||
'@typescript-eslint/typescript-estree': 8.44.1(typescript@5.9.2)
|
||||
debug: 4.4.3
|
||||
fast-glob: 3.3.3
|
||||
pathe: 2.0.3
|
||||
picocolors: 1.1.1
|
||||
unplugin: 2.3.10
|
||||
vue: 3.5.22(typescript@5.9.2)
|
||||
optionalDependencies:
|
||||
vue-i18n: 11.1.12(vue@3.5.22(typescript@5.9.2))
|
||||
transitivePeerDependencies:
|
||||
- '@vue/compiler-dom'
|
||||
- eslint
|
||||
- rollup
|
||||
- supports-color
|
||||
- typescript
|
||||
|
||||
'@intlify/unplugin-vue-i18n@11.0.1(@vue/compiler-dom@3.5.22)(eslint@9.36.0(jiti@2.5.1))(rollup@4.52.2)(typescript@5.9.2)(vue-i18n@11.1.12(vue@3.5.22(typescript@5.9.2)))(vue@3.5.22(typescript@5.9.2))':
|
||||
dependencies:
|
||||
'@eslint-community/eslint-utils': 4.9.0(eslint@9.36.0(jiti@2.5.1))
|
||||
@@ -18841,6 +18830,8 @@ snapshots:
|
||||
'@tybys/wasm-util': 0.10.1
|
||||
optional: true
|
||||
|
||||
'@nekopaw/tempora@0.3.1-alpha.1': {}
|
||||
|
||||
'@netlify/binary-info@1.0.0': {}
|
||||
|
||||
'@netlify/blobs@9.1.2':
|
||||
@@ -19247,63 +19238,6 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- magicast
|
||||
|
||||
'@nuxt/vite-builder@4.0.3(@types/node@24.5.2)(eslint@9.36.0(jiti@2.5.1))(less@4.4.1)(lightningcss@1.30.1)(magicast@0.3.5)(optionator@0.9.4)(rolldown@1.0.0-beta.40)(rollup@2.79.2)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.2)(vue-tsc@3.0.8(typescript@5.9.2))(vue@3.5.22(typescript@5.9.2))(yaml@2.8.1)':
|
||||
dependencies:
|
||||
'@nuxt/kit': 4.0.3(magicast@0.3.5)
|
||||
'@rollup/plugin-replace': 6.0.2(rollup@2.79.2)
|
||||
'@vitejs/plugin-vue': 6.0.1(vite@7.1.7(@types/node@24.5.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.2))
|
||||
'@vitejs/plugin-vue-jsx': 5.1.1(vite@7.1.7(@types/node@24.5.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.2))
|
||||
autoprefixer: 10.4.21(postcss@8.5.6)
|
||||
consola: 3.4.2
|
||||
cssnano: 7.1.1(postcss@8.5.6)
|
||||
defu: 6.1.4
|
||||
esbuild: 0.25.9
|
||||
escape-string-regexp: 5.0.0
|
||||
exsolve: 1.0.7
|
||||
get-port-please: 3.2.0
|
||||
h3: 1.15.4
|
||||
jiti: 2.5.1
|
||||
knitwork: 1.2.0
|
||||
magic-string: 0.30.19
|
||||
mlly: 1.8.0
|
||||
mocked-exports: 0.1.1
|
||||
pathe: 2.0.3
|
||||
pkg-types: 2.3.0
|
||||
postcss: 8.5.6
|
||||
rollup-plugin-visualizer: 6.0.3(rolldown@1.0.0-beta.40)(rollup@2.79.2)
|
||||
std-env: 3.9.0
|
||||
ufo: 1.6.1
|
||||
unenv: 2.0.0-rc.19
|
||||
vite: 7.1.7(@types/node@24.5.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)
|
||||
vite-node: 3.2.4(@types/node@24.5.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)
|
||||
vite-plugin-checker: 0.10.3(eslint@9.36.0(jiti@2.5.1))(optionator@0.9.4)(typescript@5.9.2)(vite@7.1.7(@types/node@24.5.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue-tsc@3.0.8(typescript@5.9.2))
|
||||
vue: 3.5.22(typescript@5.9.2)
|
||||
vue-bundle-renderer: 2.1.2
|
||||
transitivePeerDependencies:
|
||||
- '@biomejs/biome'
|
||||
- '@types/node'
|
||||
- eslint
|
||||
- less
|
||||
- lightningcss
|
||||
- magicast
|
||||
- meow
|
||||
- optionator
|
||||
- rolldown
|
||||
- rollup
|
||||
- sass
|
||||
- sass-embedded
|
||||
- stylelint
|
||||
- stylus
|
||||
- sugarss
|
||||
- supports-color
|
||||
- terser
|
||||
- tsx
|
||||
- typescript
|
||||
- vls
|
||||
- vti
|
||||
- vue-tsc
|
||||
- yaml
|
||||
|
||||
'@nuxt/vite-builder@4.0.3(@types/node@24.5.2)(eslint@9.36.0(jiti@2.5.1))(less@4.4.1)(lightningcss@1.30.1)(magicast@0.3.5)(optionator@0.9.4)(rolldown@1.0.0-beta.40)(rollup@4.52.2)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.2)(vue-tsc@3.0.8(typescript@5.9.2))(vue@3.5.22(typescript@5.9.2))(yaml@2.8.1)':
|
||||
dependencies:
|
||||
'@nuxt/kit': 4.0.3(magicast@0.3.5)
|
||||
@@ -20910,13 +20844,6 @@ snapshots:
|
||||
magic-string: 0.25.9
|
||||
rollup: 2.79.2
|
||||
|
||||
'@rollup/plugin-replace@6.0.2(rollup@2.79.2)':
|
||||
dependencies:
|
||||
'@rollup/pluginutils': 5.3.0(rollup@2.79.2)
|
||||
magic-string: 0.30.19
|
||||
optionalDependencies:
|
||||
rollup: 2.79.2
|
||||
|
||||
'@rollup/plugin-replace@6.0.2(rollup@4.52.2)':
|
||||
dependencies:
|
||||
'@rollup/pluginutils': 5.3.0(rollup@4.52.2)
|
||||
@@ -23447,108 +23374,6 @@ snapshots:
|
||||
|
||||
astring@1.9.0: {}
|
||||
|
||||
astro@5.10.1(@netlify/blobs@9.1.2)(@types/node@24.5.2)(db0@0.3.2(drizzle-orm@0.44.5(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(encoding@0.1.13)(ioredis@5.7.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(rollup@2.79.2)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.2)(yaml@2.8.1):
|
||||
dependencies:
|
||||
'@astrojs/compiler': 2.12.2
|
||||
'@astrojs/internal-helpers': 0.6.1
|
||||
'@astrojs/markdown-remark': 6.3.2
|
||||
'@astrojs/telemetry': 3.3.0
|
||||
'@capsizecss/unpack': 2.4.0(encoding@0.1.13)
|
||||
'@oslojs/encoding': 1.1.0
|
||||
'@rollup/pluginutils': 5.3.0(rollup@2.79.2)
|
||||
acorn: 8.15.0
|
||||
aria-query: 5.3.2
|
||||
axobject-query: 4.1.0
|
||||
boxen: 8.0.1
|
||||
ci-info: 4.3.0
|
||||
clsx: 2.1.1
|
||||
common-ancestor-path: 1.0.1
|
||||
cookie: 1.0.2
|
||||
cssesc: 3.0.0
|
||||
debug: 4.4.3
|
||||
deterministic-object-hash: 2.0.2
|
||||
devalue: 5.3.2
|
||||
diff: 5.2.0
|
||||
dlv: 1.1.3
|
||||
dset: 3.1.4
|
||||
es-module-lexer: 1.7.0
|
||||
esbuild: 0.25.9
|
||||
estree-walker: 3.0.3
|
||||
flattie: 1.1.1
|
||||
fontace: 0.3.0
|
||||
github-slugger: 2.0.0
|
||||
html-escaper: 3.0.3
|
||||
http-cache-semantics: 4.2.0
|
||||
import-meta-resolve: 4.2.0
|
||||
js-yaml: 4.1.0
|
||||
kleur: 4.1.5
|
||||
magic-string: 0.30.19
|
||||
magicast: 0.3.5
|
||||
mrmime: 2.0.1
|
||||
neotraverse: 0.6.18
|
||||
p-limit: 6.2.0
|
||||
p-queue: 8.1.0
|
||||
package-manager-detector: 1.3.0
|
||||
picomatch: 4.0.3
|
||||
prompts: 2.4.2
|
||||
rehype: 13.0.2
|
||||
semver: 7.7.2
|
||||
shiki: 3.13.0
|
||||
tinyexec: 0.3.2
|
||||
tinyglobby: 0.2.15
|
||||
tsconfck: 3.1.6(typescript@5.9.2)
|
||||
ultrahtml: 1.6.0
|
||||
unifont: 0.5.2
|
||||
unist-util-visit: 5.0.0
|
||||
unstorage: 1.17.0(@netlify/blobs@9.1.2)(db0@0.3.2(drizzle-orm@0.44.5(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(ioredis@5.7.0)
|
||||
vfile: 6.0.3
|
||||
vite: 6.3.6(@types/node@24.5.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)
|
||||
vitefu: 1.1.1(vite@6.3.6(@types/node@24.5.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))
|
||||
xxhash-wasm: 1.1.0
|
||||
yargs-parser: 21.1.1
|
||||
yocto-spinner: 0.2.3
|
||||
zod: 3.25.76
|
||||
zod-to-json-schema: 3.24.6(zod@3.25.76)
|
||||
zod-to-ts: 1.2.0(typescript@5.9.2)(zod@3.25.76)
|
||||
optionalDependencies:
|
||||
sharp: 0.33.5
|
||||
transitivePeerDependencies:
|
||||
- '@azure/app-configuration'
|
||||
- '@azure/cosmos'
|
||||
- '@azure/data-tables'
|
||||
- '@azure/identity'
|
||||
- '@azure/keyvault-secrets'
|
||||
- '@azure/storage-blob'
|
||||
- '@capacitor/preferences'
|
||||
- '@deno/kv'
|
||||
- '@netlify/blobs'
|
||||
- '@planetscale/database'
|
||||
- '@types/node'
|
||||
- '@upstash/redis'
|
||||
- '@vercel/blob'
|
||||
- '@vercel/functions'
|
||||
- '@vercel/kv'
|
||||
- aws4fetch
|
||||
- db0
|
||||
- encoding
|
||||
- idb-keyval
|
||||
- ioredis
|
||||
- jiti
|
||||
- less
|
||||
- lightningcss
|
||||
- rollup
|
||||
- sass
|
||||
- sass-embedded
|
||||
- stylus
|
||||
- sugarss
|
||||
- supports-color
|
||||
- terser
|
||||
- tsx
|
||||
- typescript
|
||||
- uploadthing
|
||||
- yaml
|
||||
optional: true
|
||||
|
||||
astro@5.10.1(@netlify/blobs@9.1.2)(@types/node@24.5.2)(db0@0.3.2(drizzle-orm@0.44.5(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(encoding@0.1.13)(ioredis@5.7.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(rollup@4.52.2)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.2)(yaml@2.8.1):
|
||||
dependencies:
|
||||
'@astrojs/compiler': 2.12.2
|
||||
@@ -28676,7 +28501,7 @@ snapshots:
|
||||
dependencies:
|
||||
boolbase: 1.0.0
|
||||
|
||||
nuxt@4.0.3(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.0)(@types/node@24.5.2)(@vue/compiler-sfc@3.5.22)(bufferutil@4.0.9)(db0@0.3.2(drizzle-orm@0.44.5(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(drizzle-orm@0.44.5(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7))(encoding@0.1.13)(eslint@9.36.0(jiti@2.5.1))(ioredis@5.7.0)(less@4.4.1)(lightningcss@1.30.1)(magicast@0.3.5)(optionator@0.9.4)(rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(rolldown@1.0.0-beta.40)(rollup@2.79.2)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.2)(utf-8-validate@5.0.10)(vue-tsc@3.0.8(typescript@5.9.2))(xml2js@0.6.2)(yaml@2.8.1):
|
||||
nuxt@4.0.3(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.0)(@types/node@24.5.2)(@vue/compiler-sfc@3.5.22)(bufferutil@4.0.9)(db0@0.3.2(drizzle-orm@0.44.5(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(drizzle-orm@0.44.5(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7))(encoding@0.1.13)(eslint@9.36.0(jiti@2.5.1))(ioredis@5.7.0)(less@4.4.1)(lightningcss@1.30.1)(magicast@0.3.5)(optionator@0.9.4)(rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(rolldown@1.0.0-beta.40)(rollup@4.52.2)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.2)(utf-8-validate@5.0.10)(vue-tsc@3.0.8(typescript@5.9.2))(xml2js@0.6.2)(yaml@2.8.1):
|
||||
dependencies:
|
||||
'@nuxt/cli': 3.28.0(magicast@0.3.5)
|
||||
'@nuxt/devalue': 2.0.2
|
||||
@@ -28684,7 +28509,7 @@ snapshots:
|
||||
'@nuxt/kit': 4.0.3(magicast@0.3.5)
|
||||
'@nuxt/schema': 4.0.3
|
||||
'@nuxt/telemetry': 2.6.6(magicast@0.3.5)
|
||||
'@nuxt/vite-builder': 4.0.3(@types/node@24.5.2)(eslint@9.36.0(jiti@2.5.1))(less@4.4.1)(lightningcss@1.30.1)(magicast@0.3.5)(optionator@0.9.4)(rolldown@1.0.0-beta.40)(rollup@2.79.2)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.2)(vue-tsc@3.0.8(typescript@5.9.2))(vue@3.5.22(typescript@5.9.2))(yaml@2.8.1)
|
||||
'@nuxt/vite-builder': 4.0.3(@types/node@24.5.2)(eslint@9.36.0(jiti@2.5.1))(less@4.4.1)(lightningcss@1.30.1)(magicast@0.3.5)(optionator@0.9.4)(rolldown@1.0.0-beta.40)(rollup@4.52.2)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.2)(vue-tsc@3.0.8(typescript@5.9.2))(vue@3.5.22(typescript@5.9.2))(yaml@2.8.1)
|
||||
'@unhead/vue': 2.0.14(vue@3.5.22(typescript@5.9.2))
|
||||
'@vue/shared': 3.5.22
|
||||
c12: 3.2.0(magicast@0.3.5)
|
||||
@@ -30724,15 +30549,6 @@ snapshots:
|
||||
'@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.40
|
||||
'@rolldown/binding-win32-x64-msvc': 1.0.0-beta.40
|
||||
|
||||
rollup-plugin-visualizer@5.11.0(rollup@2.79.2):
|
||||
dependencies:
|
||||
open: 8.4.2
|
||||
picomatch: 2.3.1
|
||||
source-map: 0.7.4
|
||||
yargs: 17.7.2
|
||||
optionalDependencies:
|
||||
rollup: 2.79.2
|
||||
|
||||
rollup-plugin-visualizer@5.11.0(rollup@4.52.2):
|
||||
dependencies:
|
||||
open: 8.4.2
|
||||
@@ -30742,16 +30558,6 @@ snapshots:
|
||||
optionalDependencies:
|
||||
rollup: 4.52.2
|
||||
|
||||
rollup-plugin-visualizer@6.0.3(rolldown@1.0.0-beta.40)(rollup@2.79.2):
|
||||
dependencies:
|
||||
open: 8.4.2
|
||||
picomatch: 4.0.3
|
||||
source-map: 0.7.4
|
||||
yargs: 17.7.2
|
||||
optionalDependencies:
|
||||
rolldown: 1.0.0-beta.40
|
||||
rollup: 2.79.2
|
||||
|
||||
rollup-plugin-visualizer@6.0.3(rolldown@1.0.0-beta.40)(rollup@4.52.2):
|
||||
dependencies:
|
||||
open: 8.4.2
|
||||
@@ -32098,14 +31904,6 @@ snapshots:
|
||||
|
||||
unpipe@1.0.0: {}
|
||||
|
||||
unplugin-combine@1.2.1(esbuild@0.25.9)(rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(rolldown@1.0.0-beta.40)(rollup@2.79.2)(unplugin@1.16.1):
|
||||
optionalDependencies:
|
||||
esbuild: 0.25.9
|
||||
rolldown: 1.0.0-beta.40
|
||||
rollup: 2.79.2
|
||||
unplugin: 1.16.1
|
||||
vite: rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)
|
||||
|
||||
unplugin-combine@1.2.1(esbuild@0.25.9)(rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(rolldown@1.0.0-beta.40)(rollup@4.52.2)(unplugin@1.16.1):
|
||||
optionalDependencies:
|
||||
esbuild: 0.25.9
|
||||
@@ -32114,21 +31912,6 @@ snapshots:
|
||||
unplugin: 1.16.1
|
||||
vite: rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)
|
||||
|
||||
unplugin-info@1.2.4(@nuxt/kit@4.0.3(magicast@0.3.5))(@nuxt/schema@4.0.3)(esbuild@0.25.9)(rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(rollup@2.79.2):
|
||||
dependencies:
|
||||
ci-info: 4.3.0
|
||||
git-url-parse: 16.1.0
|
||||
simple-git: 3.28.0
|
||||
unplugin: 2.3.10
|
||||
optionalDependencies:
|
||||
'@nuxt/kit': 4.0.3(magicast@0.3.5)
|
||||
'@nuxt/schema': 4.0.3
|
||||
esbuild: 0.25.9
|
||||
rollup: 2.79.2
|
||||
vite: rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
unplugin-info@1.2.4(@nuxt/kit@4.0.3(magicast@0.3.5))(@nuxt/schema@4.0.3)(esbuild@0.25.9)(rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(rollup@4.52.2):
|
||||
dependencies:
|
||||
ci-info: 4.3.0
|
||||
@@ -32197,52 +31980,6 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- vue
|
||||
|
||||
unplugin-vue-macros@2.14.5(@vueuse/core@13.9.0(vue@3.5.22(typescript@5.9.2)))(esbuild@0.25.9)(rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(rolldown@1.0.0-beta.40)(rollup@2.79.2)(typescript@5.9.2)(vue-tsc@3.0.8(typescript@5.9.2))(vue@3.5.22(typescript@5.9.2)):
|
||||
dependencies:
|
||||
'@vue-macros/better-define': 1.11.4(vue@3.5.22(typescript@5.9.2))
|
||||
'@vue-macros/boolean-prop': 0.5.5(vue@3.5.22(typescript@5.9.2))
|
||||
'@vue-macros/chain-call': 0.4.5(vue@3.5.22(typescript@5.9.2))
|
||||
'@vue-macros/common': 1.16.1(vue@3.5.22(typescript@5.9.2))
|
||||
'@vue-macros/config': 0.6.1(vue@3.5.22(typescript@5.9.2))
|
||||
'@vue-macros/define-emit': 0.5.4(vue@3.5.22(typescript@5.9.2))
|
||||
'@vue-macros/define-models': 1.3.5(@vueuse/core@13.9.0(vue@3.5.22(typescript@5.9.2)))(vue@3.5.22(typescript@5.9.2))
|
||||
'@vue-macros/define-prop': 0.6.5(vue@3.5.22(typescript@5.9.2))
|
||||
'@vue-macros/define-props': 4.0.6(@vue-macros/reactivity-transform@1.1.6(vue@3.5.22(typescript@5.9.2)))(vue@3.5.22(typescript@5.9.2))
|
||||
'@vue-macros/define-props-refs': 1.3.5(vue@3.5.22(typescript@5.9.2))
|
||||
'@vue-macros/define-render': 1.6.6(vue@3.5.22(typescript@5.9.2))
|
||||
'@vue-macros/define-slots': 1.2.6(vue@3.5.22(typescript@5.9.2))
|
||||
'@vue-macros/define-stylex': 0.2.3(vue@3.5.22(typescript@5.9.2))
|
||||
'@vue-macros/devtools': 0.4.1(rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(typescript@5.9.2)
|
||||
'@vue-macros/export-expose': 0.3.5(vue@3.5.22(typescript@5.9.2))
|
||||
'@vue-macros/export-props': 0.6.5(vue@3.5.22(typescript@5.9.2))
|
||||
'@vue-macros/export-render': 0.3.5(vue@3.5.22(typescript@5.9.2))
|
||||
'@vue-macros/hoist-static': 1.7.0(vue@3.5.22(typescript@5.9.2))
|
||||
'@vue-macros/jsx-directive': 0.10.6(typescript@5.9.2)
|
||||
'@vue-macros/named-template': 0.5.5(vue@3.5.22(typescript@5.9.2))
|
||||
'@vue-macros/reactivity-transform': 1.1.6(vue@3.5.22(typescript@5.9.2))
|
||||
'@vue-macros/script-lang': 0.2.5(vue@3.5.22(typescript@5.9.2))
|
||||
'@vue-macros/setup-block': 0.4.5(vue@3.5.22(typescript@5.9.2))
|
||||
'@vue-macros/setup-component': 0.18.5(vue@3.5.22(typescript@5.9.2))
|
||||
'@vue-macros/setup-sfc': 0.18.5(vue@3.5.22(typescript@5.9.2))
|
||||
'@vue-macros/short-bind': 1.1.5(vue@3.5.22(typescript@5.9.2))
|
||||
'@vue-macros/short-emits': 1.6.5(vue@3.5.22(typescript@5.9.2))
|
||||
'@vue-macros/short-vmodel': 1.5.5(vue@3.5.22(typescript@5.9.2))
|
||||
'@vue-macros/volar': 0.30.15(typescript@5.9.2)(vue-tsc@3.0.8(typescript@5.9.2))(vue@3.5.22(typescript@5.9.2))
|
||||
unplugin: 1.16.1
|
||||
unplugin-combine: 1.2.1(esbuild@0.25.9)(rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(rolldown@1.0.0-beta.40)(rollup@2.79.2)(unplugin@1.16.1)
|
||||
unplugin-vue-define-options: 1.5.5(vue@3.5.22(typescript@5.9.2))
|
||||
vue: 3.5.22(typescript@5.9.2)
|
||||
transitivePeerDependencies:
|
||||
- '@rspack/core'
|
||||
- '@vueuse/core'
|
||||
- esbuild
|
||||
- rolldown
|
||||
- rollup
|
||||
- typescript
|
||||
- vite
|
||||
- vue-tsc
|
||||
- webpack
|
||||
|
||||
unplugin-vue-macros@2.14.5(@vueuse/core@13.9.0(vue@3.5.22(typescript@5.9.2)))(esbuild@0.25.9)(rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(rolldown@1.0.0-beta.40)(rollup@4.52.2)(typescript@5.9.2)(vue-tsc@3.0.8(typescript@5.9.2))(vue@3.5.22(typescript@5.9.2)):
|
||||
dependencies:
|
||||
'@vue-macros/better-define': 1.11.4(vue@3.5.22(typescript@5.9.2))
|
||||
@@ -32335,20 +32072,6 @@ snapshots:
|
||||
- tsx
|
||||
- yaml
|
||||
|
||||
unplugin-yaml@3.0.6(@nuxt/kit@4.0.3(magicast@0.3.5))(@nuxt/schema@4.0.3)(astro@5.10.1(@netlify/blobs@9.1.2)(@types/node@24.5.2)(db0@0.3.2(drizzle-orm@0.44.5(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(encoding@0.1.13)(ioredis@5.7.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(rollup@2.79.2)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.2)(yaml@2.8.1))(esbuild@0.25.9)(rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(rolldown@1.0.0-beta.40)(rollup@2.79.2):
|
||||
dependencies:
|
||||
'@rollup/pluginutils': 5.3.0(rollup@2.79.2)
|
||||
unplugin: 2.3.10
|
||||
yaml: 2.8.1
|
||||
optionalDependencies:
|
||||
'@nuxt/kit': 4.0.3(magicast@0.3.5)
|
||||
'@nuxt/schema': 4.0.3
|
||||
astro: 5.10.1(@netlify/blobs@9.1.2)(@types/node@24.5.2)(db0@0.3.2(drizzle-orm@0.44.5(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(encoding@0.1.13)(ioredis@5.7.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(rollup@2.79.2)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.2)(yaml@2.8.1)
|
||||
esbuild: 0.25.9
|
||||
rolldown: 1.0.0-beta.40
|
||||
rollup: 2.79.2
|
||||
vite: rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)
|
||||
|
||||
unplugin-yaml@3.0.6(@nuxt/kit@4.0.3(magicast@0.3.5))(@nuxt/schema@4.0.3)(astro@5.10.1(@netlify/blobs@9.1.2)(@types/node@24.5.2)(db0@0.3.2(drizzle-orm@0.44.5(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(encoding@0.1.13)(ioredis@5.7.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(rollup@4.52.2)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.2)(yaml@2.8.1))(esbuild@0.25.9)(rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(rolldown@1.0.0-beta.40)(rollup@4.52.2):
|
||||
dependencies:
|
||||
'@rollup/pluginutils': 5.3.0(rollup@4.52.2)
|
||||
@@ -32377,7 +32100,7 @@ snapshots:
|
||||
rollup: 4.52.2
|
||||
vite: 6.3.6(@types/node@24.5.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)
|
||||
|
||||
unplugin-yaml@3.0.6(@nuxt/kit@4.0.3(magicast@0.3.5))(@nuxt/schema@4.0.3)(astro@5.10.1(@netlify/blobs@9.1.2)(@types/node@24.5.2)(db0@0.3.2(drizzle-orm@0.44.5(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(encoding@0.1.13)(ioredis@5.7.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(rollup@4.52.2)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.2)(yaml@2.8.1))(esbuild@0.25.9)(rolldown@1.0.0-beta.40)(rollup@4.52.2)(vite@7.1.7(@types/node@24.5.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)):
|
||||
unplugin-yaml@3.0.6(@nuxt/kit@4.0.3(magicast@0.3.5))(@nuxt/schema@4.0.3)(astro@5.10.1(@netlify/blobs@9.1.2)(@types/node@24.5.2)(db0@0.3.2(drizzle-orm@0.44.5(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(ioredis@5.7.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(rollup@4.52.2)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.2)(yaml@2.8.1))(esbuild@0.25.9)(rolldown@1.0.0-beta.40)(rollup@4.52.2)(vite@7.1.7(@types/node@24.5.2)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)):
|
||||
dependencies:
|
||||
'@rollup/pluginutils': 5.3.0(rollup@4.52.2)
|
||||
unplugin: 2.3.10
|
||||
@@ -32567,16 +32290,6 @@ snapshots:
|
||||
'@types/unist': 3.0.3
|
||||
vfile-message: 4.0.2
|
||||
|
||||
vite-bundle-visualizer@1.2.1(rollup@2.79.2):
|
||||
dependencies:
|
||||
cac: 6.7.14
|
||||
import-from-esm: 1.3.3
|
||||
rollup-plugin-visualizer: 5.11.0(rollup@2.79.2)
|
||||
tmp: 0.2.5
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
- supports-color
|
||||
|
||||
vite-bundle-visualizer@1.2.1(rollup@4.52.2):
|
||||
dependencies:
|
||||
cac: 6.7.14
|
||||
@@ -32769,21 +32482,6 @@ snapshots:
|
||||
- supports-color
|
||||
- vue
|
||||
|
||||
vite-plugin-vue-devtools@8.0.2(rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.2)):
|
||||
dependencies:
|
||||
'@vue/devtools-core': 8.0.2(rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.2))
|
||||
'@vue/devtools-kit': 8.0.2
|
||||
'@vue/devtools-shared': 8.0.2
|
||||
execa: 9.6.0
|
||||
sirv: 3.0.2
|
||||
vite: rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)
|
||||
vite-plugin-inspect: 11.3.3(@nuxt/kit@3.18.1(magicast@0.3.5))(rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))
|
||||
vite-plugin-vue-inspector: 5.3.2(rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))
|
||||
transitivePeerDependencies:
|
||||
- '@nuxt/kit'
|
||||
- supports-color
|
||||
- vue
|
||||
|
||||
vite-plugin-vue-inspector@5.3.2(rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)):
|
||||
dependencies:
|
||||
'@babel/core': 7.28.3
|
||||
@@ -33024,11 +32722,11 @@ snapshots:
|
||||
'@vue/devtools-api': 6.6.4
|
||||
vue: 3.5.22(typescript@5.9.2)
|
||||
|
||||
vue-sonner@2.0.8(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.0)(@types/node@24.5.2)(@vue/compiler-sfc@3.5.22)(bufferutil@4.0.9)(db0@0.3.2(drizzle-orm@0.44.5(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(drizzle-orm@0.44.5(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7))(encoding@0.1.13)(eslint@9.36.0(jiti@2.5.1))(ioredis@5.7.0)(less@4.4.1)(lightningcss@1.30.1)(magicast@0.3.5)(optionator@0.9.4)(rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(rolldown@1.0.0-beta.40)(rollup@2.79.2)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.2)(utf-8-validate@5.0.10)(vue-tsc@3.0.8(typescript@5.9.2))(xml2js@0.6.2)(yaml@2.8.1):
|
||||
vue-sonner@2.0.8(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.0)(@types/node@24.5.2)(@vue/compiler-sfc@3.5.22)(bufferutil@4.0.9)(db0@0.3.2(drizzle-orm@0.44.5(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(drizzle-orm@0.44.5(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7))(encoding@0.1.13)(eslint@9.36.0(jiti@2.5.1))(ioredis@5.7.0)(less@4.4.1)(lightningcss@1.30.1)(magicast@0.3.5)(optionator@0.9.4)(rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(rolldown@1.0.0-beta.40)(rollup@4.52.2)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.2)(utf-8-validate@5.0.10)(vue-tsc@3.0.8(typescript@5.9.2))(xml2js@0.6.2)(yaml@2.8.1):
|
||||
dependencies:
|
||||
'@nuxt/kit': 4.0.3(magicast@0.3.5)
|
||||
'@nuxt/schema': 4.0.3
|
||||
nuxt: 4.0.3(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.0)(@types/node@24.5.2)(@vue/compiler-sfc@3.5.22)(bufferutil@4.0.9)(db0@0.3.2(drizzle-orm@0.44.5(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(drizzle-orm@0.44.5(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7))(encoding@0.1.13)(eslint@9.36.0(jiti@2.5.1))(ioredis@5.7.0)(less@4.4.1)(lightningcss@1.30.1)(magicast@0.3.5)(optionator@0.9.4)(rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(rolldown@1.0.0-beta.40)(rollup@2.79.2)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.2)(utf-8-validate@5.0.10)(vue-tsc@3.0.8(typescript@5.9.2))(xml2js@0.6.2)(yaml@2.8.1)
|
||||
nuxt: 4.0.3(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.0)(@types/node@24.5.2)(@vue/compiler-sfc@3.5.22)(bufferutil@4.0.9)(db0@0.3.2(drizzle-orm@0.44.5(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(drizzle-orm@0.44.5(@opentelemetry/api@1.9.0)(@types/pg@8.15.5)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7))(encoding@0.1.13)(eslint@9.36.0(jiti@2.5.1))(ioredis@5.7.0)(less@4.4.1)(lightningcss@1.30.1)(magicast@0.3.5)(optionator@0.9.4)(rolldown-vite@7.1.13(@types/node@24.5.2)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(rolldown@1.0.0-beta.40)(rollup@4.52.2)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.2)(utf-8-validate@5.0.10)(vue-tsc@3.0.8(typescript@5.9.2))(xml2js@0.6.2)(yaml@2.8.1)
|
||||
transitivePeerDependencies:
|
||||
- '@azure/app-configuration'
|
||||
- '@azure/cosmos'
|
||||
|
||||
Reference in New Issue
Block a user