From 856625f6380d2641842fa4864614989e9aaa07cb Mon Sep 17 00:00:00 2001 From: Neko Ayaka Date: Sat, 2 Aug 2025 01:26:57 +0800 Subject: [PATCH] fix: build & typecheck --- .../package.json | 1 - .../src/components/AudioWaveform.vue | 2 +- packages/audio/package.json | 4 - packages/audio/src/vue/audio-playback.ts | 94 -------- packages/audio/src/vue/audio-stream.ts | 203 ------------------ packages/audio/src/vue/index.ts | 2 - packages/audio/tsdown.config.ts | 1 - packages/stage-ui/package.json | 2 +- .../Providers/TranscriptionPlayground.vue | 2 +- .../src/composables/audio/audio-analyzer.ts | 2 +- packages/stage-ui/src/libs/audio/manager.ts | 2 +- pnpm-lock.yaml | 128 ++++++++--- 12 files changed, 104 insertions(+), 339 deletions(-) delete mode 100644 packages/audio/src/vue/audio-playback.ts delete mode 100644 packages/audio/src/vue/audio-stream.ts delete mode 100644 packages/audio/src/vue/index.ts diff --git a/apps/playground-prompt-engineering/package.json b/apps/playground-prompt-engineering/package.json index 003ba90c5..e9ee85219 100644 --- a/apps/playground-prompt-engineering/package.json +++ b/apps/playground-prompt-engineering/package.json @@ -18,7 +18,6 @@ }, "devDependencies": { "@iconify/vue": "^5.0.0", - "@types/node": "^24.1.0", "@unocss/reset": "^66.3.3", "@vitejs/plugin-vue": "^6.0.1", "typescript": "~5.9.2", diff --git a/apps/stage-web/src/components/AudioWaveform.vue b/apps/stage-web/src/components/AudioWaveform.vue index 3528dda10..c885d46e3 100644 --- a/apps/stage-web/src/components/AudioWaveform.vue +++ b/apps/stage-web/src/components/AudioWaveform.vue @@ -6,7 +6,7 @@ import { onMounted, ref } from 'vue' const containerRef = ref() // https://developer.mozilla.org/en-US/docs/Web/API/AnalyserNode const analyser = ref() -const analyserDataBuffer = ref() +const analyserDataBuffer = ref>() const { audioContext } = useAudioContext() const canvasElemRef = ref() const isDark = useDark() diff --git a/packages/audio/package.json b/packages/audio/package.json index 294677fea..7f0c33962 100644 --- a/packages/audio/package.json +++ b/packages/audio/package.json @@ -27,10 +27,6 @@ "types": "./dist/audio-context/processor.worklet.d.mts", "default": "./dist/audio-context/processor.worklet.mjs" }, - "./vue": { - "types": "./dist/vue/index.d.mts", - "default": "./dist/vue/index.mjs" - }, "./encoding": { "types": "./dist/encoding/index.d.mts", "default": "./dist/encoding/index.mjs" diff --git a/packages/audio/src/vue/audio-playback.ts b/packages/audio/src/vue/audio-playback.ts deleted file mode 100644 index 2aa07d76c..000000000 --- a/packages/audio/src/vue/audio-playback.ts +++ /dev/null @@ -1,94 +0,0 @@ -import type { MaybeRefOrGetter } from 'vue' - -import { computed, onUnmounted, ref, toRef, watch } from 'vue' - -import { createAudioGainNode, createAudioSource, getAudioContext, getCurrentTime, initializeAudioContext, removeAudioGainNode, removeAudioSource } from '../audio-context' - -export function useAudioPlayback(src: MaybeRefOrGetter) { - const audioContext = getAudioContext() - const sourceStream = toRef(src) - - const isEnabled = ref(false) - const volume = ref(50) // 0-100 - const error = ref('') - - // Audio nodes for playback - const source = ref() - const gainNode = ref() - - const actualVolume = computed(() => volume.value / 100) - - async function setupPlayback() { - if (!sourceStream.value || !isEnabled.value) - return - - try { - error.value = '' - - // Ensure audio context is ready - await initializeAudioContext() - - // Clean up existing playback - cleanupPlayback() - - // Create new nodes - source.value = createAudioSource(sourceStream.value) - gainNode.value = createAudioGainNode(actualVolume.value) - - // Connect: source -> gain -> destination - source.value.connect(gainNode.value) - gainNode.value.connect(audioContext!.destination) - } - catch (err) { - error.value = err instanceof Error ? err.message : String(err) - console.error('Failed to setup audio playback:', err) - } - } - - function cleanupPlayback() { - if (source.value) { - removeAudioSource(source.value) - source.value = undefined - } - - if (gainNode.value) { - removeAudioGainNode(gainNode.value) - gainNode.value = undefined - } - } - - // Watch for changes - watch([sourceStream, isEnabled], async () => { - if (isEnabled.value && sourceStream.value) { - await setupPlayback() - } - else { - cleanupPlayback() - } - }) - - watch(actualVolume, (newVolume) => { - if (gainNode.value) { - // Smooth volume changes to prevent clicks - const currentTime = getCurrentTime() - gainNode.value.gain.cancelScheduledValues(currentTime) - gainNode.value.gain.setValueAtTime(gainNode.value.gain.value, currentTime) - gainNode.value.gain.linearRampToValueAtTime(newVolume, currentTime + 0.1) - } - }) - - onUnmounted(() => { - cleanupPlayback() - }) - - return { - // State - isEnabled, - volume, - error, - - // Manual control - setupPlayback, - cleanupPlayback, - } -} diff --git a/packages/audio/src/vue/audio-stream.ts b/packages/audio/src/vue/audio-stream.ts deleted file mode 100644 index 6de05526d..000000000 --- a/packages/audio/src/vue/audio-stream.ts +++ /dev/null @@ -1,203 +0,0 @@ -import type { MaybeRefOrGetter } from 'vue' - -import { onUnmounted, ref, toRef } from 'vue' - -import { createAudioAnalyser, createAudioSource, getAudioContext, getCurrentTime, initializeAudioContext } from '../audio-context' - -export interface AudioStreamConfig { - deviceId: string - sampleRate?: number - echoCancellation?: boolean - noiseSuppression?: boolean - autoGainControl?: boolean -} - -export interface AudioAnalysisData { - volumeLevel: number - frequencyData: Uint8Array - timeDomainData: Float32Array - timestamp: number -} - -export type AudioAnalysisCallback = (data: AudioAnalysisData) => void -export type AudioChunkCallback = (chunk: Float32Array, sampleRate: number) => void - -export function useAudioStream(cfg: MaybeRefOrGetter) { - const config = toRef(cfg) - - const isActive = ref(false) - const error = ref('') - const isInitializing = ref(false) // Add loading state - - // Stream-specific state - const mediaStream = ref() - const source = ref() - const analyser = ref() - - // Callbacks for different types of analysis - const analysisCallbacks = new Set() - const chunkCallbacks = new Set() - - // Audio data arrays - const dataArray = ref() - const timeDataArray = ref() - - // Helper function to wait for audio context - async function waitForAudioContext(maxRetries = 10, delay = 100) { - for (let i = 0; i < maxRetries; i++) { - const audioContext = getAudioContext() - if (audioContext && audioContext.state !== 'closed') { - return audioContext - } - await new Promise(resolve => setTimeout(resolve, delay)) - } - throw new Error('Audio context failed to initialize within timeout') - } - - async function start() { - if (isActive.value || isInitializing.value) - return - - try { - isInitializing.value = true - error.value = '' - - // Initialize global audio context and wait for it - await initializeAudioContext(config.value?.sampleRate || 16000) - await waitForAudioContext() - - // Get user media - mediaStream.value = await navigator.mediaDevices.getUserMedia({ - audio: { - deviceId: config.value?.deviceId, - sampleRate: config.value?.sampleRate || 16000, - echoCancellation: config.value?.echoCancellation ?? true, - noiseSuppression: config.value?.noiseSuppression ?? true, - autoGainControl: config.value?.autoGainControl ?? true, - }, - }) - - // Ensure we still have a valid audio context after getUserMedia - const currentAudioContext = getAudioContext() - if (!currentAudioContext) { - throw new Error('Audio context became unavailable') - } - - // Create audio nodes using global context - source.value = createAudioSource(mediaStream.value) - analyser.value = createAudioAnalyser({ - fftSize: 512, - smoothingTimeConstant: 0.1, - }) - - // Connect nodes - source.value.connect(analyser.value) - - // Setup data arrays - const bufferLength = analyser.value.frequencyBinCount - dataArray.value = new Uint8Array(bufferLength) - timeDataArray.value = new Float32Array(analyser.value.fftSize) - - isActive.value = true - startAnalysis() - } - catch (err) { - error.value = err instanceof Error ? err.message : String(err) - console.error('Failed to start audio stream:', err) - } - finally { - isInitializing.value = false - } - } - - function startAnalysis() { - const analyze = () => { - const audioContext = getAudioContext() - if (!audioContext || !analyser.value || !dataArray.value || !timeDataArray.value) - return - - // Get frequency and time domain data - analyser.value.getByteFrequencyData(dataArray.value) - analyser.value.getFloatTimeDomainData(timeDataArray.value) - - // Calculate 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) - const volumeLevel = Math.min(100, (rms / 255) * 100 * 3) - - // Create analysis data - const analysisData: AudioAnalysisData = { - volumeLevel, - frequencyData: new Uint8Array(dataArray.value), - timeDomainData: new Float32Array(timeDataArray.value), - timestamp: getCurrentTime(), - } - - // Notify analysis callbacks - analysisCallbacks.forEach((callback) => { - try { - callback(analysisData) - } - catch (err) { - console.error('Audio analysis callback error:', err) - } - }) - - // Notify chunk callbacks with fresh audioContext reference - chunkCallbacks.forEach((callback) => { - try { - callback( - new Float32Array(timeDataArray.value), - audioContext.sampleRate, - ) - } - catch (err) { - console.error('Audio chunk callback error:', err) - } - }) - - // Only continue if still active - if (isActive.value) { - requestAnimationFrame(analyze) - } - } - - analyze() - } - - // Callback management - function addAnalysisCallback(callback: AudioAnalysisCallback) { - analysisCallbacks.add(callback) - return () => analysisCallbacks.delete(callback) - } - - function addChunkCallback(callback: AudioChunkCallback) { - chunkCallbacks.add(callback) - return () => chunkCallbacks.delete(callback) - } - - function stop() { - mediaStream.value?.getTracks().forEach(track => track.stop()) - } - - // Cleanup - onUnmounted(() => { - stop() - }) - - return { - isActive, - error, - mediaStream, - isInitializing, - - start, - stop, - - addAnalysisCallback, - addChunkCallback, - } -} diff --git a/packages/audio/src/vue/index.ts b/packages/audio/src/vue/index.ts deleted file mode 100644 index bb02a4ede..000000000 --- a/packages/audio/src/vue/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './audio-playback' -export * from './audio-stream' diff --git a/packages/audio/tsdown.config.ts b/packages/audio/tsdown.config.ts index 1b43f059e..86768e881 100644 --- a/packages/audio/tsdown.config.ts +++ b/packages/audio/tsdown.config.ts @@ -6,7 +6,6 @@ export default defineConfig({ 'audio-context/index': 'src/audio-context/index.ts', 'audio-context/processor.worklet': 'src/audio-context/processor.worklet.ts', 'encoding/index': 'src/encoding/index.ts', - 'vue/index': 'src/vue/index.ts', }, unbundle: true, fixedExtension: true, diff --git a/packages/stage-ui/package.json b/packages/stage-ui/package.json index 6caaa02b2..eea1f3b2c 100644 --- a/packages/stage-ui/package.json +++ b/packages/stage-ui/package.json @@ -147,7 +147,7 @@ "unocss": "^66.3.3", "unplugin-info": "^1.2.4", "unplugin-yaml": "^3.0.2", - "vite": "^7.0.6", + "vite": "^6.3.5", "vue": "^3.5.18" } } diff --git a/packages/stage-ui/src/components/Scenarios/Providers/TranscriptionPlayground.vue b/packages/stage-ui/src/components/Scenarios/Providers/TranscriptionPlayground.vue index 901ec581a..83e9cf8b7 100644 --- a/packages/stage-ui/src/components/Scenarios/Providers/TranscriptionPlayground.vue +++ b/packages/stage-ui/src/components/Scenarios/Providers/TranscriptionPlayground.vue @@ -29,7 +29,7 @@ const errorMessage = ref('') const audioContext = ref() const analyser = ref() -const dataArray = ref() +const dataArray = ref>() const animationFrame = ref() const volumeLevel = ref(0) // 0-100 diff --git a/packages/stage-ui/src/composables/audio/audio-analyzer.ts b/packages/stage-ui/src/composables/audio/audio-analyzer.ts index 0cec91fe1..aae870343 100644 --- a/packages/stage-ui/src/composables/audio/audio-analyzer.ts +++ b/packages/stage-ui/src/composables/audio/audio-analyzer.ts @@ -2,7 +2,7 @@ import { ref } from 'vue' export function useAudioAnalyzer() { const analyzer = ref() - const dataArray = ref() + const dataArray = ref>() const animationFrame = ref() const onAnalyzerUpdateHooks = ref void | Promise>>([]) diff --git a/packages/stage-ui/src/libs/audio/manager.ts b/packages/stage-ui/src/libs/audio/manager.ts index 7469c3fa4..09432ac73 100644 --- a/packages/stage-ui/src/libs/audio/manager.ts +++ b/packages/stage-ui/src/libs/audio/manager.ts @@ -1,7 +1,7 @@ export interface AudioManagerType { audioContext: AudioContext analyser: AnalyserNode - dataBuffer: Float32Array + dataBuffer: Float32Array frameId: number | null onVolumeChange?: (volume: number) => void } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6de1895d1..bb1a00386 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -255,9 +255,6 @@ importers: '@iconify/vue': specifier: ^5.0.0 version: 5.0.0(vue@3.5.18(typescript@5.9.2)) - '@types/node': - specifier: ^24.1.0 - version: 24.1.0 '@unocss/reset': specifier: ^66.3.3 version: 66.3.3 @@ -1482,7 +1479,7 @@ importers: version: 5.2.6 '@histoire/plugin-vue': specifier: 1.0.0-alpha.2 - version: 1.0.0-alpha.2(histoire@1.0.0-alpha.2(@types/node@24.1.0)(bufferutil@4.0.9)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(utf-8-validate@5.0.10)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.18(typescript@5.9.2)) + version: 1.0.0-alpha.2(histoire@1.0.0-alpha.2(@types/node@24.1.0)(bufferutil@4.0.9)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(utf-8-validate@5.0.10)(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.18(typescript@5.9.2)) '@iconify-json/carbon': specifier: ^1.2.11 version: 1.2.11 @@ -1524,7 +1521,7 @@ importers: version: 66.3.3 '@vitejs/plugin-vue': specifier: ^6.0.1 - version: 6.0.1(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.18(typescript@5.9.2)) + version: 6.0.1(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.18(typescript@5.9.2)) clustr: specifier: ^1.0.2 version: 1.0.2 @@ -1533,19 +1530,19 @@ importers: version: 3.1.3 histoire: specifier: 1.0.0-alpha.2 - version: 1.0.0-alpha.2(@types/node@24.1.0)(bufferutil@4.0.9)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(utf-8-validate@5.0.10)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 1.0.0-alpha.2(@types/node@24.1.0)(bufferutil@4.0.9)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(utf-8-validate@5.0.10)(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) unocss: specifier: ^66.3.3 - version: 66.3.3(postcss@8.5.6)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.18(typescript@5.9.2)) + version: 66.3.3(postcss@8.5.6)(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.18(typescript@5.9.2)) unplugin-info: specifier: ^1.2.4 - version: 1.2.4(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.46.2))(@nuxt/schema@3.14.1592(magicast@0.3.5)(rollup@4.46.2))(esbuild@0.25.8)(rollup@4.46.2)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 1.2.4(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.46.2))(@nuxt/schema@3.14.1592(magicast@0.3.5)(rollup@4.46.2))(esbuild@0.25.8)(rollup@4.46.2)(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) unplugin-yaml: specifier: ^3.0.2 - version: 3.0.2(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.46.2))(@nuxt/schema@3.14.1592(magicast@0.3.5)(rollup@4.46.2))(astro@5.10.1(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(rollup@4.46.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.0))(esbuild@0.25.8)(rolldown@1.0.0-beta.30)(rollup@4.46.2)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 3.0.2(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.46.2))(@nuxt/schema@3.14.1592(magicast@0.3.5)(rollup@4.46.2))(astro@5.10.1(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(rollup@4.46.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.0))(esbuild@0.25.8)(rolldown@1.0.0-beta.30)(rollup@4.46.2)(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) vite: - specifier: ^7.0.6 - version: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + specifier: ^6.3.5 + version: 6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) vue: specifier: ^3.5.18 version: 3.5.18(typescript@5.9.2) @@ -14626,17 +14623,17 @@ snapshots: '@guiiai/logg@1.0.10': {} - '@histoire/app@1.0.0-alpha.2(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@histoire/app@1.0.0-alpha.2(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: - '@histoire/controls': 1.0.0-alpha.2(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) - '@histoire/shared': 1.0.0-alpha.2(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@histoire/controls': 1.0.0-alpha.2(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@histoire/shared': 1.0.0-alpha.2(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@histoire/vendors': 1.0.0-alpha.2 fuse.js: 7.1.0 shiki: 3.9.1 transitivePeerDependencies: - vite - '@histoire/controls@1.0.0-alpha.2(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@histoire/controls@1.0.0-alpha.2(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@codemirror/commands': 6.8.0 '@codemirror/lang-json': 6.0.1 @@ -14645,26 +14642,26 @@ snapshots: '@codemirror/state': 6.5.2 '@codemirror/theme-one-dark': 6.1.2 '@codemirror/view': 6.36.4 - '@histoire/shared': 1.0.0-alpha.2(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@histoire/shared': 1.0.0-alpha.2(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@histoire/vendors': 1.0.0-alpha.2 transitivePeerDependencies: - vite - '@histoire/plugin-vue@1.0.0-alpha.2(histoire@1.0.0-alpha.2(@types/node@24.1.0)(bufferutil@4.0.9)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(utf-8-validate@5.0.10)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.18(typescript@5.9.2))': + '@histoire/plugin-vue@1.0.0-alpha.2(histoire@1.0.0-alpha.2(@types/node@24.1.0)(bufferutil@4.0.9)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(utf-8-validate@5.0.10)(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.18(typescript@5.9.2))': dependencies: - '@histoire/controls': 1.0.0-alpha.2(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) - '@histoire/shared': 1.0.0-alpha.2(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@histoire/controls': 1.0.0-alpha.2(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@histoire/shared': 1.0.0-alpha.2(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@histoire/vendors': 1.0.0-alpha.2 change-case: 5.4.4 globby: 14.0.2 - histoire: 1.0.0-alpha.2(@types/node@24.1.0)(bufferutil@4.0.9)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(utf-8-validate@5.0.10)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + histoire: 1.0.0-alpha.2(@types/node@24.1.0)(bufferutil@4.0.9)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(utf-8-validate@5.0.10)(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) launch-editor: 2.10.0 pathe: 1.1.2 vue: 3.5.18(typescript@5.9.2) transitivePeerDependencies: - vite - '@histoire/shared@1.0.0-alpha.2(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@histoire/shared@1.0.0-alpha.2(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@histoire/vendors': 1.0.0-alpha.2 '@types/fs-extra': 11.0.4 @@ -14672,7 +14669,7 @@ snapshots: chokidar: 4.0.3 pathe: 1.1.2 picocolors: 1.1.1 - vite: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) '@histoire/vendors@1.0.0-alpha.2': {} @@ -16711,6 +16708,16 @@ snapshots: transitivePeerDependencies: - vue + '@unocss/astro@66.3.3(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.18(typescript@5.9.2))': + dependencies: + '@unocss/core': 66.3.3 + '@unocss/reset': 66.3.3 + '@unocss/vite': 66.3.3(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.18(typescript@5.9.2)) + optionalDependencies: + vite: 6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + transitivePeerDependencies: + - vue + '@unocss/astro@66.3.3(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.18(typescript@5.9.2))': dependencies: '@unocss/core': 66.3.3 @@ -16901,6 +16908,21 @@ snapshots: transitivePeerDependencies: - vue + '@unocss/vite@66.3.3(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.18(typescript@5.9.2))': + dependencies: + '@ampproject/remapping': 2.3.0 + '@unocss/config': 66.3.3 + '@unocss/core': 66.3.3 + '@unocss/inspector': 66.3.3(vue@3.5.18(typescript@5.9.2)) + chokidar: 3.6.0 + magic-string: 0.30.17 + pathe: 2.0.3 + tinyglobby: 0.2.14 + unplugin-utils: 0.2.4 + vite: 6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + transitivePeerDependencies: + - vue + '@unocss/vite@66.3.3(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.18(typescript@5.9.2))': dependencies: '@ampproject/remapping': 2.3.0 @@ -17030,6 +17052,12 @@ snapshots: vite: rolldown-vite@7.0.12(@types/node@24.1.0)(esbuild@0.25.8)(jiti@2.5.1)(less@4.4.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) vue: 3.5.18(typescript@5.9.2) + '@vitejs/plugin-vue@6.0.1(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.18(typescript@5.9.2))': + dependencies: + '@rolldown/pluginutils': 1.0.0-beta.29 + vite: 6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vue: 3.5.18(typescript@5.9.2) + '@vitejs/plugin-vue@6.0.1(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.18(typescript@5.9.2))': dependencies: '@rolldown/pluginutils': 1.0.0-beta.29 @@ -20777,12 +20805,12 @@ snapshots: highlight.js@10.7.3: {} - histoire@1.0.0-alpha.2(@types/node@24.1.0)(bufferutil@4.0.9)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(utf-8-validate@5.0.10)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): + histoire@1.0.0-alpha.2(@types/node@24.1.0)(bufferutil@4.0.9)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(utf-8-validate@5.0.10)(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): dependencies: '@akryum/tinypool': 0.3.1 - '@histoire/app': 1.0.0-alpha.2(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) - '@histoire/controls': 1.0.0-alpha.2(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) - '@histoire/shared': 1.0.0-alpha.2(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@histoire/app': 1.0.0-alpha.2(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@histoire/controls': 1.0.0-alpha.2(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@histoire/shared': 1.0.0-alpha.2(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@histoire/vendors': 1.0.0-alpha.2 '@types/markdown-it': 14.1.2 birpc: 0.2.19 @@ -20807,7 +20835,7 @@ snapshots: sade: 1.8.1 shiki: 3.9.1 sirv: 3.0.1 - vite: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) vite-node: 0.34.7(@types/node@24.1.0)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1) transitivePeerDependencies: - '@types/node' @@ -24935,6 +24963,34 @@ snapshots: - supports-color - vue + unocss@66.3.3(postcss@8.5.6)(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.18(typescript@5.9.2)): + dependencies: + '@unocss/astro': 66.3.3(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.18(typescript@5.9.2)) + '@unocss/cli': 66.3.3 + '@unocss/core': 66.3.3 + '@unocss/postcss': 66.3.3(postcss@8.5.6) + '@unocss/preset-attributify': 66.3.3 + '@unocss/preset-icons': 66.3.3 + '@unocss/preset-mini': 66.3.3 + '@unocss/preset-tagify': 66.3.3 + '@unocss/preset-typography': 66.3.3 + '@unocss/preset-uno': 66.3.3 + '@unocss/preset-web-fonts': 66.3.3 + '@unocss/preset-wind': 66.3.3 + '@unocss/preset-wind3': 66.3.3 + '@unocss/preset-wind4': 66.3.3 + '@unocss/transformer-attributify-jsx': 66.3.3 + '@unocss/transformer-compile-class': 66.3.3 + '@unocss/transformer-directives': 66.3.3 + '@unocss/transformer-variant-group': 66.3.3 + '@unocss/vite': 66.3.3(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.18(typescript@5.9.2)) + optionalDependencies: + vite: 6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + transitivePeerDependencies: + - postcss + - supports-color + - vue + unocss@66.3.3(postcss@8.5.6)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.18(typescript@5.9.2)): dependencies: '@unocss/astro': 66.3.3(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.18(typescript@5.9.2)) @@ -25011,7 +25067,7 @@ snapshots: transitivePeerDependencies: - supports-color - unplugin-info@1.2.4(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.46.2))(@nuxt/schema@3.14.1592(magicast@0.3.5)(rollup@4.46.2))(esbuild@0.25.8)(rollup@4.46.2)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): + unplugin-info@1.2.4(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.46.2))(@nuxt/schema@3.14.1592(magicast@0.3.5)(rollup@4.46.2))(esbuild@0.25.8)(rollup@4.46.2)(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): dependencies: ci-info: 4.3.0 git-url-parse: 16.1.0 @@ -25022,7 +25078,7 @@ snapshots: '@nuxt/schema': 3.14.1592(magicast@0.3.5)(rollup@4.46.2) esbuild: 0.25.8 rollup: 4.46.2 - vite: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - supports-color @@ -25221,6 +25277,20 @@ snapshots: rollup: 4.46.2 vite: rolldown-vite@7.0.12(@types/node@24.1.0)(esbuild@0.25.8)(jiti@2.5.1)(less@4.4.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + unplugin-yaml@3.0.2(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.46.2))(@nuxt/schema@3.14.1592(magicast@0.3.5)(rollup@4.46.2))(astro@5.10.1(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(rollup@4.46.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.0))(esbuild@0.25.8)(rolldown@1.0.0-beta.30)(rollup@4.46.2)(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): + dependencies: + '@rollup/pluginutils': 5.2.0(rollup@4.46.2) + unplugin: 2.3.5 + yaml: 2.8.0 + optionalDependencies: + '@nuxt/kit': 3.14.1592(magicast@0.3.5)(rollup@4.46.2) + '@nuxt/schema': 3.14.1592(magicast@0.3.5)(rollup@4.46.2) + astro: 5.10.1(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(rollup@4.46.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.0) + esbuild: 0.25.8 + rolldown: 1.0.0-beta.30 + rollup: 4.46.2 + vite: 6.3.5(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + unplugin-yaml@3.0.2(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.46.2))(@nuxt/schema@3.14.1592(magicast@0.3.5)(rollup@4.46.2))(astro@5.10.1(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(rollup@4.46.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.0))(esbuild@0.25.8)(rolldown@1.0.0-beta.30)(rollup@4.46.2)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.4.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): dependencies: '@rollup/pluginutils': 5.2.0(rollup@4.46.2)