From f084e8ac0b4a7440071e184c02eb83d99713bf9b Mon Sep 17 00:00:00 2001 From: Vladimir Date: Fri, 25 Sep 2026 19:20:30 +0200 Subject: [PATCH] fix: do not crash in the new vscode version (#829) --- packages/extension/src/spawn/rpc.ts | 8 ++++---- packages/extension/src/spawn/ws.ts | 27 +++++++++++-------------- packages/extension/src/worker/index.ts | 28 +++++++++++--------------- 3 files changed, 28 insertions(+), 35 deletions(-) diff --git a/packages/extension/src/spawn/rpc.ts b/packages/extension/src/spawn/rpc.ts index e413b6a..28a98b9 100644 --- a/packages/extension/src/spawn/rpc.ts +++ b/packages/extension/src/spawn/rpc.ts @@ -65,8 +65,8 @@ export function createRpcOptions() { export function createVitestRpc(options: { on: (listener: (message: any) => void) => void send: (message: any) => void - serialize?: (v: any) => any - deserialize?: (v: any) => any + serialize: (v: any) => any + deserialize: (v: any) => any }) { const { events, handlers } = createRpcOptions() @@ -79,8 +79,8 @@ export function createVitestRpc(options: { post(message) { options.send(message) }, - serialize: options.serialize ?? v8.serialize, - deserialize: options.deserialize ?? ((v) => v8.deserialize(Buffer.from(v) as any)), + serialize: options.serialize, + deserialize: options.deserialize, onGeneralError(error) { log.error('RPC Error', error) }, diff --git a/packages/extension/src/spawn/ws.ts b/packages/extension/src/spawn/ws.ts index 65c157d..46e3dd4 100644 --- a/packages/extension/src/spawn/ws.ts +++ b/packages/extension/src/spawn/ws.ts @@ -89,21 +89,18 @@ export function onWsConnection( const { api, handlers } = createVitestRpc({ on: (listener) => ws.on('message', listener), send: (message) => ws.send(message), - serialize: - pkg.runtime !== 'node' - ? (e) => - stringify(e, (_, v) => { - if (v instanceof Error) { - return { - name: v.name, - message: v.message, - stack: v.stack, - } - } - return v - }) - : undefined, - deserialize: pkg.runtime !== 'node' ? parse : undefined, + serialize: (e) => + stringify(e, (_, v) => { + if (v instanceof Error) { + return { + name: v.name, + message: v.message, + stack: v.stack, + } + } + return v + }), + deserialize: parse, }) ws.once('close', () => { log.verbose?.('[API]', 'Vitest WebSocket connection closed, cannot call RPC anymore.') diff --git a/packages/extension/src/worker/index.ts b/packages/extension/src/worker/index.ts index 6b86cca..385060c 100644 --- a/packages/extension/src/worker/index.ts +++ b/packages/extension/src/worker/index.ts @@ -54,22 +54,18 @@ emitter.on('message', async function onMessage(message: any) { post(message) { emitter.send(message) }, - serialize: - data.meta.runtime !== 'node' - ? (e) => - stringify(e, (_, v) => { - if (v instanceof Error) { - return { - name: v.name, - message: v.message, - stack: v.stack, - } - } - return v - }) - : v8.serialize, - deserialize: - data.meta.runtime !== 'node' ? parse : (v) => v8.deserialize(Buffer.from(v) as any), + serialize: (e) => + stringify(e, (_, v) => { + if (v instanceof Error) { + return { + name: v.name, + message: v.message, + stack: v.stack, + } + } + return v + }), + deserialize: parse, }) worker.initRpc(rpc) reporter.initRpc(rpc) -- 2.51.2