refactor(stage-*): audio hearing module
This commit is contained in:
@@ -2,10 +2,11 @@
|
|||||||
import type { TranscriptionProvider } from '@xsai-ext/shared-providers'
|
import type { TranscriptionProvider } from '@xsai-ext/shared-providers'
|
||||||
|
|
||||||
import { Alert, Button, ErrorContainer, LevelMeter, RadioCardManySelect, RadioCardSimple, TestDummyMarker, ThresholdMeter, TimeSeriesChart } from '@proj-airi/stage-ui/components'
|
import { Alert, Button, ErrorContainer, LevelMeter, RadioCardManySelect, RadioCardSimple, TestDummyMarker, ThresholdMeter, TimeSeriesChart } from '@proj-airi/stage-ui/components'
|
||||||
import { useAudioAnalyzer, useAudioDevice, useAudioRecorder } from '@proj-airi/stage-ui/composables'
|
import { useAudioAnalyzer, useAudioRecorder } from '@proj-airi/stage-ui/composables'
|
||||||
import { useAudioContext } from '@proj-airi/stage-ui/stores/audio'
|
import { useAudioContext } from '@proj-airi/stage-ui/stores/audio'
|
||||||
import { useHearingStore } from '@proj-airi/stage-ui/stores/modules/hearing'
|
import { useHearingStore } from '@proj-airi/stage-ui/stores/modules/hearing'
|
||||||
import { useProvidersStore } from '@proj-airi/stage-ui/stores/providers'
|
import { useProvidersStore } from '@proj-airi/stage-ui/stores/providers'
|
||||||
|
import { useSettingsAudioDevice } from '@proj-airi/stage-ui/stores/settings'
|
||||||
import { FieldCheckbox, FieldRange, FieldSelect } from '@proj-airi/ui'
|
import { FieldCheckbox, FieldRange, FieldSelect } from '@proj-airi/ui'
|
||||||
import { storeToRefs } from 'pinia'
|
import { storeToRefs } from 'pinia'
|
||||||
import { computed, onMounted, onUnmounted, ref, watch } from 'vue'
|
import { computed, onMounted, onUnmounted, ref, watch } from 'vue'
|
||||||
@@ -31,7 +32,8 @@ const {
|
|||||||
const providersStore = useProvidersStore()
|
const providersStore = useProvidersStore()
|
||||||
const { configuredTranscriptionProvidersMetadata } = storeToRefs(providersStore)
|
const { configuredTranscriptionProvidersMetadata } = storeToRefs(providersStore)
|
||||||
|
|
||||||
const { audioInputs, selectedAudioInput, stream, stopStream, startStream } = useAudioDevice()
|
const { stopStream, startStream } = useSettingsAudioDevice()
|
||||||
|
const { audioInputs, selectedAudioInput, stream } = storeToRefs(useSettingsAudioDevice())
|
||||||
const { startRecord, stopRecord, onStopRecord } = useAudioRecorder(stream)
|
const { startRecord, stopRecord, onStopRecord } = useAudioRecorder(stream)
|
||||||
const { startAnalyzer, stopAnalyzer, onAnalyzerUpdate, volumeLevel } = useAudioAnalyzer()
|
const { startAnalyzer, stopAnalyzer, onAnalyzerUpdate, volumeLevel } = useAudioAnalyzer()
|
||||||
const { audioContext } = storeToRefs(useAudioContext())
|
const { audioContext } = storeToRefs(useAudioContext())
|
||||||
@@ -144,6 +146,32 @@ async function loadVADModel() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
onStopRecord(async (recording) => {
|
||||||
|
if (!recording)
|
||||||
|
return
|
||||||
|
|
||||||
|
try {
|
||||||
|
if (recording && recording.size > 0) {
|
||||||
|
audios.value.push(recording)
|
||||||
|
|
||||||
|
const provider = await providersStore.getProviderInstance<TranscriptionProvider<string>>(activeTranscriptionProvider.value)
|
||||||
|
if (!provider) {
|
||||||
|
throw new Error('Failed to initialize speech provider')
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get model from configuration or use default
|
||||||
|
const model = activeTranscriptionModel.value
|
||||||
|
const res = await hearingStore.transcription(provider, model, new File([recording], 'recording.wav'))
|
||||||
|
|
||||||
|
transcriptions.value.push(res.text)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (err) {
|
||||||
|
error.value = err instanceof Error ? err.message : String(err)
|
||||||
|
console.error('Error generating transcription:', error.value)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
// Audio monitoring
|
// Audio monitoring
|
||||||
async function setupAudioMonitoring() {
|
async function setupAudioMonitoring() {
|
||||||
try {
|
try {
|
||||||
@@ -161,32 +189,6 @@ async function setupAudioMonitoring() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
onStopRecord(async (recording) => {
|
|
||||||
if (!recording)
|
|
||||||
return
|
|
||||||
|
|
||||||
try {
|
|
||||||
if (recording && recording.size > 0) {
|
|
||||||
audios.value.push(recording)
|
|
||||||
|
|
||||||
const provider = await providersStore.getProviderInstance<TranscriptionProvider<string>>(activeTranscriptionProvider.value)
|
|
||||||
if (!provider) {
|
|
||||||
throw new Error('Failed to initialize speech provider')
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get model from configuration or use default
|
|
||||||
const model = activeTranscriptionModel.value
|
|
||||||
const res = await hearingStore.transcription(provider, model, new File([recording], 'recording.wav'))
|
|
||||||
|
|
||||||
transcriptions.value.push(res.text)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (err) {
|
|
||||||
error.value = err instanceof Error ? err.message : String(err)
|
|
||||||
console.error('Error generating transcription:', error.value)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
const source = audioContext.value.createMediaStreamSource(stream.value)
|
const source = audioContext.value.createMediaStreamSource(stream.value)
|
||||||
const analyzer = startAnalyzer(audioContext.value)
|
const analyzer = startAnalyzer(audioContext.value)
|
||||||
|
|
||||||
|
|||||||
@@ -50,4 +50,4 @@ class VADProcessor extends AudioWorkletProcessor {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
registerProcessor('vad-processor', VADProcessor)
|
registerProcessor('vad-audio-worklet-processor', VADProcessor)
|
||||||
|
|||||||
@@ -37,6 +37,7 @@
|
|||||||
"@stdlib/string-base-kebabcase": "^0.2.2",
|
"@stdlib/string-base-kebabcase": "^0.2.2",
|
||||||
"@tresjs/cientos": "^4.3.1",
|
"@tresjs/cientos": "^4.3.1",
|
||||||
"@tresjs/core": "^4.3.6",
|
"@tresjs/core": "^4.3.6",
|
||||||
|
"@unbird/eventa": "^0.0.5",
|
||||||
"@valibot/to-json-schema": "1.0.0-rc.0",
|
"@valibot/to-json-schema": "1.0.0-rc.0",
|
||||||
"@vueuse/core": "^13.8.0",
|
"@vueuse/core": "^13.8.0",
|
||||||
"@vueuse/shared": "^13.8.0",
|
"@vueuse/shared": "^13.8.0",
|
||||||
|
|||||||
@@ -146,6 +146,32 @@ async function loadVADModel() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
onStopRecord(async (recording) => {
|
||||||
|
if (!recording)
|
||||||
|
return
|
||||||
|
|
||||||
|
try {
|
||||||
|
if (recording && recording.size > 0) {
|
||||||
|
audios.value.push(recording)
|
||||||
|
|
||||||
|
const provider = await providersStore.getProviderInstance<TranscriptionProvider<string>>(activeTranscriptionProvider.value)
|
||||||
|
if (!provider) {
|
||||||
|
throw new Error('Failed to initialize speech provider')
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get model from configuration or use default
|
||||||
|
const model = activeTranscriptionModel.value
|
||||||
|
const res = await hearingStore.transcription(provider, model, new File([recording], 'recording.wav'))
|
||||||
|
|
||||||
|
transcriptions.value.push(res.text)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (err) {
|
||||||
|
error.value = err instanceof Error ? err.message : String(err)
|
||||||
|
console.error('Error generating transcription:', error.value)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
// Audio monitoring
|
// Audio monitoring
|
||||||
async function setupAudioMonitoring() {
|
async function setupAudioMonitoring() {
|
||||||
try {
|
try {
|
||||||
@@ -163,32 +189,6 @@ async function setupAudioMonitoring() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
onStopRecord(async (recording) => {
|
|
||||||
if (!recording)
|
|
||||||
return
|
|
||||||
|
|
||||||
try {
|
|
||||||
if (recording && recording.size > 0) {
|
|
||||||
audios.value.push(recording)
|
|
||||||
|
|
||||||
const provider = await providersStore.getProviderInstance<TranscriptionProvider<string>>(activeTranscriptionProvider.value)
|
|
||||||
if (!provider) {
|
|
||||||
throw new Error('Failed to initialize speech provider')
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get model from configuration or use default
|
|
||||||
const model = activeTranscriptionModel.value
|
|
||||||
const res = await hearingStore.transcription(provider, model, new File([recording], 'recording.wav'))
|
|
||||||
|
|
||||||
transcriptions.value.push(res.text)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (err) {
|
|
||||||
error.value = err instanceof Error ? err.message : String(err)
|
|
||||||
console.error('Error generating transcription:', error.value)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
const source = audioContext.value.createMediaStreamSource(stream.value)
|
const source = audioContext.value.createMediaStreamSource(stream.value)
|
||||||
const analyzer = startAnalyzer(audioContext.value)
|
const analyzer = startAnalyzer(audioContext.value)
|
||||||
|
|
||||||
|
|||||||
@@ -50,4 +50,4 @@ class VADProcessor extends AudioWorkletProcessor {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
registerProcessor('vad-processor', VADProcessor)
|
registerProcessor('vad-audio-worklet-processor', VADProcessor)
|
||||||
|
|||||||
@@ -186,14 +186,10 @@ export class VAD implements BaseVAD {
|
|||||||
|
|
||||||
// Update the state
|
// Update the state
|
||||||
this.state = stateN
|
this.state = stateN
|
||||||
|
|
||||||
// Get the speech probability
|
// Get the speech probability
|
||||||
const speechProb = output.data[0]
|
const speechProb = output.data[0]
|
||||||
|
|
||||||
this.emit('debug', {
|
this.emit('debug', { message: 'VAD score', data: { probability: speechProb } })
|
||||||
message: 'VAD score',
|
|
||||||
data: { probability: speechProb },
|
|
||||||
})
|
|
||||||
|
|
||||||
// Apply thresholds
|
// Apply thresholds
|
||||||
return (
|
return (
|
||||||
@@ -269,22 +265,6 @@ export class VAD implements BaseVAD {
|
|||||||
this.sampleRateTensor = new Tensor('int64', [this.config.sampleRate], [])
|
this.sampleRateTensor = new Tensor('int64', [this.config.sampleRate], [])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get current VAD probability
|
|
||||||
*/
|
|
||||||
public getLastProbability(): number {
|
|
||||||
// This should be set after the last detectSpeech call
|
|
||||||
// For now, we'll return 0 as a placeholder
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Check if currently recording speech
|
|
||||||
*/
|
|
||||||
public isCurrentlyRecording(): boolean {
|
|
||||||
return this.isRecording
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -85,6 +85,7 @@ words:
|
|||||||
- elevenlabs
|
- elevenlabs
|
||||||
- Equirectangular
|
- Equirectangular
|
||||||
- esaxx
|
- esaxx
|
||||||
|
- eventa
|
||||||
- Factorio
|
- Factorio
|
||||||
- feaxios
|
- feaxios
|
||||||
- formkit
|
- formkit
|
||||||
@@ -240,6 +241,7 @@ words:
|
|||||||
- tresjs
|
- tresjs
|
||||||
- tsdown
|
- tsdown
|
||||||
- turborepo
|
- turborepo
|
||||||
|
- unbird
|
||||||
- unbundle
|
- unbundle
|
||||||
- uncrypto
|
- uncrypto
|
||||||
- unhead
|
- unhead
|
||||||
@@ -260,6 +262,7 @@ words:
|
|||||||
- waapi
|
- waapi
|
||||||
- wavefile
|
- wavefile
|
||||||
- webgpu
|
- webgpu
|
||||||
|
- webworkers
|
||||||
- weeb
|
- weeb
|
||||||
- wgpu
|
- wgpu
|
||||||
- wlipsync
|
- wlipsync
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import { until } from '@vueuse/core'
|
|||||||
import { computed, onUnmounted, ref, watch } from 'vue'
|
import { computed, onUnmounted, ref, watch } from 'vue'
|
||||||
import { useI18n } from 'vue-i18n'
|
import { useI18n } from 'vue-i18n'
|
||||||
|
|
||||||
|
import { useAudioAnalyzer } from '../../../composables/audio/audio-analyzer'
|
||||||
import { useAudioRecorder } from '../../../composables/audio/audio-recorder'
|
import { useAudioRecorder } from '../../../composables/audio/audio-recorder'
|
||||||
import { useAudioDevice } from '../../../composables/audio/device'
|
import { useAudioDevice } from '../../../composables/audio/device'
|
||||||
import { LevelMeter, TestDummyMarker, ThresholdMeter } from '../../Gadgets'
|
import { LevelMeter, TestDummyMarker, ThresholdMeter } from '../../Gadgets'
|
||||||
@@ -20,6 +21,8 @@ const props = defineProps<{
|
|||||||
|
|
||||||
const { t } = useI18n()
|
const { t } = useI18n()
|
||||||
const { audioInputs, selectedAudioInput, stream, stopStream, startStream } = useAudioDevice()
|
const { audioInputs, selectedAudioInput, stream, stopStream, startStream } = useAudioDevice()
|
||||||
|
const { volumeLevel, stopAnalyzer, startAnalyzer } = useAudioAnalyzer()
|
||||||
|
const { startRecord, stopRecord, onStopRecord } = useAudioRecorder(stream)
|
||||||
|
|
||||||
const speakingThreshold = ref(25) // 0-100 (for volume-based fallback)
|
const speakingThreshold = ref(25) // 0-100 (for volume-based fallback)
|
||||||
const isMonitoring = ref(false)
|
const isMonitoring = ref(false)
|
||||||
@@ -28,10 +31,8 @@ const isSpeaking = ref(false)
|
|||||||
const errorMessage = ref<string>('')
|
const errorMessage = ref<string>('')
|
||||||
|
|
||||||
const audioContext = ref<AudioContext>()
|
const audioContext = ref<AudioContext>()
|
||||||
const analyser = ref<AnalyserNode>()
|
|
||||||
const dataArray = ref<Uint8Array<ArrayBuffer>>()
|
const dataArray = ref<Uint8Array<ArrayBuffer>>()
|
||||||
const animationFrame = ref<number>()
|
const animationFrame = ref<number>()
|
||||||
const volumeLevel = ref(0) // 0-100
|
|
||||||
|
|
||||||
const audios = ref<Blob[]>([])
|
const audios = ref<Blob[]>([])
|
||||||
const audioCleanups = ref<(() => void)[]>([])
|
const audioCleanups = ref<(() => void)[]>([])
|
||||||
@@ -44,94 +45,6 @@ const audioURLs = computed(() => {
|
|||||||
})
|
})
|
||||||
const transcriptions = ref<string[]>([])
|
const transcriptions = ref<string[]>([])
|
||||||
|
|
||||||
const { startRecord, stopRecord, onStopRecord } = useAudioRecorder(stream)
|
|
||||||
|
|
||||||
// Audio monitoring
|
|
||||||
async function setupAudioMonitoring() {
|
|
||||||
try {
|
|
||||||
// Clean up existing connections
|
|
||||||
await stopAudioMonitoring()
|
|
||||||
|
|
||||||
await startStream()
|
|
||||||
await until(stream).toBeTruthy()
|
|
||||||
|
|
||||||
// Create audio context
|
|
||||||
audioContext.value = new AudioContext()
|
|
||||||
const source = audioContext.value.createMediaStreamSource(stream.value!)
|
|
||||||
|
|
||||||
// Create analyser for volume detection
|
|
||||||
analyser.value = audioContext.value.createAnalyser()
|
|
||||||
analyser.value.fftSize = 256
|
|
||||||
analyser.value.smoothingTimeConstant = 0.3
|
|
||||||
|
|
||||||
// Connect audio graph
|
|
||||||
source.connect(analyser.value)
|
|
||||||
|
|
||||||
// Set up data array for analysis
|
|
||||||
const bufferLength = analyser.value.frequencyBinCount
|
|
||||||
dataArray.value = new Uint8Array(bufferLength)
|
|
||||||
|
|
||||||
// Start audio analysis loop
|
|
||||||
startAudioAnalysis()
|
|
||||||
}
|
|
||||||
catch (error) {
|
|
||||||
console.error('Error setting up audio monitoring:', error)
|
|
||||||
errorMessage.value = error instanceof Error ? error.message : String(error)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
async function stopAudioMonitoring() {
|
|
||||||
// Stop animation frame
|
|
||||||
if (animationFrame.value) {
|
|
||||||
cancelAnimationFrame(animationFrame.value)
|
|
||||||
animationFrame.value = undefined
|
|
||||||
}
|
|
||||||
|
|
||||||
// Stop media stream
|
|
||||||
if (stream.value) {
|
|
||||||
stream.value.getTracks().forEach(track => track.stop())
|
|
||||||
stream.value = undefined
|
|
||||||
}
|
|
||||||
|
|
||||||
// Close audio context
|
|
||||||
if (audioContext.value) {
|
|
||||||
await audioContext.value.close()
|
|
||||||
audioContext.value = undefined
|
|
||||||
}
|
|
||||||
|
|
||||||
await stopRecord()
|
|
||||||
await stopStream()
|
|
||||||
|
|
||||||
analyser.value = undefined
|
|
||||||
dataArray.value = undefined
|
|
||||||
volumeLevel.value = 0
|
|
||||||
isSpeaking.value = false
|
|
||||||
}
|
|
||||||
|
|
||||||
function startAudioAnalysis() {
|
|
||||||
const analyze = () => {
|
|
||||||
if (!analyser.value || !dataArray.value)
|
|
||||||
return
|
|
||||||
|
|
||||||
// Get frequency data for volume visualization
|
|
||||||
analyser.value.getByteFrequencyData(dataArray.value)
|
|
||||||
|
|
||||||
// Calculate RMS volume level
|
|
||||||
let sum = 0
|
|
||||||
for (let i = 0; i < dataArray.value.length; i++) {
|
|
||||||
sum += dataArray.value[i] * dataArray.value[i]
|
|
||||||
}
|
|
||||||
const rms = Math.sqrt(sum / dataArray.value.length)
|
|
||||||
volumeLevel.value = Math.min(100, (rms / 255) * 100 * 3) // Amplify for better visualization
|
|
||||||
|
|
||||||
isSpeaking.value = volumeLevel.value > speakingThreshold.value
|
|
||||||
|
|
||||||
animationFrame.value = requestAnimationFrame(analyze)
|
|
||||||
}
|
|
||||||
|
|
||||||
analyze()
|
|
||||||
}
|
|
||||||
|
|
||||||
watch(selectedAudioInput, async () => {
|
watch(selectedAudioInput, async () => {
|
||||||
if (isMonitoring.value) {
|
if (isMonitoring.value) {
|
||||||
await setupAudioMonitoring()
|
await setupAudioMonitoring()
|
||||||
@@ -144,23 +57,69 @@ watch(audioInputs, () => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
async function setupAudioMonitoring() {
|
||||||
|
try {
|
||||||
|
await stopAudioMonitoring()
|
||||||
|
|
||||||
|
await startStream()
|
||||||
|
await until(stream).toBeTruthy()
|
||||||
|
|
||||||
|
// Create audio context
|
||||||
|
audioContext.value = new AudioContext()
|
||||||
|
const source = audioContext.value.createMediaStreamSource(stream.value!)
|
||||||
|
const analyzer = startAnalyzer(audioContext.value)
|
||||||
|
source.connect(analyzer!)
|
||||||
|
|
||||||
|
// Set up data array for analysis
|
||||||
|
const bufferLength = analyzer!.frequencyBinCount
|
||||||
|
dataArray.value = new Uint8Array(bufferLength)
|
||||||
|
}
|
||||||
|
catch (error) {
|
||||||
|
console.error('Error setting up audio monitoring:', error)
|
||||||
|
errorMessage.value = error instanceof Error ? error.message : String(error)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async function stopAudioMonitoring() {
|
||||||
|
// Stop animation frame
|
||||||
|
if (animationFrame.value) {
|
||||||
|
cancelAnimationFrame(animationFrame.value)
|
||||||
|
animationFrame.value = undefined
|
||||||
|
}
|
||||||
|
if (stream.value) {
|
||||||
|
stream.value.getTracks().forEach(track => track.stop())
|
||||||
|
stream.value = undefined
|
||||||
|
}
|
||||||
|
if (audioContext.value) {
|
||||||
|
await audioContext.value.close()
|
||||||
|
audioContext.value = undefined
|
||||||
|
}
|
||||||
|
|
||||||
|
await stopRecord()
|
||||||
|
await stopStream()
|
||||||
|
await stopAnalyzer()
|
||||||
|
|
||||||
|
dataArray.value = undefined
|
||||||
|
isSpeaking.value = false
|
||||||
|
}
|
||||||
|
|
||||||
|
onStopRecord(async (recording) => {
|
||||||
|
try {
|
||||||
|
if (recording && recording.size > 0) {
|
||||||
|
audios.value.push(recording)
|
||||||
|
const res = await props.generateTranscription(new File([recording], 'recording.wav'))
|
||||||
|
transcriptions.value.push(res.text)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (err) {
|
||||||
|
errorMessage.value = err instanceof Error ? err.message : String(err)
|
||||||
|
console.error('Error generating transcription:', errorMessage.value)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
// Monitoring toggle
|
// Monitoring toggle
|
||||||
async function toggleMonitoring() {
|
async function toggleMonitoring() {
|
||||||
if (!isMonitoring.value) {
|
if (!isMonitoring.value) {
|
||||||
onStopRecord(async (recording) => {
|
|
||||||
try {
|
|
||||||
if (recording && recording.size > 0) {
|
|
||||||
audios.value.push(recording)
|
|
||||||
const res = await props.generateTranscription(new File([recording], 'recording.wav'))
|
|
||||||
transcriptions.value.push(res.text)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (err) {
|
|
||||||
errorMessage.value = err instanceof Error ? err.message : String(err)
|
|
||||||
console.error('Error generating transcription:', errorMessage.value)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
await setupAudioMonitoring()
|
await setupAudioMonitoring()
|
||||||
await startRecord()
|
await startRecord()
|
||||||
isMonitoring.value = true
|
isMonitoring.value = true
|
||||||
|
|||||||
@@ -1,21 +1,21 @@
|
|||||||
import type { MaybeRefOrGetter } from 'vue'
|
import type { MaybeRefOrGetter } from 'vue'
|
||||||
|
|
||||||
import { toWav } from '@proj-airi/audio/encoding'
|
|
||||||
import { until } from '@vueuse/core'
|
import { until } from '@vueuse/core'
|
||||||
import { ref, shallowRef, toRef, watch } from 'vue'
|
import { BufferTarget, MediaStreamAudioTrackSource, Output, QUALITY_MEDIUM, WavOutputFormat } from 'mediabunny'
|
||||||
|
import { ref, shallowRef, toRef } from 'vue'
|
||||||
|
|
||||||
|
async function getMediaStreamTrack(stream: MediaStream) {
|
||||||
|
return stream.getAudioTracks()[0]
|
||||||
|
}
|
||||||
|
|
||||||
export function useAudioRecorder(
|
export function useAudioRecorder(
|
||||||
media: MaybeRefOrGetter<MediaStream | undefined>,
|
media: MaybeRefOrGetter<MediaStream | undefined>,
|
||||||
) {
|
) {
|
||||||
const mediaRef = toRef(media)
|
const mediaRef = toRef(media)
|
||||||
const recording = shallowRef<Blob>()
|
const recording = shallowRef<Blob>()
|
||||||
const isRecording = ref(false)
|
|
||||||
|
|
||||||
// Audio processing variables
|
const mediaOutput = ref<Output>()
|
||||||
const audioContext = ref<AudioContext>()
|
const mediaFormat = ref<string>()
|
||||||
const sourceNode = ref<MediaStreamAudioSourceNode>()
|
|
||||||
const processorNode = ref<ScriptProcessorNode>() // Using ScriptProcessorNode for wider compatibility
|
|
||||||
const audioData = ref<Float32Array<ArrayBufferLike>[]>([])
|
|
||||||
|
|
||||||
const onStopRecordHooks = ref<Array<(recording: Blob | undefined) => Promise<void>>>([])
|
const onStopRecordHooks = ref<Array<(recording: Blob | undefined) => Promise<void>>>([])
|
||||||
|
|
||||||
@@ -23,107 +23,42 @@ export function useAudioRecorder(
|
|||||||
onStopRecordHooks.value.push(callback)
|
onStopRecordHooks.value.push(callback)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Convert audio buffer to WAV format
|
|
||||||
function encodeWAV(samples: Float32Array[], sampleRate: number): Blob {
|
|
||||||
const view = toWav(samples[0].buffer, sampleRate)
|
|
||||||
return new Blob([view], { type: 'audio/wav' })
|
|
||||||
}
|
|
||||||
|
|
||||||
async function startRecord() {
|
async function startRecord() {
|
||||||
await until(mediaRef).toBeTruthy()
|
await until(mediaRef).toBeTruthy()
|
||||||
if (!mediaRef.value) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// Reset recording state
|
const track = await getMediaStreamTrack(mediaRef.value!)
|
||||||
recording.value = undefined
|
mediaOutput.value = new Output({ format: new WavOutputFormat(), target: new BufferTarget() })
|
||||||
audioData.value = []
|
|
||||||
isRecording.value = true
|
|
||||||
|
|
||||||
try {
|
const audioSource = new MediaStreamAudioTrackSource(track, { codec: 'pcm-f32', bitrate: QUALITY_MEDIUM })
|
||||||
// Create audio context and nodes
|
audioSource.errorPromise.catch(console.error)
|
||||||
audioContext.value = new AudioContext()
|
mediaOutput.value.addAudioTrack(audioSource)
|
||||||
sourceNode.value = audioContext.value.createMediaStreamSource(mediaRef.value)
|
|
||||||
|
|
||||||
// Create script processor for audio processing
|
mediaFormat.value = await mediaOutput.value.getMimeType()
|
||||||
processorNode.value = audioContext.value.createScriptProcessor(4096, 1, 1)
|
await mediaOutput.value.start()
|
||||||
|
|
||||||
// Process audio data
|
|
||||||
processorNode.value.onaudioprocess = (e) => {
|
|
||||||
if (isRecording.value) {
|
|
||||||
const channelData = new Float32Array(e.inputBuffer.getChannelData(0))
|
|
||||||
audioData.value.push(channelData)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Connect nodes
|
|
||||||
sourceNode.value.connect(processorNode.value)
|
|
||||||
processorNode.value.connect(audioContext.value.destination)
|
|
||||||
}
|
|
||||||
catch (error) {
|
|
||||||
console.error('Error starting audio recording:', error)
|
|
||||||
isRecording.value = false
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async function stopRecord() {
|
async function stopRecord() {
|
||||||
if (!isRecording.value || !audioContext.value) {
|
if (!mediaOutput.value) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
isRecording.value = false
|
await mediaOutput.value?.finalize()
|
||||||
|
const bufferTarget = mediaOutput.value?.target as BufferTarget | undefined
|
||||||
|
const buffer = bufferTarget!.buffer
|
||||||
|
const audioBlob = new Blob([buffer!], { type: mediaFormat.value })
|
||||||
|
|
||||||
try {
|
for (const hook of onStopRecordHooks.value) {
|
||||||
// Disconnect and clean up audio nodes
|
hook(audioBlob)
|
||||||
if (processorNode.value) {
|
|
||||||
processorNode.value.disconnect()
|
|
||||||
processorNode.value = undefined
|
|
||||||
}
|
|
||||||
|
|
||||||
if (sourceNode.value) {
|
|
||||||
sourceNode.value.disconnect()
|
|
||||||
sourceNode.value = undefined
|
|
||||||
}
|
|
||||||
|
|
||||||
// Create WAV from recorded data
|
|
||||||
if (audioData.value.length > 0) {
|
|
||||||
recording.value = encodeWAV(audioData.value, audioContext.value.sampleRate)
|
|
||||||
|
|
||||||
// Call hooks with the recording
|
|
||||||
for (const hook of onStopRecordHooks.value) {
|
|
||||||
await hook(recording.value)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
recording.value = undefined
|
|
||||||
}
|
|
||||||
|
|
||||||
// Close audio context
|
|
||||||
await audioContext.value.close()
|
|
||||||
audioContext.value = undefined
|
|
||||||
}
|
|
||||||
catch (error) {
|
|
||||||
console.error('Error stopping audio recording:', error)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return audioData.value
|
return audioBlob
|
||||||
}
|
}
|
||||||
|
|
||||||
watch(mediaRef, () => {
|
|
||||||
if (isRecording.value) {
|
|
||||||
stopRecord().then(() => {
|
|
||||||
if (mediaRef.value && mediaRef.value.active) {
|
|
||||||
startRecord()
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
startRecord,
|
startRecord,
|
||||||
stopRecord,
|
stopRecord,
|
||||||
onStopRecord,
|
onStopRecord,
|
||||||
|
|
||||||
recording,
|
recording,
|
||||||
isRecording,
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -127,6 +127,12 @@ export function createVADStates(vad: BaseVAD, vadAudioWorkletUrl: string, option
|
|||||||
}
|
}
|
||||||
|
|
||||||
function stop() {
|
function stop() {
|
||||||
|
if (audioContext) {
|
||||||
|
audioContext.suspend()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function dispose() {
|
||||||
if (sourceNode) {
|
if (sourceNode) {
|
||||||
sourceNode.disconnect()
|
sourceNode.disconnect()
|
||||||
sourceNode = null
|
sourceNode = null
|
||||||
@@ -139,14 +145,6 @@ export function createVADStates(vad: BaseVAD, vadAudioWorkletUrl: string, option
|
|||||||
mediaStream.getTracks().forEach(track => track.stop())
|
mediaStream.getTracks().forEach(track => track.stop())
|
||||||
mediaStream = null
|
mediaStream = null
|
||||||
}
|
}
|
||||||
if (audioContext) {
|
|
||||||
audioContext.suspend()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function dispose() {
|
|
||||||
stop()
|
|
||||||
|
|
||||||
if (audioContext && audioContext.state !== 'closed') {
|
if (audioContext && audioContext.state !== 'closed') {
|
||||||
audioContext.close()
|
audioContext.close()
|
||||||
}
|
}
|
||||||
|
|||||||
Generated
+36
-511
@@ -746,6 +746,9 @@ importers:
|
|||||||
'@tresjs/core':
|
'@tresjs/core':
|
||||||
specifier: ^4.3.6
|
specifier: ^4.3.6
|
||||||
version: 4.3.6(three@0.179.1)(typescript@5.9.2)(vue@3.5.20(typescript@5.9.2))
|
version: 4.3.6(three@0.179.1)(typescript@5.9.2)(vue@3.5.20(typescript@5.9.2))
|
||||||
|
'@unbird/eventa':
|
||||||
|
specifier: ^0.0.5
|
||||||
|
version: 0.0.5(web-worker@1.5.0)
|
||||||
'@valibot/to-json-schema':
|
'@valibot/to-json-schema':
|
||||||
specifier: 1.0.0-rc.0
|
specifier: 1.0.0-rc.0
|
||||||
version: 1.0.0-rc.0(valibot@1.0.0-beta.9(typescript@5.9.2))
|
version: 1.0.0-rc.0(valibot@1.0.0-beta.9(typescript@5.9.2))
|
||||||
@@ -883,7 +886,7 @@ importers:
|
|||||||
version: 4.5.1(vue@3.5.20(typescript@5.9.2))
|
version: 4.5.1(vue@3.5.20(typescript@5.9.2))
|
||||||
vue-sonner:
|
vue-sonner:
|
||||||
specifier: ^2.0.8
|
specifier: ^2.0.8
|
||||||
version: 2.0.8(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.0)(@types/node@24.3.0)(@vue/compiler-sfc@3.5.20)(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.34.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.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(rolldown@1.0.0-beta.34)(rollup@2.79.2)(terser@5.43.1)(tsx@4.20.5)(typescript@5.9.2)(utf-8-validate@5.0.10)(vue-tsc@3.0.6(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.3.0)(@vue/compiler-sfc@3.5.20)(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.34.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.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(rolldown@1.0.0-beta.34)(rollup@4.49.0)(terser@5.43.1)(tsx@4.20.5)(typescript@5.9.2)(utf-8-validate@5.0.10)(vue-tsc@3.0.6(typescript@5.9.2))(xml2js@0.6.2)(yaml@2.8.1)
|
||||||
workbox-window:
|
workbox-window:
|
||||||
specifier: ^7.3.0
|
specifier: ^7.3.0
|
||||||
version: 7.3.0
|
version: 7.3.0
|
||||||
@@ -923,7 +926,7 @@ importers:
|
|||||||
version: 1.2.30
|
version: 1.2.30
|
||||||
'@intlify/unplugin-vue-i18n':
|
'@intlify/unplugin-vue-i18n':
|
||||||
specifier: ^6.0.8
|
specifier: ^6.0.8
|
||||||
version: 6.0.8(@vue/compiler-dom@3.5.20)(eslint@9.34.0(jiti@2.5.1))(rollup@2.79.2)(typescript@5.9.2)(vue-i18n@11.1.11(vue@3.5.20(typescript@5.9.2)))(vue@3.5.20(typescript@5.9.2))
|
version: 6.0.8(@vue/compiler-dom@3.5.20)(eslint@9.34.0(jiti@2.5.1))(rollup@4.49.0)(typescript@5.9.2)(vue-i18n@11.1.11(vue@3.5.20(typescript@5.9.2)))(vue@3.5.20(typescript@5.9.2))
|
||||||
'@proj-airi/lobe-icons':
|
'@proj-airi/lobe-icons':
|
||||||
specifier: ^1.0.10
|
specifier: ^1.0.10
|
||||||
version: 1.0.10
|
version: 1.0.10
|
||||||
@@ -977,22 +980,22 @@ importers:
|
|||||||
version: 4.4.1
|
version: 4.4.1
|
||||||
unplugin-info:
|
unplugin-info:
|
||||||
specifier: ^1.2.4
|
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.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(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.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(rollup@4.49.0)
|
||||||
unplugin-vue-macros:
|
unplugin-vue-macros:
|
||||||
specifier: ^2.14.5
|
specifier: ^2.14.5
|
||||||
version: 2.14.5(@vueuse/core@13.8.0(vue@3.5.20(typescript@5.9.2)))(esbuild@0.25.9)(rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(rolldown@1.0.0-beta.34)(rollup@2.79.2)(typescript@5.9.2)(vue-tsc@3.0.6(typescript@5.9.2))(vue@3.5.20(typescript@5.9.2))
|
version: 2.14.5(@vueuse/core@13.8.0(vue@3.5.20(typescript@5.9.2)))(esbuild@0.25.9)(rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(rolldown@1.0.0-beta.34)(rollup@4.49.0)(typescript@5.9.2)(vue-tsc@3.0.6(typescript@5.9.2))(vue@3.5.20(typescript@5.9.2))
|
||||||
unplugin-vue-router:
|
unplugin-vue-router:
|
||||||
specifier: ^0.15.0
|
specifier: ^0.15.0
|
||||||
version: 0.15.0(@vue/compiler-sfc@3.5.20)(typescript@5.9.2)(vue-router@4.5.1(vue@3.5.20(typescript@5.9.2)))(vue@3.5.20(typescript@5.9.2))
|
version: 0.15.0(@vue/compiler-sfc@3.5.20)(typescript@5.9.2)(vue-router@4.5.1(vue@3.5.20(typescript@5.9.2)))(vue@3.5.20(typescript@5.9.2))
|
||||||
unplugin-yaml:
|
unplugin-yaml:
|
||||||
specifier: ^3.0.4
|
specifier: ^3.0.4
|
||||||
version: 3.0.4(@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.3.0)(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.5)(typescript@5.9.2)(yaml@2.8.1))(esbuild@0.25.9)(rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(rolldown@1.0.0-beta.34)(rollup@2.79.2)
|
version: 3.0.4(@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.3.0)(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.49.0)(terser@5.43.1)(tsx@4.20.5)(typescript@5.9.2)(yaml@2.8.1))(esbuild@0.25.9)(rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(rolldown@1.0.0-beta.34)(rollup@4.49.0)
|
||||||
vite:
|
vite:
|
||||||
specifier: catalog:rolldown-vite
|
specifier: catalog:rolldown-vite
|
||||||
version: rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)
|
version: rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)
|
||||||
vite-bundle-visualizer:
|
vite-bundle-visualizer:
|
||||||
specifier: ^1.2.1
|
specifier: ^1.2.1
|
||||||
version: 1.2.1(rollup@2.79.2)
|
version: 1.2.1(rollup@4.49.0)
|
||||||
vite-plugin-pwa:
|
vite-plugin-pwa:
|
||||||
specifier: ^1.0.3
|
specifier: ^1.0.3
|
||||||
version: 1.0.3(rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(workbox-build@7.3.0(@types/babel__core@7.20.5))(workbox-window@7.3.0)
|
version: 1.0.3(rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(workbox-build@7.3.0(@types/babel__core@7.20.5))(workbox-window@7.3.0)
|
||||||
@@ -1137,7 +1140,7 @@ importers:
|
|||||||
version: 0.1.3
|
version: 0.1.3
|
||||||
unplugin-yaml:
|
unplugin-yaml:
|
||||||
specifier: ^3.0.4
|
specifier: ^3.0.4
|
||||||
version: 3.0.4(@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.3.0)(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.49.0)(terser@5.43.1)(tsx@4.20.5)(typescript@5.9.2)(yaml@2.8.1))(esbuild@0.25.9)(rolldown@1.0.0-beta.34)(rollup@4.49.0)(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))
|
version: 3.0.4(@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.3.0)(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.49.0)(terser@5.43.1)(tsx@4.20.5)(typescript@5.9.2)(yaml@2.8.1))(esbuild@0.25.9)(rolldown@1.0.0-beta.34)(rollup@4.49.0)(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))
|
||||||
vitepress:
|
vitepress:
|
||||||
specifier: ^2.0.0-alpha.12
|
specifier: ^2.0.0-alpha.12
|
||||||
version: 2.0.0-alpha.12(@types/node@24.3.0)(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.5)(typescript@5.9.2)(yaml@2.8.1)
|
version: 2.0.0-alpha.12(@types/node@24.3.0)(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.5)(typescript@5.9.2)(yaml@2.8.1)
|
||||||
@@ -1145,49 +1148,6 @@ importers:
|
|||||||
specifier: ^3.0.6
|
specifier: ^3.0.6
|
||||||
version: 3.0.6(typescript@5.9.2)
|
version: 3.0.6(typescript@5.9.2)
|
||||||
|
|
||||||
packages/audia:
|
|
||||||
dependencies:
|
|
||||||
'@vueuse/core':
|
|
||||||
specifier: ^13.8.0
|
|
||||||
version: 13.8.0(vue@3.5.20(typescript@5.9.2))
|
|
||||||
mediabunny:
|
|
||||||
specifier: ^1.11.2
|
|
||||||
version: 1.11.2
|
|
||||||
vue:
|
|
||||||
specifier: ^3.5.20
|
|
||||||
version: 3.5.20(typescript@5.9.2)
|
|
||||||
devDependencies:
|
|
||||||
'@ffmpeg/ffmpeg':
|
|
||||||
specifier: ^0.12.15
|
|
||||||
version: 0.12.15
|
|
||||||
'@ffmpeg/util':
|
|
||||||
specifier: ^0.12.2
|
|
||||||
version: 0.12.2
|
|
||||||
'@proj-airi/ui':
|
|
||||||
specifier: workspace:^
|
|
||||||
version: link:../ui
|
|
||||||
'@unocss/reset':
|
|
||||||
specifier: ^66.4.2
|
|
||||||
version: 66.4.2
|
|
||||||
'@vitejs/plugin-vue':
|
|
||||||
specifier: ^6.0.1
|
|
||||||
version: 6.0.1(rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(vue@3.5.20(typescript@5.9.2))
|
|
||||||
unplugin-vue-router:
|
|
||||||
specifier: ^0.15.0
|
|
||||||
version: 0.15.0(@vue/compiler-sfc@3.5.20)(typescript@5.9.2)(vue-router@4.5.1(vue@3.5.20(typescript@5.9.2)))(vue@3.5.20(typescript@5.9.2))
|
|
||||||
vite:
|
|
||||||
specifier: catalog:rolldown-vite
|
|
||||||
version: rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)
|
|
||||||
vite-plugin-vue-devtools:
|
|
||||||
specifier: ^8.0.1
|
|
||||||
version: 8.0.1(rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(vue@3.5.20(typescript@5.9.2))
|
|
||||||
vue-router:
|
|
||||||
specifier: ^4.5.1
|
|
||||||
version: 4.5.1(vue@3.5.20(typescript@5.9.2))
|
|
||||||
vue-tsc:
|
|
||||||
specifier: ^3.0.6
|
|
||||||
version: 3.0.6(typescript@5.9.2)
|
|
||||||
|
|
||||||
packages/audio:
|
packages/audio:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@alexanderolsen/libsamplerate-js':
|
'@alexanderolsen/libsamplerate-js':
|
||||||
@@ -3728,18 +3688,6 @@ packages:
|
|||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
|
|
||||||
'@ffmpeg/ffmpeg@0.12.15':
|
|
||||||
resolution: {integrity: sha512-1C8Obr4GsN3xw+/1Ww6PFM84wSQAGsdoTuTWPOj2OizsRDLT4CXTaVjPhkw6ARyDus1B9X/L2LiXHqYYsGnRFw==}
|
|
||||||
engines: {node: '>=18.x'}
|
|
||||||
|
|
||||||
'@ffmpeg/types@0.12.4':
|
|
||||||
resolution: {integrity: sha512-k9vJQNBGTxE5AhYDtOYR5rO5fKsspbg51gbcwtbkw2lCdoIILzklulcjJfIDwrtn7XhDeF2M+THwJ2FGrLeV6A==}
|
|
||||||
engines: {node: '>=16.x'}
|
|
||||||
|
|
||||||
'@ffmpeg/util@0.12.2':
|
|
||||||
resolution: {integrity: sha512-ouyoW+4JB7WxjeZ2y6KpRvB+dLp7Cp4ro8z0HIVpZVCM7AwFlHa0c4R8Y/a4M3wMqATpYKhC7lSFHQ0T11MEDw==}
|
|
||||||
engines: {node: '>=18.x'}
|
|
||||||
|
|
||||||
'@floating-ui/core@1.6.8':
|
'@floating-ui/core@1.6.8':
|
||||||
resolution: {integrity: sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==}
|
resolution: {integrity: sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==}
|
||||||
|
|
||||||
@@ -6713,6 +6661,20 @@ packages:
|
|||||||
resolution: {integrity: sha512-+GeGMebMCy0elMNg67LRNoVnUFPIm37iu5CmHESVx56/9Jsfdpsvbv605DQ81Pi/x11IdKUsS5nzgTYbCQU9fg==}
|
resolution: {integrity: sha512-+GeGMebMCy0elMNg67LRNoVnUFPIm37iu5CmHESVx56/9Jsfdpsvbv605DQ81Pi/x11IdKUsS5nzgTYbCQU9fg==}
|
||||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||||
|
|
||||||
|
'@unbird/eventa@0.0.5':
|
||||||
|
resolution: {integrity: sha512-2v9agB95DRBcvS2Wsa6E3PVvnvDMYYN9lawrEBJlcFUmybjVpAQW3l8qusPMGVLMPxuvYopxGUHg5N0QK/9Whg==}
|
||||||
|
peerDependencies:
|
||||||
|
electron: '>=30'
|
||||||
|
h3: 2.0.0-beta.1
|
||||||
|
web-worker: ^1.5.0
|
||||||
|
peerDependenciesMeta:
|
||||||
|
electron:
|
||||||
|
optional: true
|
||||||
|
h3:
|
||||||
|
optional: true
|
||||||
|
web-worker:
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@ungap/structured-clone@1.3.0':
|
'@ungap/structured-clone@1.3.0':
|
||||||
resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==}
|
resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==}
|
||||||
|
|
||||||
@@ -16839,14 +16801,6 @@ snapshots:
|
|||||||
'@ffmpeg-installer/win32-x64@4.1.0':
|
'@ffmpeg-installer/win32-x64@4.1.0':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@ffmpeg/ffmpeg@0.12.15':
|
|
||||||
dependencies:
|
|
||||||
'@ffmpeg/types': 0.12.4
|
|
||||||
|
|
||||||
'@ffmpeg/types@0.12.4': {}
|
|
||||||
|
|
||||||
'@ffmpeg/util@0.12.2': {}
|
|
||||||
|
|
||||||
'@floating-ui/core@1.6.8':
|
'@floating-ui/core@1.6.8':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@floating-ui/utils': 0.2.9
|
'@floating-ui/utils': 0.2.9
|
||||||
@@ -17280,33 +17234,6 @@ snapshots:
|
|||||||
|
|
||||||
'@intlify/shared@11.1.11': {}
|
'@intlify/shared@11.1.11': {}
|
||||||
|
|
||||||
'@intlify/unplugin-vue-i18n@6.0.8(@vue/compiler-dom@3.5.20)(eslint@9.34.0(jiti@2.5.1))(rollup@2.79.2)(typescript@5.9.2)(vue-i18n@11.1.11(vue@3.5.20(typescript@5.9.2)))(vue@3.5.20(typescript@5.9.2))':
|
|
||||||
dependencies:
|
|
||||||
'@eslint-community/eslint-utils': 4.7.0(eslint@9.34.0(jiti@2.5.1))
|
|
||||||
'@intlify/bundle-utils': 10.0.1(vue-i18n@11.1.11(vue@3.5.20(typescript@5.9.2)))
|
|
||||||
'@intlify/shared': 11.1.11
|
|
||||||
'@intlify/vue-i18n-extensions': 8.0.0(@intlify/shared@11.1.11)(@vue/compiler-dom@3.5.20)(vue-i18n@11.1.11(vue@3.5.20(typescript@5.9.2)))(vue@3.5.20(typescript@5.9.2))
|
|
||||||
'@rollup/pluginutils': 5.2.0(rollup@2.79.2)
|
|
||||||
'@typescript-eslint/scope-manager': 8.41.0
|
|
||||||
'@typescript-eslint/typescript-estree': 8.41.0(typescript@5.9.2)
|
|
||||||
debug: 4.4.1
|
|
||||||
fast-glob: 3.3.3
|
|
||||||
js-yaml: 4.1.0
|
|
||||||
json5: 2.2.3
|
|
||||||
pathe: 1.1.2
|
|
||||||
picocolors: 1.1.1
|
|
||||||
source-map-js: 1.2.1
|
|
||||||
unplugin: 1.16.1
|
|
||||||
vue: 3.5.20(typescript@5.9.2)
|
|
||||||
optionalDependencies:
|
|
||||||
vue-i18n: 11.1.11(vue@3.5.20(typescript@5.9.2))
|
|
||||||
transitivePeerDependencies:
|
|
||||||
- '@vue/compiler-dom'
|
|
||||||
- eslint
|
|
||||||
- rollup
|
|
||||||
- supports-color
|
|
||||||
- typescript
|
|
||||||
|
|
||||||
'@intlify/unplugin-vue-i18n@6.0.8(@vue/compiler-dom@3.5.20)(eslint@9.34.0(jiti@2.5.1))(rollup@4.49.0)(typescript@5.9.2)(vue-i18n@11.1.11(vue@3.5.20(typescript@5.9.2)))(vue@3.5.20(typescript@5.9.2))':
|
'@intlify/unplugin-vue-i18n@6.0.8(@vue/compiler-dom@3.5.20)(eslint@9.34.0(jiti@2.5.1))(rollup@4.49.0)(typescript@5.9.2)(vue-i18n@11.1.11(vue@3.5.20(typescript@5.9.2)))(vue@3.5.20(typescript@5.9.2))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@eslint-community/eslint-utils': 4.7.0(eslint@9.34.0(jiti@2.5.1))
|
'@eslint-community/eslint-utils': 4.7.0(eslint@9.34.0(jiti@2.5.1))
|
||||||
@@ -17960,63 +17887,6 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- magicast
|
- magicast
|
||||||
|
|
||||||
'@nuxt/vite-builder@4.0.3(@types/node@24.3.0)(eslint@9.34.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.34)(rollup@2.79.2)(terser@5.43.1)(tsx@4.20.5)(typescript@5.9.2)(vue-tsc@3.0.6(typescript@5.9.2))(vue@3.5.20(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.3(@types/node@24.3.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(vue@3.5.20(typescript@5.9.2))
|
|
||||||
'@vitejs/plugin-vue-jsx': 5.1.1(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(vue@3.5.20(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.18
|
|
||||||
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.34)(rollup@2.79.2)
|
|
||||||
std-env: 3.9.0
|
|
||||||
ufo: 1.6.1
|
|
||||||
unenv: 2.0.0-rc.19
|
|
||||||
vite: 7.1.3(@types/node@24.3.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)
|
|
||||||
vite-node: 3.2.4(@types/node@24.3.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)
|
|
||||||
vite-plugin-checker: 0.10.3(eslint@9.34.0(jiti@2.5.1))(optionator@0.9.4)(typescript@5.9.2)(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(vue-tsc@3.0.6(typescript@5.9.2))
|
|
||||||
vue: 3.5.20(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.3.0)(eslint@9.34.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.34)(rollup@4.49.0)(terser@5.43.1)(tsx@4.20.5)(typescript@5.9.2)(vue-tsc@3.0.6(typescript@5.9.2))(vue@3.5.20(typescript@5.9.2))(yaml@2.8.1)':
|
'@nuxt/vite-builder@4.0.3(@types/node@24.3.0)(eslint@9.34.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.34)(rollup@4.49.0)(terser@5.43.1)(tsx@4.20.5)(typescript@5.9.2)(vue-tsc@3.0.6(typescript@5.9.2))(vue@3.5.20(typescript@5.9.2))(yaml@2.8.1)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@nuxt/kit': 4.0.3(magicast@0.3.5)
|
'@nuxt/kit': 4.0.3(magicast@0.3.5)
|
||||||
@@ -19626,13 +19496,6 @@ snapshots:
|
|||||||
magic-string: 0.25.9
|
magic-string: 0.25.9
|
||||||
rollup: 2.79.2
|
rollup: 2.79.2
|
||||||
|
|
||||||
'@rollup/plugin-replace@6.0.2(rollup@2.79.2)':
|
|
||||||
dependencies:
|
|
||||||
'@rollup/pluginutils': 5.2.0(rollup@2.79.2)
|
|
||||||
magic-string: 0.30.18
|
|
||||||
optionalDependencies:
|
|
||||||
rollup: 2.79.2
|
|
||||||
|
|
||||||
'@rollup/plugin-replace@6.0.2(rollup@4.49.0)':
|
'@rollup/plugin-replace@6.0.2(rollup@4.49.0)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@rollup/pluginutils': 5.2.0(rollup@4.49.0)
|
'@rollup/pluginutils': 5.2.0(rollup@4.49.0)
|
||||||
@@ -20316,6 +20179,13 @@ snapshots:
|
|||||||
'@typescript-eslint/types': 8.41.0
|
'@typescript-eslint/types': 8.41.0
|
||||||
eslint-visitor-keys: 4.2.1
|
eslint-visitor-keys: 4.2.1
|
||||||
|
|
||||||
|
'@unbird/eventa@0.0.5(web-worker@1.5.0)':
|
||||||
|
dependencies:
|
||||||
|
nanoid: 5.1.5
|
||||||
|
picomatch: 4.0.3
|
||||||
|
optionalDependencies:
|
||||||
|
web-worker: 1.5.0
|
||||||
|
|
||||||
'@ungap/structured-clone@1.3.0': {}
|
'@ungap/structured-clone@1.3.0': {}
|
||||||
|
|
||||||
'@unhead/vue@2.0.14(vue@3.5.20(typescript@5.9.2))':
|
'@unhead/vue@2.0.14(vue@3.5.20(typescript@5.9.2))':
|
||||||
@@ -21882,108 +21752,6 @@ snapshots:
|
|||||||
|
|
||||||
astring@1.9.0: {}
|
astring@1.9.0: {}
|
||||||
|
|
||||||
astro@5.10.1(@netlify/blobs@9.1.2)(@types/node@24.3.0)(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.5)(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.2.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.1
|
|
||||||
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.1.0
|
|
||||||
js-yaml: 4.1.0
|
|
||||||
kleur: 4.1.5
|
|
||||||
magic-string: 0.30.18
|
|
||||||
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.12.0
|
|
||||||
tinyexec: 0.3.2
|
|
||||||
tinyglobby: 0.2.14
|
|
||||||
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.5(@types/node@24.3.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)
|
|
||||||
vitefu: 1.1.1(vite@6.3.5(@types/node@24.3.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.5)(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.3.0)(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.49.0)(terser@5.43.1)(tsx@4.20.5)(typescript@5.9.2)(yaml@2.8.1):
|
astro@5.10.1(@netlify/blobs@9.1.2)(@types/node@24.3.0)(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.49.0)(terser@5.43.1)(tsx@4.20.5)(typescript@5.9.2)(yaml@2.8.1):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@astrojs/compiler': 2.12.2
|
'@astrojs/compiler': 2.12.2
|
||||||
@@ -22086,108 +21854,6 @@ snapshots:
|
|||||||
- yaml
|
- yaml
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
astro@5.10.1(@netlify/blobs@9.1.2)(@types/node@24.3.0)(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.49.0)(terser@5.43.1)(tsx@4.20.5)(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.2.0(rollup@4.49.0)
|
|
||||||
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.1
|
|
||||||
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.1.0
|
|
||||||
js-yaml: 4.1.0
|
|
||||||
kleur: 4.1.5
|
|
||||||
magic-string: 0.30.18
|
|
||||||
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.12.0
|
|
||||||
tinyexec: 0.3.2
|
|
||||||
tinyglobby: 0.2.14
|
|
||||||
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.5(@types/node@24.3.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)
|
|
||||||
vitefu: 1.1.1(vite@6.3.5(@types/node@24.3.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.5)(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
|
|
||||||
|
|
||||||
async-mutex@0.3.2:
|
async-mutex@0.3.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
tslib: 2.8.1
|
tslib: 2.8.1
|
||||||
@@ -26785,7 +26451,7 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
boolbase: 1.0.0
|
boolbase: 1.0.0
|
||||||
|
|
||||||
nuxt@4.0.3(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.0)(@types/node@24.3.0)(@vue/compiler-sfc@3.5.20)(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.34.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.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(rolldown@1.0.0-beta.34)(rollup@2.79.2)(terser@5.43.1)(tsx@4.20.5)(typescript@5.9.2)(utf-8-validate@5.0.10)(vue-tsc@3.0.6(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.3.0)(@vue/compiler-sfc@3.5.20)(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.34.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.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(rolldown@1.0.0-beta.34)(rollup@4.49.0)(terser@5.43.1)(tsx@4.20.5)(typescript@5.9.2)(utf-8-validate@5.0.10)(vue-tsc@3.0.6(typescript@5.9.2))(xml2js@0.6.2)(yaml@2.8.1):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@nuxt/cli': 3.28.0(magicast@0.3.5)
|
'@nuxt/cli': 3.28.0(magicast@0.3.5)
|
||||||
'@nuxt/devalue': 2.0.2
|
'@nuxt/devalue': 2.0.2
|
||||||
@@ -26793,7 +26459,7 @@ snapshots:
|
|||||||
'@nuxt/kit': 4.0.3(magicast@0.3.5)
|
'@nuxt/kit': 4.0.3(magicast@0.3.5)
|
||||||
'@nuxt/schema': 4.0.3
|
'@nuxt/schema': 4.0.3
|
||||||
'@nuxt/telemetry': 2.6.6(magicast@0.3.5)
|
'@nuxt/telemetry': 2.6.6(magicast@0.3.5)
|
||||||
'@nuxt/vite-builder': 4.0.3(@types/node@24.3.0)(eslint@9.34.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.34)(rollup@2.79.2)(terser@5.43.1)(tsx@4.20.5)(typescript@5.9.2)(vue-tsc@3.0.6(typescript@5.9.2))(vue@3.5.20(typescript@5.9.2))(yaml@2.8.1)
|
'@nuxt/vite-builder': 4.0.3(@types/node@24.3.0)(eslint@9.34.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.34)(rollup@4.49.0)(terser@5.43.1)(tsx@4.20.5)(typescript@5.9.2)(vue-tsc@3.0.6(typescript@5.9.2))(vue@3.5.20(typescript@5.9.2))(yaml@2.8.1)
|
||||||
'@unhead/vue': 2.0.14(vue@3.5.20(typescript@5.9.2))
|
'@unhead/vue': 2.0.14(vue@3.5.20(typescript@5.9.2))
|
||||||
'@vue/shared': 3.5.20
|
'@vue/shared': 3.5.20
|
||||||
c12: 3.2.0(magicast@0.3.5)
|
c12: 3.2.0(magicast@0.3.5)
|
||||||
@@ -28808,15 +28474,6 @@ snapshots:
|
|||||||
'@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.34
|
'@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.34
|
||||||
'@rolldown/binding-win32-x64-msvc': 1.0.0-beta.34
|
'@rolldown/binding-win32-x64-msvc': 1.0.0-beta.34
|
||||||
|
|
||||||
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.49.0):
|
rollup-plugin-visualizer@5.11.0(rollup@4.49.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
open: 8.4.2
|
open: 8.4.2
|
||||||
@@ -28826,16 +28483,6 @@ snapshots:
|
|||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
rollup: 4.49.0
|
rollup: 4.49.0
|
||||||
|
|
||||||
rollup-plugin-visualizer@6.0.3(rolldown@1.0.0-beta.34)(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.34
|
|
||||||
rollup: 2.79.2
|
|
||||||
|
|
||||||
rollup-plugin-visualizer@6.0.3(rolldown@1.0.0-beta.34)(rollup@4.49.0):
|
rollup-plugin-visualizer@6.0.3(rolldown@1.0.0-beta.34)(rollup@4.49.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
open: 8.4.2
|
open: 8.4.2
|
||||||
@@ -30102,14 +29749,6 @@ snapshots:
|
|||||||
|
|
||||||
unpipe@1.0.0: {}
|
unpipe@1.0.0: {}
|
||||||
|
|
||||||
unplugin-combine@1.2.1(esbuild@0.25.9)(rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(rolldown@1.0.0-beta.34)(rollup@2.79.2)(unplugin@1.16.1):
|
|
||||||
optionalDependencies:
|
|
||||||
esbuild: 0.25.9
|
|
||||||
rolldown: 1.0.0-beta.34
|
|
||||||
rollup: 2.79.2
|
|
||||||
unplugin: 1.16.1
|
|
||||||
vite: rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)
|
|
||||||
|
|
||||||
unplugin-combine@1.2.1(esbuild@0.25.9)(rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(rolldown@1.0.0-beta.34)(rollup@4.49.0)(unplugin@1.16.1):
|
unplugin-combine@1.2.1(esbuild@0.25.9)(rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(rolldown@1.0.0-beta.34)(rollup@4.49.0)(unplugin@1.16.1):
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
esbuild: 0.25.9
|
esbuild: 0.25.9
|
||||||
@@ -30118,21 +29757,6 @@ snapshots:
|
|||||||
unplugin: 1.16.1
|
unplugin: 1.16.1
|
||||||
vite: rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)
|
vite: rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(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.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(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.9
|
|
||||||
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.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(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.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(rollup@4.49.0):
|
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.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(rollup@4.49.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
ci-info: 4.3.0
|
ci-info: 4.3.0
|
||||||
@@ -30201,52 +29825,6 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- vue
|
- vue
|
||||||
|
|
||||||
unplugin-vue-macros@2.14.5(@vueuse/core@13.8.0(vue@3.5.20(typescript@5.9.2)))(esbuild@0.25.9)(rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(rolldown@1.0.0-beta.34)(rollup@2.79.2)(typescript@5.9.2)(vue-tsc@3.0.6(typescript@5.9.2))(vue@3.5.20(typescript@5.9.2)):
|
|
||||||
dependencies:
|
|
||||||
'@vue-macros/better-define': 1.11.4(vue@3.5.20(typescript@5.9.2))
|
|
||||||
'@vue-macros/boolean-prop': 0.5.5(vue@3.5.20(typescript@5.9.2))
|
|
||||||
'@vue-macros/chain-call': 0.4.5(vue@3.5.20(typescript@5.9.2))
|
|
||||||
'@vue-macros/common': 1.16.1(vue@3.5.20(typescript@5.9.2))
|
|
||||||
'@vue-macros/config': 0.6.1(vue@3.5.20(typescript@5.9.2))
|
|
||||||
'@vue-macros/define-emit': 0.5.4(vue@3.5.20(typescript@5.9.2))
|
|
||||||
'@vue-macros/define-models': 1.3.5(@vueuse/core@13.8.0(vue@3.5.20(typescript@5.9.2)))(vue@3.5.20(typescript@5.9.2))
|
|
||||||
'@vue-macros/define-prop': 0.6.5(vue@3.5.20(typescript@5.9.2))
|
|
||||||
'@vue-macros/define-props': 4.0.6(@vue-macros/reactivity-transform@1.1.6(vue@3.5.20(typescript@5.9.2)))(vue@3.5.20(typescript@5.9.2))
|
|
||||||
'@vue-macros/define-props-refs': 1.3.5(vue@3.5.20(typescript@5.9.2))
|
|
||||||
'@vue-macros/define-render': 1.6.6(vue@3.5.20(typescript@5.9.2))
|
|
||||||
'@vue-macros/define-slots': 1.2.6(vue@3.5.20(typescript@5.9.2))
|
|
||||||
'@vue-macros/define-stylex': 0.2.3(vue@3.5.20(typescript@5.9.2))
|
|
||||||
'@vue-macros/devtools': 0.4.1(rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(typescript@5.9.2)
|
|
||||||
'@vue-macros/export-expose': 0.3.5(vue@3.5.20(typescript@5.9.2))
|
|
||||||
'@vue-macros/export-props': 0.6.5(vue@3.5.20(typescript@5.9.2))
|
|
||||||
'@vue-macros/export-render': 0.3.5(vue@3.5.20(typescript@5.9.2))
|
|
||||||
'@vue-macros/hoist-static': 1.7.0(vue@3.5.20(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.20(typescript@5.9.2))
|
|
||||||
'@vue-macros/reactivity-transform': 1.1.6(vue@3.5.20(typescript@5.9.2))
|
|
||||||
'@vue-macros/script-lang': 0.2.5(vue@3.5.20(typescript@5.9.2))
|
|
||||||
'@vue-macros/setup-block': 0.4.5(vue@3.5.20(typescript@5.9.2))
|
|
||||||
'@vue-macros/setup-component': 0.18.5(vue@3.5.20(typescript@5.9.2))
|
|
||||||
'@vue-macros/setup-sfc': 0.18.5(vue@3.5.20(typescript@5.9.2))
|
|
||||||
'@vue-macros/short-bind': 1.1.5(vue@3.5.20(typescript@5.9.2))
|
|
||||||
'@vue-macros/short-emits': 1.6.5(vue@3.5.20(typescript@5.9.2))
|
|
||||||
'@vue-macros/short-vmodel': 1.5.5(vue@3.5.20(typescript@5.9.2))
|
|
||||||
'@vue-macros/volar': 0.30.15(typescript@5.9.2)(vue-tsc@3.0.6(typescript@5.9.2))(vue@3.5.20(typescript@5.9.2))
|
|
||||||
unplugin: 1.16.1
|
|
||||||
unplugin-combine: 1.2.1(esbuild@0.25.9)(rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(rolldown@1.0.0-beta.34)(rollup@2.79.2)(unplugin@1.16.1)
|
|
||||||
unplugin-vue-define-options: 1.5.5(vue@3.5.20(typescript@5.9.2))
|
|
||||||
vue: 3.5.20(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.8.0(vue@3.5.20(typescript@5.9.2)))(esbuild@0.25.9)(rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(rolldown@1.0.0-beta.34)(rollup@4.49.0)(typescript@5.9.2)(vue-tsc@3.0.6(typescript@5.9.2))(vue@3.5.20(typescript@5.9.2)):
|
unplugin-vue-macros@2.14.5(@vueuse/core@13.8.0(vue@3.5.20(typescript@5.9.2)))(esbuild@0.25.9)(rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(rolldown@1.0.0-beta.34)(rollup@4.49.0)(typescript@5.9.2)(vue-tsc@3.0.6(typescript@5.9.2))(vue@3.5.20(typescript@5.9.2)):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@vue-macros/better-define': 1.11.4(vue@3.5.20(typescript@5.9.2))
|
'@vue-macros/better-define': 1.11.4(vue@3.5.20(typescript@5.9.2))
|
||||||
@@ -30339,20 +29917,6 @@ snapshots:
|
|||||||
- tsx
|
- tsx
|
||||||
- yaml
|
- yaml
|
||||||
|
|
||||||
unplugin-yaml@3.0.4(@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.3.0)(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.5)(typescript@5.9.2)(yaml@2.8.1))(esbuild@0.25.9)(rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(rolldown@1.0.0-beta.34)(rollup@2.79.2):
|
|
||||||
dependencies:
|
|
||||||
'@rollup/pluginutils': 5.2.0(rollup@2.79.2)
|
|
||||||
unplugin: 2.3.9
|
|
||||||
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.3.0)(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.5)(typescript@5.9.2)(yaml@2.8.1)
|
|
||||||
esbuild: 0.25.9
|
|
||||||
rolldown: 1.0.0-beta.34
|
|
||||||
rollup: 2.79.2
|
|
||||||
vite: rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)
|
|
||||||
|
|
||||||
unplugin-yaml@3.0.4(@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.3.0)(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.49.0)(terser@5.43.1)(tsx@4.20.5)(typescript@5.9.2)(yaml@2.8.1))(esbuild@0.25.9)(rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(rolldown@1.0.0-beta.34)(rollup@4.49.0):
|
unplugin-yaml@3.0.4(@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.3.0)(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.49.0)(terser@5.43.1)(tsx@4.20.5)(typescript@5.9.2)(yaml@2.8.1))(esbuild@0.25.9)(rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(rolldown@1.0.0-beta.34)(rollup@4.49.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@rollup/pluginutils': 5.2.0(rollup@4.49.0)
|
'@rollup/pluginutils': 5.2.0(rollup@4.49.0)
|
||||||
@@ -30381,20 +29945,6 @@ snapshots:
|
|||||||
rollup: 4.49.0
|
rollup: 4.49.0
|
||||||
vite: 6.3.5(@types/node@24.3.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)
|
vite: 6.3.5(@types/node@24.3.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)
|
||||||
|
|
||||||
unplugin-yaml@3.0.4(@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.3.0)(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.49.0)(terser@5.43.1)(tsx@4.20.5)(typescript@5.9.2)(yaml@2.8.1))(esbuild@0.25.9)(rolldown@1.0.0-beta.34)(rollup@4.49.0)(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)):
|
|
||||||
dependencies:
|
|
||||||
'@rollup/pluginutils': 5.2.0(rollup@4.49.0)
|
|
||||||
unplugin: 2.3.9
|
|
||||||
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.3.0)(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.49.0)(terser@5.43.1)(tsx@4.20.5)(typescript@5.9.2)(yaml@2.8.1)
|
|
||||||
esbuild: 0.25.9
|
|
||||||
rolldown: 1.0.0-beta.34
|
|
||||||
rollup: 4.49.0
|
|
||||||
vite: 7.1.3(@types/node@24.3.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)
|
|
||||||
|
|
||||||
unplugin-yaml@3.0.4(@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.3.0)(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.49.0)(terser@5.43.1)(tsx@4.20.5)(typescript@5.9.2)(yaml@2.8.1))(esbuild@0.25.9)(rolldown@1.0.0-beta.34)(rollup@4.49.0)(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)):
|
unplugin-yaml@3.0.4(@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.3.0)(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.49.0)(terser@5.43.1)(tsx@4.20.5)(typescript@5.9.2)(yaml@2.8.1))(esbuild@0.25.9)(rolldown@1.0.0-beta.34)(rollup@4.49.0)(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@rollup/pluginutils': 5.2.0(rollup@4.49.0)
|
'@rollup/pluginutils': 5.2.0(rollup@4.49.0)
|
||||||
@@ -30403,7 +29953,7 @@ snapshots:
|
|||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@nuxt/kit': 4.0.3(magicast@0.3.5)
|
'@nuxt/kit': 4.0.3(magicast@0.3.5)
|
||||||
'@nuxt/schema': 4.0.3
|
'@nuxt/schema': 4.0.3
|
||||||
astro: 5.10.1(@netlify/blobs@9.1.2)(@types/node@24.3.0)(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.49.0)(terser@5.43.1)(tsx@4.20.5)(typescript@5.9.2)(yaml@2.8.1)
|
astro: 5.10.1(@netlify/blobs@9.1.2)(@types/node@24.3.0)(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.49.0)(terser@5.43.1)(tsx@4.20.5)(typescript@5.9.2)(yaml@2.8.1)
|
||||||
esbuild: 0.25.9
|
esbuild: 0.25.9
|
||||||
rolldown: 1.0.0-beta.34
|
rolldown: 1.0.0-beta.34
|
||||||
rollup: 4.49.0
|
rollup: 4.49.0
|
||||||
@@ -30576,16 +30126,6 @@ snapshots:
|
|||||||
'@types/unist': 3.0.3
|
'@types/unist': 3.0.3
|
||||||
vfile-message: 4.0.2
|
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.3
|
|
||||||
transitivePeerDependencies:
|
|
||||||
- rollup
|
|
||||||
- supports-color
|
|
||||||
|
|
||||||
vite-bundle-visualizer@1.2.1(rollup@4.49.0):
|
vite-bundle-visualizer@1.2.1(rollup@4.49.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
cac: 6.7.14
|
cac: 6.7.14
|
||||||
@@ -30778,21 +30318,6 @@ snapshots:
|
|||||||
- supports-color
|
- supports-color
|
||||||
- vue
|
- vue
|
||||||
|
|
||||||
vite-plugin-vue-devtools@8.0.1(rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(vue@3.5.20(typescript@5.9.2)):
|
|
||||||
dependencies:
|
|
||||||
'@vue/devtools-core': 8.0.1(rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(vue@3.5.20(typescript@5.9.2))
|
|
||||||
'@vue/devtools-kit': 8.0.1
|
|
||||||
'@vue/devtools-shared': 8.0.1
|
|
||||||
execa: 9.6.0
|
|
||||||
sirv: 3.0.1
|
|
||||||
vite: rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)
|
|
||||||
vite-plugin-inspect: 11.3.3(@nuxt/kit@4.0.3(magicast@0.3.5))(rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))
|
|
||||||
vite-plugin-vue-inspector: 5.3.2(rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))
|
|
||||||
transitivePeerDependencies:
|
|
||||||
- '@nuxt/kit'
|
|
||||||
- supports-color
|
|
||||||
- vue
|
|
||||||
|
|
||||||
vite-plugin-vue-inspector@5.3.2(rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)):
|
vite-plugin-vue-inspector@5.3.2(rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/core': 7.28.3
|
'@babel/core': 7.28.3
|
||||||
@@ -31033,11 +30558,11 @@ snapshots:
|
|||||||
'@vue/devtools-api': 6.6.4
|
'@vue/devtools-api': 6.6.4
|
||||||
vue: 3.5.20(typescript@5.9.2)
|
vue: 3.5.20(typescript@5.9.2)
|
||||||
|
|
||||||
vue-sonner@2.0.8(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.0)(@types/node@24.3.0)(@vue/compiler-sfc@3.5.20)(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.34.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.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(rolldown@1.0.0-beta.34)(rollup@2.79.2)(terser@5.43.1)(tsx@4.20.5)(typescript@5.9.2)(utf-8-validate@5.0.10)(vue-tsc@3.0.6(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.3.0)(@vue/compiler-sfc@3.5.20)(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.34.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.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(rolldown@1.0.0-beta.34)(rollup@4.49.0)(terser@5.43.1)(tsx@4.20.5)(typescript@5.9.2)(utf-8-validate@5.0.10)(vue-tsc@3.0.6(typescript@5.9.2))(xml2js@0.6.2)(yaml@2.8.1):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@nuxt/kit': 4.0.3(magicast@0.3.5)
|
'@nuxt/kit': 4.0.3(magicast@0.3.5)
|
||||||
'@nuxt/schema': 4.0.3
|
'@nuxt/schema': 4.0.3
|
||||||
nuxt: 4.0.3(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.0)(@types/node@24.3.0)(@vue/compiler-sfc@3.5.20)(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.34.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.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(rolldown@1.0.0-beta.34)(rollup@2.79.2)(terser@5.43.1)(tsx@4.20.5)(typescript@5.9.2)(utf-8-validate@5.0.10)(vue-tsc@3.0.6(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.3.0)(@vue/compiler-sfc@3.5.20)(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.34.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.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(rolldown@1.0.0-beta.34)(rollup@4.49.0)(terser@5.43.1)(tsx@4.20.5)(typescript@5.9.2)(utf-8-validate@5.0.10)(vue-tsc@3.0.6(typescript@5.9.2))(xml2js@0.6.2)(yaml@2.8.1)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- '@azure/app-configuration'
|
- '@azure/app-configuration'
|
||||||
- '@azure/cosmos'
|
- '@azure/cosmos'
|
||||||
|
|||||||
Reference in New Issue
Block a user