diff --git a/packages/plugin/src/plugin/__tests__/connection.test.ts b/packages/plugin/src/plugin/__tests__/connection.test.ts index 856416a..32b6788 100644 --- a/packages/plugin/src/plugin/__tests__/connection.test.ts +++ b/packages/plugin/src/plugin/__tests__/connection.test.ts @@ -34,6 +34,11 @@ describe("connection", () => { ({ connection } = await import("../connection.js")); process.argv = [...port, ...pluginUUID, ...registerEvent, ...info]; + + // @ts-expect-error: prevent process.exit() from exiting + vi.spyOn(process, "exit").mockImplementation(() => { + /* no-op */ + }); }); // Reset modules to purge the state. diff --git a/packages/plugin/src/plugin/connection.ts b/packages/plugin/src/plugin/connection.ts index 2cabd03..e112a0a 100644 --- a/packages/plugin/src/plugin/connection.ts +++ b/packages/plugin/src/plugin/connection.ts @@ -74,6 +74,7 @@ class Connection extends EventEmitter { this.connection.resolve(webSocket); this.emit("connected", this.registrationParameters.info); }; + webSocket.onclose = (): void => process.exit(); } await this.connection.promise;