From 0c55ee50cf1f9104a1456767aa6893853a00ea06 Mon Sep 17 00:00:00 2001 From: Hubert Plociniczak Date: Tue, 6 Aug 2024 19:53:36 +0200 Subject: [PATCH] Debug Ydoc/LS interaction without making code changes (#10687) * Debug Ydoc without making code changes Previously the log statements were guarded by a constant. Now log statements are printed if YDOC_DEBUG=true env var is set during launch. * debug LS RPCs * bump vite to 5.3.5 * s/YDOC_DEBUG/YDOC_LS_DEBUG * Address PR comment * nit * nit * fix tests * yet another linting problem --- app/.example.env | 2 + app/dashboard/package.json | 2 +- app/gui2/package.json | 2 +- app/gui2/shared/languageServer.ts | 8 +- app/gui2/src/stores/project/index.ts | 2 +- app/gui2/vite.config.ts | 5 +- app/gui2/ydoc-server/index.ts | 3 +- app/gui2/ydoc-server/indexPolyglot.ts | 4 +- app/gui2/ydoc-server/languageServerSession.ts | 18 +-- app/gui2/ydoc-server/ydoc.ts | 5 +- app/ide-desktop/client/package.json | 2 +- app/ide-desktop/client/src/server.ts | 6 +- .../src/main/java/org/enso/ydoc/Ydoc.java | 1 + pnpm-lock.yaml | 108 +++++++++--------- 14 files changed, 91 insertions(+), 77 deletions(-) diff --git a/app/.example.env b/app/.example.env index 15d8f4e2d51..84cd0564519 100644 --- a/app/.example.env +++ b/app/.example.env @@ -8,3 +8,5 @@ ENSO_CLOUD_AMPLIFY_USER_POOL_ID=mars_AAAAAAAAA ENSO_CLOUD_AMPLIFY_USER_POOL_WEB_CLIENT_ID=zzzzzzzzzzzzzzzzzzzzzzzzzz ENSO_CLOUD_AMPLIFY_DOMAIN=somewhere.auth.mars.amazoncognito.com ENSO_CLOUD_AMPLIFY_REGION=mars +ENSO_POLYGLOT_YDOC_SERVER=false +ENSO_YDOC_LS_DEBUG=false \ No newline at end of file diff --git a/app/dashboard/package.json b/app/dashboard/package.json index 8cc9327b3d5..fc8df720b00 100644 --- a/app/dashboard/package.json +++ b/app/dashboard/package.json @@ -89,7 +89,7 @@ "tailwindcss-animate": "1.0.7", "tailwindcss-react-aria-components": "^1.1.1", "typescript": "^5.5.3", - "vite": "^5.3.3", + "vite": "^5.3.5", "vitest": "^1.3.1" }, "overrides": { diff --git a/app/gui2/package.json b/app/gui2/package.json index d43465a00c6..ec9146f96ef 100644 --- a/app/gui2/package.json +++ b/app/gui2/package.json @@ -148,7 +148,7 @@ "tsx": "^4.7.1", "typescript": "^5.5.3", "unbzip2-stream": "^1.4.3", - "vite": "^5.3.3", + "vite": "^5.3.5", "vite-plugin-vue-devtools": "7.3.7", "vitest": "^1.3.1", "vue-react-wrapper": "^0.3.1", diff --git a/app/gui2/shared/languageServer.ts b/app/gui2/shared/languageServer.ts index 9fd73ae6c62..62ffe5cee3a 100644 --- a/app/gui2/shared/languageServer.ts +++ b/app/gui2/shared/languageServer.ts @@ -32,7 +32,6 @@ import { } from './util/net' import type { Uuid } from './yjsModel' -const DEBUG_LOG_RPC = false const RPC_TIMEOUT_MS = 15000 export enum ErrorCode { @@ -140,10 +139,12 @@ export class LanguageServer extends ObservableV2 { connection.stopReconnecting() connection.release() diff --git a/app/gui2/vite.config.ts b/app/gui2/vite.config.ts index 0f5d14cabb3..4a4c5004254 100644 --- a/app/gui2/vite.config.ts +++ b/app/gui2/vite.config.ts @@ -15,7 +15,8 @@ import { createGatewayServer } from './ydoc-server' const projectManagerUrl = 'ws://127.0.0.1:30535' const IS_CLOUD_BUILD = process.env.CLOUD_BUILD === 'true' -const POLYGLOT_YDOC_SERVER = process.env.POLYGLOT_YDOC_SERVER +const POLYGLOT_YDOC_SERVER = process.env.ENSO_POLYGLOT_YDOC_SERVER +const YDOC_LS_DEBUG = process.env.ENSO_YDOC_LS_DEBUG await readEnvironmentFromFile() @@ -91,7 +92,7 @@ function gatewayServer(): Plugin { name: 'gateway-server', configureServer({ httpServer }) { if (httpServer == null || POLYGLOT_YDOC_SERVER != undefined) return - createGatewayServer(httpServer, undefined) + createGatewayServer(httpServer, undefined, YDOC_LS_DEBUG === 'true') }, } } diff --git a/app/gui2/ydoc-server/index.ts b/app/gui2/ydoc-server/index.ts index f7d3d648558..62818b27414 100644 --- a/app/gui2/ydoc-server/index.ts +++ b/app/gui2/ydoc-server/index.ts @@ -20,12 +20,13 @@ import { setupGatewayClient } from './ydoc' export async function createGatewayServer( httpServer: Server | Http2SecureServer, rustFFIPath: string | undefined, + debug: boolean, ) { await initializeFFI(rustFFIPath) const wss = new WebSocketServer({ noServer: true }) wss.on('connection', (ws: WebSocket, _request: IncomingMessage, data: ConnectionData) => { ws.on('error', onWebSocketError) - setupGatewayClient(ws, data.lsUrl, data.doc) + setupGatewayClient(ws, data.lsUrl, data.doc, debug) }) httpServer.on('upgrade', (request, socket, head) => { diff --git a/app/gui2/ydoc-server/indexPolyglot.ts b/app/gui2/ydoc-server/indexPolyglot.ts index 6d423c95731..8c86b84a16d 100644 --- a/app/gui2/ydoc-server/indexPolyglot.ts +++ b/app/gui2/ydoc-server/indexPolyglot.ts @@ -14,10 +14,12 @@ declare global { const YDOC_HOST: string | undefined const YDOC_PORT: number | undefined + const YDOC_LS_DEBUG: boolean | undefined } const host = YDOC_HOST ?? 'localhost' const port = YDOC_PORT ?? 1234 +const debug = YDOC_LS_DEBUG ?? false const wss = new WebSocketServer({ host, port }) @@ -26,7 +28,7 @@ wss.onconnect = (socket, url) => { const ls = url.searchParams.get('ls') if (doc != null && ls != null) { console.log('setupGatewayClient', ls, doc) - setupGatewayClient(socket, ls, doc) + setupGatewayClient(socket, ls, doc, debug) } else { console.log('Failed to authenticate user', ls, doc) } diff --git a/app/gui2/ydoc-server/languageServerSession.ts b/app/gui2/ydoc-server/languageServerSession.ts index d7d5d10997b..e229934368e 100644 --- a/app/gui2/ydoc-server/languageServerSession.ts +++ b/app/gui2/ydoc-server/languageServerSession.ts @@ -40,8 +40,6 @@ import { WSSharedDoc } from './ydoc' const SOURCE_DIR = 'src' const EXTENSION = '.enso' -const DEBUG_LOG_SYNC = false - export class LanguageServerSession { clientId: Uuid indexDoc: WSSharedDoc @@ -54,8 +52,9 @@ export class LanguageServerSession { projectRootId: Uuid | null authoritativeModules: Map clientScope: AbortScope + debug: boolean - constructor(url: string) { + constructor(url: string, debug: boolean) { this.clientScope = new AbortScope() this.clientId = random.uuidv4() as Uuid this.docs = new Map() @@ -76,17 +75,18 @@ export class LanguageServerSession { if (!persistence) continue } }) - this.ls = new LanguageServer(this.clientId, new ReconnectingWebSocketTransport(this.url)) + this.ls = new LanguageServer(this.clientId, new ReconnectingWebSocketTransport(this.url), debug) this.clientScope.onAbort(() => this.ls.release()) this.setupClient() + this.debug = debug } static sessions = new Map() - static get(url: string): LanguageServerSession { + static get(url: string, debug: boolean): LanguageServerSession { const session = map.setIfUndefined( LanguageServerSession.sessions, url, - () => new LanguageServerSession(url), + () => new LanguageServerSession(url, debug), ) session.retain() return session @@ -99,7 +99,7 @@ export class LanguageServerSession { private setupClient() { this.ls.on('file/event', async (event) => { - if (DEBUG_LOG_SYNC) { + if (this.debug) { console.log('file/event', event) } const result = await this.handleFileEvent(event) @@ -328,7 +328,7 @@ class ModulePersistence extends ObservableV2<{ removed: () => void }> { private setState(state: LsSyncState) { if (this.state !== LsSyncState.Disposed) { - if (DEBUG_LOG_SYNC) { + if (this.ls.debug) { console.debug('State change:', LsSyncState[this.state], '->', LsSyncState[state]) } // This is SAFE. `this.state` is only `readonly` to ensure that this is the only place @@ -505,7 +505,7 @@ class ModulePersistence extends ObservableV2<{ removed: () => void }> { const newVersion = computeTextChecksum(newContent) - if (DEBUG_LOG_SYNC) { + if (this.ls.debug) { console.debug(' === changes === ') console.debug('number of edits:', edits.length) if (edits.length > 0) { diff --git a/app/gui2/ydoc-server/ydoc.ts b/app/gui2/ydoc-server/ydoc.ts index 63d670f02dc..276837de98e 100644 --- a/app/gui2/ydoc-server/ydoc.ts +++ b/app/gui2/ydoc-server/ydoc.ts @@ -89,9 +89,10 @@ export class WSSharedDoc { * will be assigned its own `DistributedProject` instance with a unique namespace of Yjs documents. * @param docName The name of the document to synchronize. When the document name is `index`, the * document is considered to be the root document of the `DistributedProject` data model. + * @param debug Print debug logs if true. */ -export function setupGatewayClient(ws: WebSocket, lsUrl: string, docName: string) { - const lsSession = LanguageServerSession.get(lsUrl) +export function setupGatewayClient(ws: WebSocket, lsUrl: string, docName: string, debug: boolean) { + const lsSession = LanguageServerSession.get(lsUrl, debug) const wsDoc = lsSession.getYDoc(docName) if (wsDoc == null) { console.error(`Document '${docName}' not found in language server session '${lsUrl}'.`) diff --git a/app/ide-desktop/client/package.json b/app/ide-desktop/client/package.json index e8ef8bd6de9..f84372ad188 100644 --- a/app/ide-desktop/client/package.json +++ b/app/ide-desktop/client/package.json @@ -52,7 +52,7 @@ "sharp": "^0.31.2", "to-ico": "^1.1.5", "tsx": "^4.7.1", - "vite": "^5.3.3" + "vite": "^5.3.5" }, "//": [ "vite is required for the watch script", diff --git a/app/ide-desktop/client/src/server.ts b/app/ide-desktop/client/src/server.ts index 945165fb416..2c9aa26568c 100644 --- a/app/ide-desktop/client/src/server.ts +++ b/app/ide-desktop/client/src/server.ts @@ -150,7 +150,11 @@ export class Server { : rustFFIWasmName == null ? null : path.join(assets, rustFFIWasmName) if (server && rustFFIWasmPath != null) { - await ydocServer.createGatewayServer(server, rustFFIWasmPath) + await ydocServer.createGatewayServer( + server, + rustFFIWasmPath, + process.env.ENSO_YDOC_LS_DEBUG === 'true', + ) } else { logger.warn('YDocs server is not run, new GUI may not work properly!') } diff --git a/lib/java/ydoc-server/src/main/java/org/enso/ydoc/Ydoc.java b/lib/java/ydoc-server/src/main/java/org/enso/ydoc/Ydoc.java index d5e7b1ad187..50b278025bd 100644 --- a/lib/java/ydoc-server/src/main/java/org/enso/ydoc/Ydoc.java +++ b/lib/java/ydoc-server/src/main/java/org/enso/ydoc/Ydoc.java @@ -135,6 +135,7 @@ public final class Ydoc implements AutoCloseable { var bindings = ctx.getBindings("js"); bindings.putMember("YDOC_HOST", hostname); bindings.putMember("YDOC_PORT", port); + bindings.putMember("YDOC_LS_DEBUG", "false"); ctx.eval(ydocJs); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f9c507913ba..c1dc1bd5aec 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -148,7 +148,7 @@ importers: version: 0.0.8(vitest@1.6.0(@types/node@20.11.21)(jsdom@24.1.0)(lightningcss@1.25.1)) '@modyfi/vite-plugin-yaml': specifier: ^1.0.4 - version: 1.1.0(rollup@4.18.1)(vite@5.3.3(@types/node@20.11.21)(lightningcss@1.25.1)) + version: 1.1.0(rollup@4.18.1)(vite@5.3.5(@types/node@20.11.21)(lightningcss@1.25.1)) '@playwright/test': specifier: ^1.40.0 version: 1.45.0 @@ -181,7 +181,7 @@ importers: version: 7.15.0(eslint@8.57.0)(typescript@5.5.3) '@vitejs/plugin-react': specifier: ^4.2.1 - version: 4.3.1(vite@5.3.3(@types/node@20.11.21)(lightningcss@1.25.1)) + version: 4.3.1(vite@5.3.5(@types/node@20.11.21)(lightningcss@1.25.1)) chalk: specifier: ^5.3.0 version: 5.3.0 @@ -225,8 +225,8 @@ importers: specifier: ^5.5.3 version: 5.5.3 vite: - specifier: ^5.3.3 - version: 5.3.3(@types/node@20.11.21)(lightningcss@1.25.1) + specifier: ^5.3.5 + version: 5.3.5(@types/node@20.11.21)(lightningcss@1.25.1) vitest: specifier: ^1.3.1 version: 1.6.0(@types/node@20.11.21)(jsdom@24.1.0)(lightningcss@1.25.1) @@ -419,7 +419,7 @@ importers: version: 8.57.0 '@histoire/plugin-vue': specifier: ^0.17.12 - version: 0.17.17(histoire@0.17.17(@types/node@20.11.21)(lightningcss@1.25.1)(vite@5.3.3(@types/node@20.11.21)(lightningcss@1.25.1)))(vite@5.3.3(@types/node@20.11.21)(lightningcss@1.25.1))(vue@3.4.31(typescript@5.5.3)) + version: 0.17.17(histoire@0.17.17(@types/node@20.11.21)(lightningcss@1.25.1)(vite@5.3.5(@types/node@20.11.21)(lightningcss@1.25.1)))(vite@5.3.5(@types/node@20.11.21)(lightningcss@1.25.1))(vue@3.4.31(typescript@5.5.3)) '@open-rpc/server-js': specifier: ^1.9.4 version: 1.9.5 @@ -470,10 +470,10 @@ importers: version: 8.5.10 '@vitejs/plugin-react': specifier: ^4.0.4 - version: 4.3.1(vite@5.3.3(@types/node@20.11.21)(lightningcss@1.25.1)) + version: 4.3.1(vite@5.3.5(@types/node@20.11.21)(lightningcss@1.25.1)) '@vitejs/plugin-vue': specifier: ^5.0.4 - version: 5.0.5(vite@5.3.3(@types/node@20.11.21)(lightningcss@1.25.1))(vue@3.4.31(typescript@5.5.3)) + version: 5.0.5(vite@5.3.5(@types/node@20.11.21)(lightningcss@1.25.1))(vue@3.4.31(typescript@5.5.3)) '@vitest/coverage-v8': specifier: ^1.3.1 version: 1.6.0(vitest@1.6.0(@types/node@20.11.21)(jsdom@24.1.0)(lightningcss@1.25.1)) @@ -518,7 +518,7 @@ importers: version: 4.11.0 histoire: specifier: ^0.17.2 - version: 0.17.17(@types/node@20.11.21)(lightningcss@1.25.1)(vite@5.3.3(@types/node@20.11.21)(lightningcss@1.25.1)) + version: 0.17.17(@types/node@20.11.21)(lightningcss@1.25.1)(vite@5.3.5(@types/node@20.11.21)(lightningcss@1.25.1)) jsdom: specifier: ^24.1.0 version: 24.1.0 @@ -559,11 +559,11 @@ importers: specifier: ^1.4.3 version: 1.4.3 vite: - specifier: ^5.3.3 - version: 5.3.3(@types/node@20.11.21)(lightningcss@1.25.1) + specifier: ^5.3.5 + version: 5.3.5(@types/node@20.11.21)(lightningcss@1.25.1) vite-plugin-vue-devtools: specifier: 7.3.7 - version: 7.3.7(rollup@4.18.1)(vite@5.3.3(@types/node@20.11.21)(lightningcss@1.25.1))(vue@3.4.31(typescript@5.5.3)) + version: 7.3.7(rollup@4.18.1)(vite@5.3.5(@types/node@20.11.21)(lightningcss@1.25.1))(vue@3.4.31(typescript@5.5.3)) vitest: specifier: ^1.3.1 version: 1.6.0(@types/node@20.11.21)(jsdom@24.1.0)(lightningcss@1.25.1) @@ -680,8 +680,8 @@ importers: specifier: ^4.7.1 version: 4.16.0 vite: - specifier: ^5.3.3 - version: 5.3.3(@types/node@20.11.21)(lightningcss@1.25.1) + specifier: ^5.3.5 + version: 5.3.5(@types/node@20.11.21)(lightningcss@1.25.1) app/ide-desktop/common: dependencies: @@ -6972,8 +6972,8 @@ packages: peerDependencies: vite: ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 - vite@5.3.3: - resolution: {integrity: sha512-NPQdeCU0Dv2z5fu+ULotpuq5yfCS1BzKUIPhNbP3YBfAMGJXbt2nS+sbTFu+qchaqWTD+H3JK++nRwr6XIcp6A==} + vite@5.3.5: + resolution: {integrity: sha512-MdjglKR6AQXQb9JGiS7Rc2wC6uMjcm7Go/NHNO63EwiJXfuk9PgqiP/n5IDJCziMkfw9n4Ubp7lttNwz+8ZVKA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -8370,10 +8370,10 @@ snapshots: dependencies: tslib: 2.6.3 - '@histoire/app@0.17.17(vite@5.3.3(@types/node@20.11.21)(lightningcss@1.25.1))': + '@histoire/app@0.17.17(vite@5.3.5(@types/node@20.11.21)(lightningcss@1.25.1))': dependencies: - '@histoire/controls': 0.17.17(vite@5.3.3(@types/node@20.11.21)(lightningcss@1.25.1)) - '@histoire/shared': 0.17.17(vite@5.3.3(@types/node@20.11.21)(lightningcss@1.25.1)) + '@histoire/controls': 0.17.17(vite@5.3.5(@types/node@20.11.21)(lightningcss@1.25.1)) + '@histoire/shared': 0.17.17(vite@5.3.5(@types/node@20.11.21)(lightningcss@1.25.1)) '@histoire/vendors': 0.17.17 '@types/flexsearch': 0.7.6 flexsearch: 0.7.21 @@ -8381,7 +8381,7 @@ snapshots: transitivePeerDependencies: - vite - '@histoire/controls@0.17.17(vite@5.3.3(@types/node@20.11.21)(lightningcss@1.25.1))': + '@histoire/controls@0.17.17(vite@5.3.5(@types/node@20.11.21)(lightningcss@1.25.1))': dependencies: '@codemirror/commands': 6.6.0 '@codemirror/lang-json': 6.0.1 @@ -8390,26 +8390,26 @@ snapshots: '@codemirror/state': 6.4.1 '@codemirror/theme-one-dark': 6.1.2 '@codemirror/view': 6.28.3 - '@histoire/shared': 0.17.17(vite@5.3.3(@types/node@20.11.21)(lightningcss@1.25.1)) + '@histoire/shared': 0.17.17(vite@5.3.5(@types/node@20.11.21)(lightningcss@1.25.1)) '@histoire/vendors': 0.17.17 transitivePeerDependencies: - vite - '@histoire/plugin-vue@0.17.17(histoire@0.17.17(@types/node@20.11.21)(lightningcss@1.25.1)(vite@5.3.3(@types/node@20.11.21)(lightningcss@1.25.1)))(vite@5.3.3(@types/node@20.11.21)(lightningcss@1.25.1))(vue@3.4.31(typescript@5.5.3))': + '@histoire/plugin-vue@0.17.17(histoire@0.17.17(@types/node@20.11.21)(lightningcss@1.25.1)(vite@5.3.5(@types/node@20.11.21)(lightningcss@1.25.1)))(vite@5.3.5(@types/node@20.11.21)(lightningcss@1.25.1))(vue@3.4.31(typescript@5.5.3))': dependencies: - '@histoire/controls': 0.17.17(vite@5.3.3(@types/node@20.11.21)(lightningcss@1.25.1)) - '@histoire/shared': 0.17.17(vite@5.3.3(@types/node@20.11.21)(lightningcss@1.25.1)) + '@histoire/controls': 0.17.17(vite@5.3.5(@types/node@20.11.21)(lightningcss@1.25.1)) + '@histoire/shared': 0.17.17(vite@5.3.5(@types/node@20.11.21)(lightningcss@1.25.1)) '@histoire/vendors': 0.17.17 change-case: 4.1.2 globby: 13.2.2 - histoire: 0.17.17(@types/node@20.11.21)(lightningcss@1.25.1)(vite@5.3.3(@types/node@20.11.21)(lightningcss@1.25.1)) + histoire: 0.17.17(@types/node@20.11.21)(lightningcss@1.25.1)(vite@5.3.5(@types/node@20.11.21)(lightningcss@1.25.1)) launch-editor: 2.8.0 pathe: 1.1.2 vue: 3.4.31(typescript@5.5.3) transitivePeerDependencies: - vite - '@histoire/shared@0.17.17(vite@5.3.3(@types/node@20.11.21)(lightningcss@1.25.1))': + '@histoire/shared@0.17.17(vite@5.3.5(@types/node@20.11.21)(lightningcss@1.25.1))': dependencies: '@histoire/vendors': 0.17.17 '@types/fs-extra': 9.0.13 @@ -8417,7 +8417,7 @@ snapshots: chokidar: 3.6.0 pathe: 1.1.2 picocolors: 1.0.1 - vite: 5.3.3(@types/node@20.11.21)(lightningcss@1.25.1) + vite: 5.3.5(@types/node@20.11.21)(lightningcss@1.25.1) '@histoire/vendors@0.17.17': {} @@ -8623,12 +8623,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@modyfi/vite-plugin-yaml@1.1.0(rollup@4.18.1)(vite@5.3.3(@types/node@20.11.21)(lightningcss@1.25.1))': + '@modyfi/vite-plugin-yaml@1.1.0(rollup@4.18.1)(vite@5.3.5(@types/node@20.11.21)(lightningcss@1.25.1))': dependencies: '@rollup/pluginutils': 5.1.0(rollup@4.18.1) js-yaml: 4.1.0 tosource: 2.0.0-alpha.3 - vite: 5.3.3(@types/node@20.11.21)(lightningcss@1.25.1) + vite: 5.3.5(@types/node@20.11.21)(lightningcss@1.25.1) transitivePeerDependencies: - rollup @@ -10216,20 +10216,20 @@ snapshots: '@ungap/structured-clone@1.2.0': {} - '@vitejs/plugin-react@4.3.1(vite@5.3.3(@types/node@20.11.21)(lightningcss@1.25.1))': + '@vitejs/plugin-react@4.3.1(vite@5.3.5(@types/node@20.11.21)(lightningcss@1.25.1))': dependencies: '@babel/core': 7.24.7 '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.24.7) '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.24.7) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 5.3.3(@types/node@20.11.21)(lightningcss@1.25.1) + vite: 5.3.5(@types/node@20.11.21)(lightningcss@1.25.1) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@5.0.5(vite@5.3.3(@types/node@20.11.21)(lightningcss@1.25.1))(vue@3.4.31(typescript@5.5.3))': + '@vitejs/plugin-vue@5.0.5(vite@5.3.5(@types/node@20.11.21)(lightningcss@1.25.1))(vue@3.4.31(typescript@5.5.3))': dependencies: - vite: 5.3.3(@types/node@20.11.21)(lightningcss@1.25.1) + vite: 5.3.5(@types/node@20.11.21)(lightningcss@1.25.1) vue: 3.4.31(typescript@5.5.3) '@vitest/coverage-v8@1.6.0(vitest@1.6.0(@types/node@20.11.21)(jsdom@24.1.0)(lightningcss@1.25.1))': @@ -10355,14 +10355,14 @@ snapshots: '@vue/devtools-api@6.6.3': {} - '@vue/devtools-core@7.3.7(vite@5.3.3(@types/node@20.11.21)(lightningcss@1.25.1))(vue@3.4.31(typescript@5.5.3))': + '@vue/devtools-core@7.3.7(vite@5.3.5(@types/node@20.11.21)(lightningcss@1.25.1))(vue@3.4.31(typescript@5.5.3))': dependencies: '@vue/devtools-kit': 7.3.7 '@vue/devtools-shared': 7.3.7 mitt: 3.0.1 nanoid: 3.3.7 pathe: 1.1.2 - vite-hot-client: 0.2.3(vite@5.3.3(@types/node@20.11.21)(lightningcss@1.25.1)) + vite-hot-client: 0.2.3(vite@5.3.5(@types/node@20.11.21)(lightningcss@1.25.1)) vue: 3.4.31(typescript@5.5.3) transitivePeerDependencies: - vite @@ -12418,12 +12418,12 @@ snapshots: capital-case: 1.0.4 tslib: 2.6.3 - histoire@0.17.17(@types/node@20.11.21)(lightningcss@1.25.1)(vite@5.3.3(@types/node@20.11.21)(lightningcss@1.25.1)): + histoire@0.17.17(@types/node@20.11.21)(lightningcss@1.25.1)(vite@5.3.5(@types/node@20.11.21)(lightningcss@1.25.1)): dependencies: '@akryum/tinypool': 0.3.1 - '@histoire/app': 0.17.17(vite@5.3.3(@types/node@20.11.21)(lightningcss@1.25.1)) - '@histoire/controls': 0.17.17(vite@5.3.3(@types/node@20.11.21)(lightningcss@1.25.1)) - '@histoire/shared': 0.17.17(vite@5.3.3(@types/node@20.11.21)(lightningcss@1.25.1)) + '@histoire/app': 0.17.17(vite@5.3.5(@types/node@20.11.21)(lightningcss@1.25.1)) + '@histoire/controls': 0.17.17(vite@5.3.5(@types/node@20.11.21)(lightningcss@1.25.1)) + '@histoire/shared': 0.17.17(vite@5.3.5(@types/node@20.11.21)(lightningcss@1.25.1)) '@histoire/vendors': 0.17.17 '@types/flexsearch': 0.7.6 '@types/markdown-it': 12.2.3 @@ -12450,7 +12450,7 @@ snapshots: sade: 1.8.1 shiki-es: 0.2.0 sirv: 2.0.4 - vite: 5.3.3(@types/node@20.11.21)(lightningcss@1.25.1) + vite: 5.3.5(@types/node@20.11.21)(lightningcss@1.25.1) vite-node: 0.34.7(@types/node@20.11.21)(lightningcss@1.25.1) transitivePeerDependencies: - '@types/node' @@ -14896,9 +14896,9 @@ snapshots: extsprintf: 1.4.1 optional: true - vite-hot-client@0.2.3(vite@5.3.3(@types/node@20.11.21)(lightningcss@1.25.1)): + vite-hot-client@0.2.3(vite@5.3.5(@types/node@20.11.21)(lightningcss@1.25.1)): dependencies: - vite: 5.3.3(@types/node@20.11.21)(lightningcss@1.25.1) + vite: 5.3.5(@types/node@20.11.21)(lightningcss@1.25.1) vite-node@0.34.7(@types/node@20.11.21)(lightningcss@1.25.1): dependencies: @@ -14907,7 +14907,7 @@ snapshots: mlly: 1.7.1 pathe: 1.1.2 picocolors: 1.0.1 - vite: 5.3.3(@types/node@20.11.21)(lightningcss@1.25.1) + vite: 5.3.5(@types/node@20.11.21)(lightningcss@1.25.1) transitivePeerDependencies: - '@types/node' - less @@ -14924,7 +14924,7 @@ snapshots: debug: 4.3.5 pathe: 1.1.2 picocolors: 1.0.1 - vite: 5.3.3(@types/node@20.11.21)(lightningcss@1.25.1) + vite: 5.3.5(@types/node@20.11.21)(lightningcss@1.25.1) transitivePeerDependencies: - '@types/node' - less @@ -14935,7 +14935,7 @@ snapshots: - supports-color - terser - vite-plugin-inspect@0.8.4(rollup@4.18.1)(vite@5.3.3(@types/node@20.11.21)(lightningcss@1.25.1)): + vite-plugin-inspect@0.8.4(rollup@4.18.1)(vite@5.3.5(@types/node@20.11.21)(lightningcss@1.25.1)): dependencies: '@antfu/utils': 0.7.10 '@rollup/pluginutils': 5.1.0(rollup@4.18.1) @@ -14946,28 +14946,28 @@ snapshots: perfect-debounce: 1.0.0 picocolors: 1.0.1 sirv: 2.0.4 - vite: 5.3.3(@types/node@20.11.21)(lightningcss@1.25.1) + vite: 5.3.5(@types/node@20.11.21)(lightningcss@1.25.1) transitivePeerDependencies: - rollup - supports-color - vite-plugin-vue-devtools@7.3.7(rollup@4.18.1)(vite@5.3.3(@types/node@20.11.21)(lightningcss@1.25.1))(vue@3.4.31(typescript@5.5.3)): + vite-plugin-vue-devtools@7.3.7(rollup@4.18.1)(vite@5.3.5(@types/node@20.11.21)(lightningcss@1.25.1))(vue@3.4.31(typescript@5.5.3)): dependencies: - '@vue/devtools-core': 7.3.7(vite@5.3.3(@types/node@20.11.21)(lightningcss@1.25.1))(vue@3.4.31(typescript@5.5.3)) + '@vue/devtools-core': 7.3.7(vite@5.3.5(@types/node@20.11.21)(lightningcss@1.25.1))(vue@3.4.31(typescript@5.5.3)) '@vue/devtools-kit': 7.3.7 '@vue/devtools-shared': 7.3.7 execa: 8.0.1 sirv: 2.0.4 - vite: 5.3.3(@types/node@20.11.21)(lightningcss@1.25.1) - vite-plugin-inspect: 0.8.4(rollup@4.18.1)(vite@5.3.3(@types/node@20.11.21)(lightningcss@1.25.1)) - vite-plugin-vue-inspector: 5.1.3(vite@5.3.3(@types/node@20.11.21)(lightningcss@1.25.1)) + vite: 5.3.5(@types/node@20.11.21)(lightningcss@1.25.1) + vite-plugin-inspect: 0.8.4(rollup@4.18.1)(vite@5.3.5(@types/node@20.11.21)(lightningcss@1.25.1)) + vite-plugin-vue-inspector: 5.1.3(vite@5.3.5(@types/node@20.11.21)(lightningcss@1.25.1)) transitivePeerDependencies: - '@nuxt/kit' - rollup - supports-color - vue - vite-plugin-vue-inspector@5.1.3(vite@5.3.3(@types/node@20.11.21)(lightningcss@1.25.1)): + vite-plugin-vue-inspector@5.1.3(vite@5.3.5(@types/node@20.11.21)(lightningcss@1.25.1)): dependencies: '@babel/core': 7.24.7 '@babel/plugin-proposal-decorators': 7.24.7(@babel/core@7.24.7) @@ -14978,11 +14978,11 @@ snapshots: '@vue/compiler-dom': 3.4.31 kolorist: 1.8.0 magic-string: 0.30.10 - vite: 5.3.3(@types/node@20.11.21)(lightningcss@1.25.1) + vite: 5.3.5(@types/node@20.11.21)(lightningcss@1.25.1) transitivePeerDependencies: - supports-color - vite@5.3.3(@types/node@20.11.21)(lightningcss@1.25.1): + vite@5.3.5(@types/node@20.11.21)(lightningcss@1.25.1): dependencies: esbuild: 0.21.5 postcss: 8.4.39 @@ -15011,7 +15011,7 @@ snapshots: strip-literal: 2.1.0 tinybench: 2.8.0 tinypool: 0.8.4 - vite: 5.3.3(@types/node@20.11.21)(lightningcss@1.25.1) + vite: 5.3.5(@types/node@20.11.21)(lightningcss@1.25.1) vite-node: 1.6.0(@types/node@20.11.21)(lightningcss@1.25.1) why-is-node-running: 2.2.2 optionalDependencies: