From cb34b063939c63028af719e833d5b25addf137fa Mon Sep 17 00:00:00 2001 From: Ido Rosenthal Date: Thu, 27 Nov 2025 16:02:35 +0200 Subject: [PATCH 1/4] - move message registration out of connect - stop closing socket on disconnect - expose all socketio arguments out of WsClientHost - emit connect even - add helper methods to disconnect/connect/isConnected --- packages/core/src/com/hosts/ws-client-host.ts | 33 ++++++++++++++----- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/packages/core/src/com/hosts/ws-client-host.ts b/packages/core/src/com/hosts/ws-client-host.ts index ffb874529..11a8043ec 100644 --- a/packages/core/src/com/hosts/ws-client-host.ts +++ b/packages/core/src/com/hosts/ws-client-host.ts @@ -1,4 +1,4 @@ -import { io, Socket, type SocketOptions } from 'socket.io-client'; +import { io, type ManagerOptions, type Socket, type SocketOptions } from 'socket.io-client'; import type { Message } from '../message-types.js'; import { BaseHost } from './base-host.js'; import { EventEmitter, IDisposable, SafeDisposable } from '@dazl/patterns'; @@ -10,9 +10,9 @@ export class WsClientHost extends BaseHost implements IDisposable { isDisposed = this.disposables.isDisposed; public connected: Promise; private socketClient: Socket; - public subscribers = new EventEmitter<{ disconnect: void; reconnect: void }>(); + public subscribers = new EventEmitter<{ connect: void; disconnect: string; reconnect: void }>(); - constructor(url: string, options?: Partial) { + constructor(url: string, options?: Partial) { super(); this.disposables.add('close socket', () => this.socketClient.close()); this.disposables.add('clear subscribers', () => this.subscribers.clear()); @@ -36,15 +36,16 @@ export class WsClientHost extends BaseHost implements IDisposable { }); this.socketClient.on('connect', () => { - this.socketClient.on('message', (data: unknown) => { - this.emitMessageHandlers(data as Message); - }); + this.subscribers.emit('connect', undefined); resolve(); }); - this.socketClient.on('disconnect', () => { - this.subscribers.emit('disconnect', undefined); - this.socketClient.close(); + this.socketClient.on('message', (data: unknown) => { + this.emitMessageHandlers(data as Message); + }); + + this.socketClient.on('disconnect', (reason) => { + this.subscribers.emit('disconnect', reason); }); this.socketClient.on('reconnect', () => { @@ -57,4 +58,18 @@ export class WsClientHost extends BaseHost implements IDisposable { public postMessage(data: any) { this.socketClient.emit('message', data); } + + disconnectSocket() { + if (this.socketClient.connected) { + this.socketClient.disconnect(); + } + } + reconnectSocket() { + if (!this.socketClient.connected) { + this.socketClient.connect(); + } + } + isConnected(): boolean { + return this.socketClient.connected; + } } From d8530b08fceaead14c99cc87fe9950f2731858ba Mon Sep 17 00:00:00 2001 From: Ido Rosenthal Date: Thu, 27 Nov 2025 16:07:55 +0200 Subject: [PATCH 2/4] v51.6.0-alpha.0 --- examples/cross-iframe/package.json | 2 +- examples/node-only/package.json | 2 +- examples/playground/package.json | 2 +- examples/react/package.json | 2 +- examples/reloaded-iframe/package.json | 2 +- lerna.json | 2 +- package-lock.json | 66 +++++++++---------- packages/core/package.json | 2 +- packages/engine-cli/package.json | 6 +- packages/runtime-node/package.json | 4 +- test-fixtures/3rd-party/package.json | 2 +- .../application-external/package.json | 2 +- .../base-web-application/package.json | 2 +- test-fixtures/contextual/package.json | 2 +- test-fixtures/default-args-echo/package.json | 2 +- test-fixtures/disconnecting-env/package.json | 2 +- test-fixtures/engine-config/package.json | 2 +- .../engine-env-dependency/package.json | 2 +- .../engine-feature-roots/package.json | 2 +- .../engine-multi-feature/package.json | 2 +- test-fixtures/engine-run-options/package.json | 2 +- .../engine-single-feature/package.json | 2 +- test-fixtures/multi-socket-node/package.json | 2 +- test-fixtures/node-env/package.json | 2 +- .../static-application-external/package.json | 2 +- .../package.json | 2 +- .../static-base-web-application/package.json | 2 +- test-fixtures/using-config/package.json | 2 +- test-fixtures/with-iframe/package.json | 2 +- test-fixtures/workspace/package.json | 2 +- .../workspace/packages/a/package.json | 2 +- .../workspace/packages/b/package.json | 2 +- 32 files changed, 67 insertions(+), 67 deletions(-) diff --git a/examples/cross-iframe/package.json b/examples/cross-iframe/package.json index e5525e5de..fc6bc093b 100644 --- a/examples/cross-iframe/package.json +++ b/examples/cross-iframe/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/cross-iframe", - "version": "51.5.0", + "version": "51.6.0-alpha.0", "private": true, "type": "module", "scripts": { diff --git a/examples/node-only/package.json b/examples/node-only/package.json index 77e79d07c..8c3f1d435 100644 --- a/examples/node-only/package.json +++ b/examples/node-only/package.json @@ -1,6 +1,6 @@ { "name": "@example/node-only", - "version": "51.5.0", + "version": "51.6.0-alpha.0", "private": true, "type": "module", "main": "index.js", diff --git a/examples/playground/package.json b/examples/playground/package.json index 0b05de522..9605f2071 100644 --- a/examples/playground/package.json +++ b/examples/playground/package.json @@ -1,6 +1,6 @@ { "name": "@example/playground", - "version": "51.5.0", + "version": "51.6.0-alpha.0", "private": true, "type": "module", "scripts": { diff --git a/examples/react/package.json b/examples/react/package.json index 43187eb83..4adcb1cd5 100644 --- a/examples/react/package.json +++ b/examples/react/package.json @@ -1,6 +1,6 @@ { "name": "@examples/react", - "version": "51.5.0", + "version": "51.6.0-alpha.0", "private": true, "type": "module", "main": "index.js", diff --git a/examples/reloaded-iframe/package.json b/examples/reloaded-iframe/package.json index bfda9b356..add662de5 100644 --- a/examples/reloaded-iframe/package.json +++ b/examples/reloaded-iframe/package.json @@ -1,6 +1,6 @@ { "name": "@example/reloaded-iframe", - "version": "51.5.0", + "version": "51.6.0-alpha.0", "private": true, "type": "module", "scripts": { diff --git a/lerna.json b/lerna.json index 2ab2be6ac..c42495eca 100644 --- a/lerna.json +++ b/lerna.json @@ -1,3 +1,3 @@ { - "version": "51.5.0" + "version": "51.6.0-alpha.0" } \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index bf35a184b..9174e91c9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -55,26 +55,26 @@ }, "examples/cross-iframe": { "name": "@fixture/cross-iframe", - "version": "51.5.0" + "version": "51.6.0-alpha.0" }, "examples/node-only": { "name": "@example/node-only", - "version": "51.5.0", + "version": "51.6.0-alpha.0", "license": "MIT" }, "examples/playground": { "name": "@example/playground", - "version": "51.5.0", + "version": "51.6.0-alpha.0", "license": "UNLICENSED" }, "examples/react": { "name": "@examples/react", - "version": "51.5.0", + "version": "51.6.0-alpha.0", "license": "UNLICENSED" }, "examples/reloaded-iframe": { "name": "@example/reloaded-iframe", - "version": "51.5.0" + "version": "51.6.0-alpha.0" }, "node_modules/@babel/code-frame": { "version": "7.27.1", @@ -7362,7 +7362,7 @@ }, "packages/core": { "name": "@dazl/engine-core", - "version": "51.5.0", + "version": "51.6.0-alpha.0", "license": "MIT", "dependencies": { "@dazl/isomorphic-worker": "^2.0.0", @@ -7373,11 +7373,11 @@ }, "packages/engine-cli": { "name": "@dazl/engine-cli", - "version": "51.5.0", + "version": "51.6.0-alpha.0", "license": "MIT", "dependencies": { - "@dazl/engine-core": "^51.5.0", - "@dazl/engine-runtime-node": "^51.5.0", + "@dazl/engine-core": "^51.6.0-alpha.0", + "@dazl/engine-runtime-node": "^51.6.0-alpha.0", "@dazl/patterns": "^18.6.0", "@dazl/resolve-directory-context": "^5.1.0", "@file-services/node": "^11.0.1", @@ -7397,11 +7397,11 @@ }, "packages/runtime-node": { "name": "@dazl/engine-runtime-node", - "version": "51.5.0", + "version": "51.6.0-alpha.0", "license": "MIT", "dependencies": { "@dazl/common": "^18.6.0", - "@dazl/engine-core": "^51.5.0", + "@dazl/engine-core": "^51.6.0-alpha.0", "@dazl/isomorphic-worker": "^2.0.0", "@dazl/patterns": "^18.6.0", "@file-services/node": "^11.0.1", @@ -7414,94 +7414,94 @@ }, "test-fixtures/3rd-party": { "name": "@fixture/3rd-party", - "version": "51.5.0" + "version": "51.6.0-alpha.0" }, "test-fixtures/application-external": { "name": "@fixture/application-external-feature", - "version": "51.5.0" + "version": "51.6.0-alpha.0" }, "test-fixtures/base-web-application": { "name": "@fixture/base-web-application-feature", - "version": "51.5.0" + "version": "51.6.0-alpha.0" }, "test-fixtures/contextual": { "name": "@fixture/contextual-feature", - "version": "51.5.0" + "version": "51.6.0-alpha.0" }, "test-fixtures/default-args-echo": { "name": "@fixture/engine-default-args-echo", - "version": "51.5.0" + "version": "51.6.0-alpha.0" }, "test-fixtures/disconnecting-env": { "name": "@fixture/disconnecting-env", - "version": "51.5.0" + "version": "51.6.0-alpha.0" }, "test-fixtures/engine-config": { "name": "@fixture/engine-config-feature", - "version": "51.5.0" + "version": "51.6.0-alpha.0" }, "test-fixtures/engine-env-dependency": { "name": "@fixture/engine-env-dependency", - "version": "51.5.0" + "version": "51.6.0-alpha.0" }, "test-fixtures/engine-feature-roots": { "name": "@fixture/engine-feature-roots", - "version": "51.5.0" + "version": "51.6.0-alpha.0" }, "test-fixtures/engine-multi-feature": { "name": "@fixture/engine-multi-feature", - "version": "51.5.0" + "version": "51.6.0-alpha.0" }, "test-fixtures/engine-run-options": { "name": "@fixture/engine-run-options", - "version": "51.5.0" + "version": "51.6.0-alpha.0" }, "test-fixtures/engine-single-feature": { "name": "@fixture/engine-single-feature", - "version": "51.5.0" + "version": "51.6.0-alpha.0" }, "test-fixtures/multi-socket-node": { "name": "@fixture/engine-multi-socket-node", - "version": "51.5.0" + "version": "51.6.0-alpha.0" }, "test-fixtures/node-env": { "name": "@fixture/engine-node", - "version": "51.5.0" + "version": "51.6.0-alpha.0" }, "test-fixtures/static-application-external": { "name": "@fixture/static-application-external-feature", - "version": "51.5.0" + "version": "51.6.0-alpha.0" }, "test-fixtures/static-base-web-application": { "name": "@fixture/static-base-web-application-feature", - "version": "51.5.0" + "version": "51.6.0-alpha.0" }, "test-fixtures/static-base-web-application-config-loader": { "name": "@fixture/static-base-web-application-config-loader", - "version": "51.5.0" + "version": "51.6.0-alpha.0" }, "test-fixtures/using-config": { "name": "@fixture/configs", - "version": "51.5.0" + "version": "51.6.0-alpha.0" }, "test-fixtures/with-iframe": { "name": "@fixture/with-iframe", - "version": "51.5.0" + "version": "51.6.0-alpha.0" }, "test-fixtures/workspace": { "name": "@fixture/workspace", - "version": "51.5.0", + "version": "51.6.0-alpha.0", "workspaces": [ "packages/*" ] }, "test-fixtures/workspace/packages/a": { "name": "@fixture/a-in-workspace", - "version": "51.5.0" + "version": "51.6.0-alpha.0" }, "test-fixtures/workspace/packages/b": { "name": "@fixture/b-in-workspace", - "version": "51.5.0" + "version": "51.6.0-alpha.0" } } } diff --git a/packages/core/package.json b/packages/core/package.json index 90dfcc181..0501c6b74 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@dazl/engine-core", - "version": "51.5.0", + "version": "51.6.0-alpha.0", "type": "module", "main": "dist/index.js", "exports": { diff --git a/packages/engine-cli/package.json b/packages/engine-cli/package.json index fd8618bc1..56c9fb2cc 100644 --- a/packages/engine-cli/package.json +++ b/packages/engine-cli/package.json @@ -1,6 +1,6 @@ { "name": "@dazl/engine-cli", - "version": "51.5.0", + "version": "51.6.0-alpha.0", "type": "module", "bin": { "engine": "./bin/engine.js" @@ -15,8 +15,8 @@ "./default-config-loader": "./dist/entrypoint/default-config-loader.js" }, "dependencies": { - "@dazl/engine-core": "^51.5.0", - "@dazl/engine-runtime-node": "^51.5.0", + "@dazl/engine-core": "^51.6.0-alpha.0", + "@dazl/engine-runtime-node": "^51.6.0-alpha.0", "@dazl/patterns": "^18.6.0", "@dazl/resolve-directory-context": "^5.1.0", "@file-services/node": "^11.0.1", diff --git a/packages/runtime-node/package.json b/packages/runtime-node/package.json index fc663ccfe..fc0cc9459 100644 --- a/packages/runtime-node/package.json +++ b/packages/runtime-node/package.json @@ -1,6 +1,6 @@ { "name": "@dazl/engine-runtime-node", - "version": "51.5.0", + "version": "51.6.0-alpha.0", "type": "module", "main": "dist/index.js", "exports": { @@ -13,7 +13,7 @@ }, "dependencies": { "@dazl/common": "^18.6.0", - "@dazl/engine-core": "^51.5.0", + "@dazl/engine-core": "^51.6.0-alpha.0", "@dazl/isomorphic-worker": "^2.0.0", "@dazl/patterns": "^18.6.0", "@file-services/node": "^11.0.1", diff --git a/test-fixtures/3rd-party/package.json b/test-fixtures/3rd-party/package.json index 7f4abe405..6eb487f69 100644 --- a/test-fixtures/3rd-party/package.json +++ b/test-fixtures/3rd-party/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/3rd-party", - "version": "51.5.0", + "version": "51.6.0-alpha.0", "private": true, "type": "module" } diff --git a/test-fixtures/application-external/package.json b/test-fixtures/application-external/package.json index 7c5b6a46a..1c8f46642 100644 --- a/test-fixtures/application-external/package.json +++ b/test-fixtures/application-external/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/application-external-feature", - "version": "51.5.0", + "version": "51.6.0-alpha.0", "private": true, "type": "module" } diff --git a/test-fixtures/base-web-application/package.json b/test-fixtures/base-web-application/package.json index bf3be745e..f011266b0 100644 --- a/test-fixtures/base-web-application/package.json +++ b/test-fixtures/base-web-application/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/base-web-application-feature", - "version": "51.5.0", + "version": "51.6.0-alpha.0", "private": true, "type": "module" } diff --git a/test-fixtures/contextual/package.json b/test-fixtures/contextual/package.json index a987ef610..1a0a496b1 100644 --- a/test-fixtures/contextual/package.json +++ b/test-fixtures/contextual/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/contextual-feature", - "version": "51.5.0", + "version": "51.6.0-alpha.0", "private": true, "type": "module" } diff --git a/test-fixtures/default-args-echo/package.json b/test-fixtures/default-args-echo/package.json index 0cff4fcfe..cb7767780 100644 --- a/test-fixtures/default-args-echo/package.json +++ b/test-fixtures/default-args-echo/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/engine-default-args-echo", - "version": "51.5.0", + "version": "51.6.0-alpha.0", "private": true, "type": "module" } diff --git a/test-fixtures/disconnecting-env/package.json b/test-fixtures/disconnecting-env/package.json index 70f8c7941..38216e4bb 100644 --- a/test-fixtures/disconnecting-env/package.json +++ b/test-fixtures/disconnecting-env/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/disconnecting-env", - "version": "51.5.0", + "version": "51.6.0-alpha.0", "private": true, "type": "module" } diff --git a/test-fixtures/engine-config/package.json b/test-fixtures/engine-config/package.json index 058455577..ada17f74f 100644 --- a/test-fixtures/engine-config/package.json +++ b/test-fixtures/engine-config/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/engine-config-feature", - "version": "51.5.0", + "version": "51.6.0-alpha.0", "private": true, "type": "module" } diff --git a/test-fixtures/engine-env-dependency/package.json b/test-fixtures/engine-env-dependency/package.json index 85c1f5e52..29e128433 100644 --- a/test-fixtures/engine-env-dependency/package.json +++ b/test-fixtures/engine-env-dependency/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/engine-env-dependency", - "version": "51.5.0", + "version": "51.6.0-alpha.0", "private": true, "type": "module" } diff --git a/test-fixtures/engine-feature-roots/package.json b/test-fixtures/engine-feature-roots/package.json index c59782969..c3d146883 100644 --- a/test-fixtures/engine-feature-roots/package.json +++ b/test-fixtures/engine-feature-roots/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/engine-feature-roots", - "version": "51.5.0", + "version": "51.6.0-alpha.0", "private": true, "type": "module" } diff --git a/test-fixtures/engine-multi-feature/package.json b/test-fixtures/engine-multi-feature/package.json index 20a9fa7d4..e51a6e231 100644 --- a/test-fixtures/engine-multi-feature/package.json +++ b/test-fixtures/engine-multi-feature/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/engine-multi-feature", - "version": "51.5.0", + "version": "51.6.0-alpha.0", "private": true, "type": "module" } diff --git a/test-fixtures/engine-run-options/package.json b/test-fixtures/engine-run-options/package.json index 95128d5f4..22febe06a 100644 --- a/test-fixtures/engine-run-options/package.json +++ b/test-fixtures/engine-run-options/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/engine-run-options", - "version": "51.5.0", + "version": "51.6.0-alpha.0", "private": true, "type": "module" } diff --git a/test-fixtures/engine-single-feature/package.json b/test-fixtures/engine-single-feature/package.json index 221f1f131..735ad2b7e 100644 --- a/test-fixtures/engine-single-feature/package.json +++ b/test-fixtures/engine-single-feature/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/engine-single-feature", - "version": "51.5.0", + "version": "51.6.0-alpha.0", "private": true, "type": "module" } diff --git a/test-fixtures/multi-socket-node/package.json b/test-fixtures/multi-socket-node/package.json index 8b8ee3d35..189f97dfe 100644 --- a/test-fixtures/multi-socket-node/package.json +++ b/test-fixtures/multi-socket-node/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/engine-multi-socket-node", - "version": "51.5.0", + "version": "51.6.0-alpha.0", "private": true, "type": "module" } diff --git a/test-fixtures/node-env/package.json b/test-fixtures/node-env/package.json index d064f44d6..059d66370 100644 --- a/test-fixtures/node-env/package.json +++ b/test-fixtures/node-env/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/engine-node", - "version": "51.5.0", + "version": "51.6.0-alpha.0", "private": true, "type": "module" } diff --git a/test-fixtures/static-application-external/package.json b/test-fixtures/static-application-external/package.json index 5e25613f3..b9625b771 100644 --- a/test-fixtures/static-application-external/package.json +++ b/test-fixtures/static-application-external/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/static-application-external-feature", - "version": "51.5.0", + "version": "51.6.0-alpha.0", "private": true, "type": "module" } diff --git a/test-fixtures/static-base-web-application-config-loader/package.json b/test-fixtures/static-base-web-application-config-loader/package.json index 76d0d2a49..dcc26adf9 100644 --- a/test-fixtures/static-base-web-application-config-loader/package.json +++ b/test-fixtures/static-base-web-application-config-loader/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/static-base-web-application-config-loader", - "version": "51.5.0", + "version": "51.6.0-alpha.0", "private": true, "type": "module" } diff --git a/test-fixtures/static-base-web-application/package.json b/test-fixtures/static-base-web-application/package.json index 0de1132b3..38a25d367 100644 --- a/test-fixtures/static-base-web-application/package.json +++ b/test-fixtures/static-base-web-application/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/static-base-web-application-feature", - "version": "51.5.0", + "version": "51.6.0-alpha.0", "private": true, "type": "module" } diff --git a/test-fixtures/using-config/package.json b/test-fixtures/using-config/package.json index dbdbcf9d6..20daa5ca9 100644 --- a/test-fixtures/using-config/package.json +++ b/test-fixtures/using-config/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/configs", - "version": "51.5.0", + "version": "51.6.0-alpha.0", "private": true, "type": "module" } diff --git a/test-fixtures/with-iframe/package.json b/test-fixtures/with-iframe/package.json index 11fa3e3a8..49a18e07d 100644 --- a/test-fixtures/with-iframe/package.json +++ b/test-fixtures/with-iframe/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/with-iframe", - "version": "51.5.0", + "version": "51.6.0-alpha.0", "private": true, "type": "module" } diff --git a/test-fixtures/workspace/package.json b/test-fixtures/workspace/package.json index 5acb85158..c8c28c3aa 100644 --- a/test-fixtures/workspace/package.json +++ b/test-fixtures/workspace/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/workspace", - "version": "51.5.0", + "version": "51.6.0-alpha.0", "private": true, "type": "module", "workspaces": [ diff --git a/test-fixtures/workspace/packages/a/package.json b/test-fixtures/workspace/packages/a/package.json index 40b0ae0b3..152a847ec 100644 --- a/test-fixtures/workspace/packages/a/package.json +++ b/test-fixtures/workspace/packages/a/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/a-in-workspace", - "version": "51.5.0", + "version": "51.6.0-alpha.0", "private": true, "type": "module" } diff --git a/test-fixtures/workspace/packages/b/package.json b/test-fixtures/workspace/packages/b/package.json index 3f79d0f8e..704c21bc3 100644 --- a/test-fixtures/workspace/packages/b/package.json +++ b/test-fixtures/workspace/packages/b/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/b-in-workspace", - "version": "51.5.0", + "version": "51.6.0-alpha.0", "private": true, "type": "module" } From f6e6fce41474e57835537580bc629e0c8a4ec503 Mon Sep 17 00:00:00 2001 From: Ido Rosenthal Date: Sun, 30 Nov 2025 13:33:28 +0200 Subject: [PATCH 3/4] revert alpha version --- examples/cross-iframe/package.json | 2 +- examples/node-only/package.json | 2 +- examples/playground/package.json | 2 +- examples/react/package.json | 2 +- examples/reloaded-iframe/package.json | 2 +- lerna.json | 2 +- package-lock.json | 66 +++++++++---------- packages/core/package.json | 2 +- packages/engine-cli/package.json | 6 +- packages/runtime-node/package.json | 4 +- test-fixtures/3rd-party/package.json | 2 +- .../application-external/package.json | 2 +- .../base-web-application/package.json | 2 +- test-fixtures/contextual/package.json | 2 +- test-fixtures/default-args-echo/package.json | 2 +- test-fixtures/disconnecting-env/package.json | 2 +- test-fixtures/engine-config/package.json | 2 +- .../engine-env-dependency/package.json | 2 +- .../engine-feature-roots/package.json | 2 +- .../engine-multi-feature/package.json | 2 +- test-fixtures/engine-run-options/package.json | 2 +- .../engine-single-feature/package.json | 2 +- test-fixtures/multi-socket-node/package.json | 2 +- test-fixtures/node-env/package.json | 2 +- .../static-application-external/package.json | 2 +- .../package.json | 2 +- .../static-base-web-application/package.json | 2 +- test-fixtures/using-config/package.json | 2 +- test-fixtures/with-iframe/package.json | 2 +- test-fixtures/workspace/package.json | 2 +- .../workspace/packages/a/package.json | 2 +- .../workspace/packages/b/package.json | 2 +- 32 files changed, 67 insertions(+), 67 deletions(-) diff --git a/examples/cross-iframe/package.json b/examples/cross-iframe/package.json index fc6bc093b..e5525e5de 100644 --- a/examples/cross-iframe/package.json +++ b/examples/cross-iframe/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/cross-iframe", - "version": "51.6.0-alpha.0", + "version": "51.5.0", "private": true, "type": "module", "scripts": { diff --git a/examples/node-only/package.json b/examples/node-only/package.json index 8c3f1d435..77e79d07c 100644 --- a/examples/node-only/package.json +++ b/examples/node-only/package.json @@ -1,6 +1,6 @@ { "name": "@example/node-only", - "version": "51.6.0-alpha.0", + "version": "51.5.0", "private": true, "type": "module", "main": "index.js", diff --git a/examples/playground/package.json b/examples/playground/package.json index 9605f2071..0b05de522 100644 --- a/examples/playground/package.json +++ b/examples/playground/package.json @@ -1,6 +1,6 @@ { "name": "@example/playground", - "version": "51.6.0-alpha.0", + "version": "51.5.0", "private": true, "type": "module", "scripts": { diff --git a/examples/react/package.json b/examples/react/package.json index 4adcb1cd5..43187eb83 100644 --- a/examples/react/package.json +++ b/examples/react/package.json @@ -1,6 +1,6 @@ { "name": "@examples/react", - "version": "51.6.0-alpha.0", + "version": "51.5.0", "private": true, "type": "module", "main": "index.js", diff --git a/examples/reloaded-iframe/package.json b/examples/reloaded-iframe/package.json index add662de5..bfda9b356 100644 --- a/examples/reloaded-iframe/package.json +++ b/examples/reloaded-iframe/package.json @@ -1,6 +1,6 @@ { "name": "@example/reloaded-iframe", - "version": "51.6.0-alpha.0", + "version": "51.5.0", "private": true, "type": "module", "scripts": { diff --git a/lerna.json b/lerna.json index c42495eca..2ab2be6ac 100644 --- a/lerna.json +++ b/lerna.json @@ -1,3 +1,3 @@ { - "version": "51.6.0-alpha.0" + "version": "51.5.0" } \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index e5394a2b2..0eaae4031 100644 --- a/package-lock.json +++ b/package-lock.json @@ -55,26 +55,26 @@ }, "examples/cross-iframe": { "name": "@fixture/cross-iframe", - "version": "51.6.0-alpha.0" + "version": "51.5.0" }, "examples/node-only": { "name": "@example/node-only", - "version": "51.6.0-alpha.0", + "version": "51.5.0", "license": "MIT" }, "examples/playground": { "name": "@example/playground", - "version": "51.6.0-alpha.0", + "version": "51.5.0", "license": "UNLICENSED" }, "examples/react": { "name": "@examples/react", - "version": "51.6.0-alpha.0", + "version": "51.5.0", "license": "UNLICENSED" }, "examples/reloaded-iframe": { "name": "@example/reloaded-iframe", - "version": "51.6.0-alpha.0" + "version": "51.5.0" }, "node_modules/@babel/code-frame": { "version": "7.27.1", @@ -7362,7 +7362,7 @@ }, "packages/core": { "name": "@dazl/engine-core", - "version": "51.6.0-alpha.0", + "version": "51.5.0", "license": "MIT", "dependencies": { "@dazl/isomorphic-worker": "^2.0.0", @@ -7373,11 +7373,11 @@ }, "packages/engine-cli": { "name": "@dazl/engine-cli", - "version": "51.6.0-alpha.0", + "version": "51.5.0", "license": "MIT", "dependencies": { - "@dazl/engine-core": "^51.6.0-alpha.0", - "@dazl/engine-runtime-node": "^51.6.0-alpha.0", + "@dazl/engine-core": "^51.5.0", + "@dazl/engine-runtime-node": "^51.5.0", "@dazl/patterns": "^18.6.0", "@dazl/resolve-directory-context": "^5.1.0", "@file-services/node": "^11.0.1", @@ -7397,11 +7397,11 @@ }, "packages/runtime-node": { "name": "@dazl/engine-runtime-node", - "version": "51.6.0-alpha.0", + "version": "51.5.0", "license": "MIT", "dependencies": { "@dazl/common": "^18.6.0", - "@dazl/engine-core": "^51.6.0-alpha.0", + "@dazl/engine-core": "^51.5.0", "@dazl/isomorphic-worker": "^2.0.0", "@dazl/patterns": "^18.6.0", "@file-services/node": "^11.0.1", @@ -7414,94 +7414,94 @@ }, "test-fixtures/3rd-party": { "name": "@fixture/3rd-party", - "version": "51.6.0-alpha.0" + "version": "51.5.0" }, "test-fixtures/application-external": { "name": "@fixture/application-external-feature", - "version": "51.6.0-alpha.0" + "version": "51.5.0" }, "test-fixtures/base-web-application": { "name": "@fixture/base-web-application-feature", - "version": "51.6.0-alpha.0" + "version": "51.5.0" }, "test-fixtures/contextual": { "name": "@fixture/contextual-feature", - "version": "51.6.0-alpha.0" + "version": "51.5.0" }, "test-fixtures/default-args-echo": { "name": "@fixture/engine-default-args-echo", - "version": "51.6.0-alpha.0" + "version": "51.5.0" }, "test-fixtures/disconnecting-env": { "name": "@fixture/disconnecting-env", - "version": "51.6.0-alpha.0" + "version": "51.5.0" }, "test-fixtures/engine-config": { "name": "@fixture/engine-config-feature", - "version": "51.6.0-alpha.0" + "version": "51.5.0" }, "test-fixtures/engine-env-dependency": { "name": "@fixture/engine-env-dependency", - "version": "51.6.0-alpha.0" + "version": "51.5.0" }, "test-fixtures/engine-feature-roots": { "name": "@fixture/engine-feature-roots", - "version": "51.6.0-alpha.0" + "version": "51.5.0" }, "test-fixtures/engine-multi-feature": { "name": "@fixture/engine-multi-feature", - "version": "51.6.0-alpha.0" + "version": "51.5.0" }, "test-fixtures/engine-run-options": { "name": "@fixture/engine-run-options", - "version": "51.6.0-alpha.0" + "version": "51.5.0" }, "test-fixtures/engine-single-feature": { "name": "@fixture/engine-single-feature", - "version": "51.6.0-alpha.0" + "version": "51.5.0" }, "test-fixtures/multi-socket-node": { "name": "@fixture/engine-multi-socket-node", - "version": "51.6.0-alpha.0" + "version": "51.5.0" }, "test-fixtures/node-env": { "name": "@fixture/engine-node", - "version": "51.6.0-alpha.0" + "version": "51.5.0" }, "test-fixtures/static-application-external": { "name": "@fixture/static-application-external-feature", - "version": "51.6.0-alpha.0" + "version": "51.5.0" }, "test-fixtures/static-base-web-application": { "name": "@fixture/static-base-web-application-feature", - "version": "51.6.0-alpha.0" + "version": "51.5.0" }, "test-fixtures/static-base-web-application-config-loader": { "name": "@fixture/static-base-web-application-config-loader", - "version": "51.6.0-alpha.0" + "version": "51.5.0" }, "test-fixtures/using-config": { "name": "@fixture/configs", - "version": "51.6.0-alpha.0" + "version": "51.5.0" }, "test-fixtures/with-iframe": { "name": "@fixture/with-iframe", - "version": "51.6.0-alpha.0" + "version": "51.5.0" }, "test-fixtures/workspace": { "name": "@fixture/workspace", - "version": "51.6.0-alpha.0", + "version": "51.5.0", "workspaces": [ "packages/*" ] }, "test-fixtures/workspace/packages/a": { "name": "@fixture/a-in-workspace", - "version": "51.6.0-alpha.0" + "version": "51.5.0" }, "test-fixtures/workspace/packages/b": { "name": "@fixture/b-in-workspace", - "version": "51.6.0-alpha.0" + "version": "51.5.0" } } } diff --git a/packages/core/package.json b/packages/core/package.json index 0501c6b74..90dfcc181 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@dazl/engine-core", - "version": "51.6.0-alpha.0", + "version": "51.5.0", "type": "module", "main": "dist/index.js", "exports": { diff --git a/packages/engine-cli/package.json b/packages/engine-cli/package.json index 56c9fb2cc..fd8618bc1 100644 --- a/packages/engine-cli/package.json +++ b/packages/engine-cli/package.json @@ -1,6 +1,6 @@ { "name": "@dazl/engine-cli", - "version": "51.6.0-alpha.0", + "version": "51.5.0", "type": "module", "bin": { "engine": "./bin/engine.js" @@ -15,8 +15,8 @@ "./default-config-loader": "./dist/entrypoint/default-config-loader.js" }, "dependencies": { - "@dazl/engine-core": "^51.6.0-alpha.0", - "@dazl/engine-runtime-node": "^51.6.0-alpha.0", + "@dazl/engine-core": "^51.5.0", + "@dazl/engine-runtime-node": "^51.5.0", "@dazl/patterns": "^18.6.0", "@dazl/resolve-directory-context": "^5.1.0", "@file-services/node": "^11.0.1", diff --git a/packages/runtime-node/package.json b/packages/runtime-node/package.json index fc0cc9459..fc663ccfe 100644 --- a/packages/runtime-node/package.json +++ b/packages/runtime-node/package.json @@ -1,6 +1,6 @@ { "name": "@dazl/engine-runtime-node", - "version": "51.6.0-alpha.0", + "version": "51.5.0", "type": "module", "main": "dist/index.js", "exports": { @@ -13,7 +13,7 @@ }, "dependencies": { "@dazl/common": "^18.6.0", - "@dazl/engine-core": "^51.6.0-alpha.0", + "@dazl/engine-core": "^51.5.0", "@dazl/isomorphic-worker": "^2.0.0", "@dazl/patterns": "^18.6.0", "@file-services/node": "^11.0.1", diff --git a/test-fixtures/3rd-party/package.json b/test-fixtures/3rd-party/package.json index 6eb487f69..7f4abe405 100644 --- a/test-fixtures/3rd-party/package.json +++ b/test-fixtures/3rd-party/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/3rd-party", - "version": "51.6.0-alpha.0", + "version": "51.5.0", "private": true, "type": "module" } diff --git a/test-fixtures/application-external/package.json b/test-fixtures/application-external/package.json index 1c8f46642..7c5b6a46a 100644 --- a/test-fixtures/application-external/package.json +++ b/test-fixtures/application-external/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/application-external-feature", - "version": "51.6.0-alpha.0", + "version": "51.5.0", "private": true, "type": "module" } diff --git a/test-fixtures/base-web-application/package.json b/test-fixtures/base-web-application/package.json index f011266b0..bf3be745e 100644 --- a/test-fixtures/base-web-application/package.json +++ b/test-fixtures/base-web-application/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/base-web-application-feature", - "version": "51.6.0-alpha.0", + "version": "51.5.0", "private": true, "type": "module" } diff --git a/test-fixtures/contextual/package.json b/test-fixtures/contextual/package.json index 1a0a496b1..a987ef610 100644 --- a/test-fixtures/contextual/package.json +++ b/test-fixtures/contextual/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/contextual-feature", - "version": "51.6.0-alpha.0", + "version": "51.5.0", "private": true, "type": "module" } diff --git a/test-fixtures/default-args-echo/package.json b/test-fixtures/default-args-echo/package.json index cb7767780..0cff4fcfe 100644 --- a/test-fixtures/default-args-echo/package.json +++ b/test-fixtures/default-args-echo/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/engine-default-args-echo", - "version": "51.6.0-alpha.0", + "version": "51.5.0", "private": true, "type": "module" } diff --git a/test-fixtures/disconnecting-env/package.json b/test-fixtures/disconnecting-env/package.json index 38216e4bb..70f8c7941 100644 --- a/test-fixtures/disconnecting-env/package.json +++ b/test-fixtures/disconnecting-env/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/disconnecting-env", - "version": "51.6.0-alpha.0", + "version": "51.5.0", "private": true, "type": "module" } diff --git a/test-fixtures/engine-config/package.json b/test-fixtures/engine-config/package.json index ada17f74f..058455577 100644 --- a/test-fixtures/engine-config/package.json +++ b/test-fixtures/engine-config/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/engine-config-feature", - "version": "51.6.0-alpha.0", + "version": "51.5.0", "private": true, "type": "module" } diff --git a/test-fixtures/engine-env-dependency/package.json b/test-fixtures/engine-env-dependency/package.json index 29e128433..85c1f5e52 100644 --- a/test-fixtures/engine-env-dependency/package.json +++ b/test-fixtures/engine-env-dependency/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/engine-env-dependency", - "version": "51.6.0-alpha.0", + "version": "51.5.0", "private": true, "type": "module" } diff --git a/test-fixtures/engine-feature-roots/package.json b/test-fixtures/engine-feature-roots/package.json index c3d146883..c59782969 100644 --- a/test-fixtures/engine-feature-roots/package.json +++ b/test-fixtures/engine-feature-roots/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/engine-feature-roots", - "version": "51.6.0-alpha.0", + "version": "51.5.0", "private": true, "type": "module" } diff --git a/test-fixtures/engine-multi-feature/package.json b/test-fixtures/engine-multi-feature/package.json index e51a6e231..20a9fa7d4 100644 --- a/test-fixtures/engine-multi-feature/package.json +++ b/test-fixtures/engine-multi-feature/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/engine-multi-feature", - "version": "51.6.0-alpha.0", + "version": "51.5.0", "private": true, "type": "module" } diff --git a/test-fixtures/engine-run-options/package.json b/test-fixtures/engine-run-options/package.json index 22febe06a..95128d5f4 100644 --- a/test-fixtures/engine-run-options/package.json +++ b/test-fixtures/engine-run-options/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/engine-run-options", - "version": "51.6.0-alpha.0", + "version": "51.5.0", "private": true, "type": "module" } diff --git a/test-fixtures/engine-single-feature/package.json b/test-fixtures/engine-single-feature/package.json index 735ad2b7e..221f1f131 100644 --- a/test-fixtures/engine-single-feature/package.json +++ b/test-fixtures/engine-single-feature/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/engine-single-feature", - "version": "51.6.0-alpha.0", + "version": "51.5.0", "private": true, "type": "module" } diff --git a/test-fixtures/multi-socket-node/package.json b/test-fixtures/multi-socket-node/package.json index 189f97dfe..8b8ee3d35 100644 --- a/test-fixtures/multi-socket-node/package.json +++ b/test-fixtures/multi-socket-node/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/engine-multi-socket-node", - "version": "51.6.0-alpha.0", + "version": "51.5.0", "private": true, "type": "module" } diff --git a/test-fixtures/node-env/package.json b/test-fixtures/node-env/package.json index 059d66370..d064f44d6 100644 --- a/test-fixtures/node-env/package.json +++ b/test-fixtures/node-env/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/engine-node", - "version": "51.6.0-alpha.0", + "version": "51.5.0", "private": true, "type": "module" } diff --git a/test-fixtures/static-application-external/package.json b/test-fixtures/static-application-external/package.json index b9625b771..5e25613f3 100644 --- a/test-fixtures/static-application-external/package.json +++ b/test-fixtures/static-application-external/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/static-application-external-feature", - "version": "51.6.0-alpha.0", + "version": "51.5.0", "private": true, "type": "module" } diff --git a/test-fixtures/static-base-web-application-config-loader/package.json b/test-fixtures/static-base-web-application-config-loader/package.json index dcc26adf9..76d0d2a49 100644 --- a/test-fixtures/static-base-web-application-config-loader/package.json +++ b/test-fixtures/static-base-web-application-config-loader/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/static-base-web-application-config-loader", - "version": "51.6.0-alpha.0", + "version": "51.5.0", "private": true, "type": "module" } diff --git a/test-fixtures/static-base-web-application/package.json b/test-fixtures/static-base-web-application/package.json index 38a25d367..0de1132b3 100644 --- a/test-fixtures/static-base-web-application/package.json +++ b/test-fixtures/static-base-web-application/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/static-base-web-application-feature", - "version": "51.6.0-alpha.0", + "version": "51.5.0", "private": true, "type": "module" } diff --git a/test-fixtures/using-config/package.json b/test-fixtures/using-config/package.json index 20daa5ca9..dbdbcf9d6 100644 --- a/test-fixtures/using-config/package.json +++ b/test-fixtures/using-config/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/configs", - "version": "51.6.0-alpha.0", + "version": "51.5.0", "private": true, "type": "module" } diff --git a/test-fixtures/with-iframe/package.json b/test-fixtures/with-iframe/package.json index 49a18e07d..11fa3e3a8 100644 --- a/test-fixtures/with-iframe/package.json +++ b/test-fixtures/with-iframe/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/with-iframe", - "version": "51.6.0-alpha.0", + "version": "51.5.0", "private": true, "type": "module" } diff --git a/test-fixtures/workspace/package.json b/test-fixtures/workspace/package.json index c8c28c3aa..5acb85158 100644 --- a/test-fixtures/workspace/package.json +++ b/test-fixtures/workspace/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/workspace", - "version": "51.6.0-alpha.0", + "version": "51.5.0", "private": true, "type": "module", "workspaces": [ diff --git a/test-fixtures/workspace/packages/a/package.json b/test-fixtures/workspace/packages/a/package.json index 152a847ec..40b0ae0b3 100644 --- a/test-fixtures/workspace/packages/a/package.json +++ b/test-fixtures/workspace/packages/a/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/a-in-workspace", - "version": "51.6.0-alpha.0", + "version": "51.5.0", "private": true, "type": "module" } diff --git a/test-fixtures/workspace/packages/b/package.json b/test-fixtures/workspace/packages/b/package.json index 704c21bc3..3f79d0f8e 100644 --- a/test-fixtures/workspace/packages/b/package.json +++ b/test-fixtures/workspace/packages/b/package.json @@ -1,6 +1,6 @@ { "name": "@fixture/b-in-workspace", - "version": "51.6.0-alpha.0", + "version": "51.5.0", "private": true, "type": "module" } From b853e817cf88ae42e81d6114a4ad620b86f15b62 Mon Sep 17 00:00:00 2001 From: Ido Rosenthal Date: Sun, 30 Nov 2025 14:17:53 +0200 Subject: [PATCH 4/4] test: fix unclosed connections to allow test to finish --- packages/runtime-node/test/node-com.unit.ts | 24 +++++++----- .../test/node-env.manager.unit.ts | 39 ++++++++++--------- 2 files changed, 34 insertions(+), 29 deletions(-) diff --git a/packages/runtime-node/test/node-com.unit.ts b/packages/runtime-node/test/node-com.unit.ts index 11c592ba5..cd948b5b9 100644 --- a/packages/runtime-node/test/node-com.unit.ts +++ b/packages/runtime-node/test/node-com.unit.ts @@ -31,6 +31,10 @@ describe('Socket communication', () => { let port: number; const disposables = createDisposables(); + const disposeAfterTest = void }>(obj: T) => { + disposables.add(() => obj.dispose()); + return obj; + }; afterEach(() => disposables.dispose()); beforeEach(async () => { @@ -55,8 +59,8 @@ describe('Socket communication', () => { } }); - clientHost = new WsClientHost(serverTopology['server-host']); - serverHost = new WsServerHost(nameSpace); + clientHost = disposeAfterTest(new WsClientHost(serverTopology['server-host'])); + serverHost = disposeAfterTest(new WsServerHost(nameSpace)); await clientHost.connected; }); @@ -225,10 +229,10 @@ describe('Socket communication', () => { it('notifies if environment is disconnected', async () => { const spy = sinon.spy(); const clientCom = new Communication(clientHost, 'client-host', serverTopology); - const { id } = await socketClientInitializer({ + const { id } = disposeAfterTest(await socketClientInitializer({ communication: clientCom, env: new Environment('server-host', 'node', 'single'), - }); + })); expect(id).to.not.eq(undefined); @@ -250,23 +254,23 @@ describe('Socket communication', () => { createWaitForCall<(ev: { data: Message }) => void>('server'); const { waitForCall: waitForClient1Call, spy: spyClient1 } = createWaitForCall<(ev: { data: Message }) => void>('client'); - const clientHost1 = new WsClientHost(serverTopology['server-host']!); - const clientHost2 = new WsClientHost(serverTopology['server-host']!); + const clientHost1 = disposeAfterTest(new WsClientHost(serverTopology['server-host']!)); + const clientHost2 = disposeAfterTest(new WsClientHost(serverTopology['server-host']!)); const clientCom1 = new Communication(clientHost1, 'client-host1', serverTopology); const clientCom2 = new Communication(clientHost2, 'client-host2', serverTopology); new Communication(serverHost, 'server-host'); - await socketClientInitializer({ + disposeAfterTest(await socketClientInitializer({ communication: clientCom1, env: { env: 'server-host', }, - }); - await socketClientInitializer({ + })); + disposeAfterTest(await socketClientInitializer({ communication: clientCom2, env: { env: 'server-host', }, - }); + })); clientCom1.registerEnv('client-host2', clientCom1.getEnvironmentHost('server-host')!); serverHost.addEventListener('message', spyServer); clientHost1.addEventListener('message', spyClient1); diff --git a/packages/runtime-node/test/node-env.manager.unit.ts b/packages/runtime-node/test/node-env.manager.unit.ts index d63c61406..2cacb339b 100644 --- a/packages/runtime-node/test/node-env.manager.unit.ts +++ b/packages/runtime-node/test/node-env.manager.unit.ts @@ -12,6 +12,18 @@ import { runEnv as runAEnv } from '../test-kit/entrypoints/a.node.js'; import testFeature from '../test-kit/feature/test-feature.js'; describe('NodeEnvManager', () => { + const disposables = new Set<() => Promise | void>(); + afterEach(async () => { + for (const dispose of Array.from(disposables).reverse()) { + await dispose(); + } + disposables.clear(); + }); + const disposeAfterTest = void }>(obj: T) => { + disposables.add(() => obj.dispose()); + return obj; + }; + const meta = { url: import.meta.resolve('../test-kit/entrypoints/') }; const testCommunicationId = 'test'; @@ -38,15 +50,10 @@ describe('NodeEnvManager', () => { }, }; - manager = new NodeEnvManager(meta, featureEnvironmentsMapping); + manager = disposeAfterTest(new NodeEnvManager(meta, featureEnvironmentsMapping)); const { port } = await manager.autoLaunch(new Map([['feature', 'test-feature']])); nodeEnvsPort = port; - communication = getClientCom(port); - }); - - afterEach(async () => { - await communication.dispose(); - await manager.dispose(); + communication = disposeAfterTest(getClientCom(port)); }); it('should reach env "a"', async () => { @@ -67,8 +74,8 @@ describe('NodeEnvManager', () => { it('should handle two communication with the same', async () => { // setup new com instance with the same id - const communication2 = new Communication(new BaseHost(), testCommunicationId); - const host = new WsClientHost('http://localhost:' + nodeEnvsPort, {}); + const communication2 = disposeAfterTest(new Communication(new BaseHost(), testCommunicationId)); + const host = disposeAfterTest(new WsClientHost('http://localhost:' + nodeEnvsPort, {})); communication2.registerEnv(aEnv.env, host); communication2.registerEnv(bEnv.env, host); @@ -85,20 +92,19 @@ describe('NodeEnvManager', () => { }); describe('NodeEnvManager with 2 node envs, one remote the other in a worker thread', () => { - let closeEnvA: () => Promise; let nodeEnvsManager: NodeEnvManager; let communication: Communication; beforeEach(async () => { const { port: aPort, socketServer, close } = await launchEngineHttpServer(); - closeEnvA = close; + disposables.add(() => close()); await runAEnv({ Feature: testFeature, topLevelConfig: [ COM.configure({ config: { - host: new WsServerHost(socketServer), + host: disposeAfterTest(new WsServerHost(socketServer)), id: aEnv.env, }, }), @@ -124,14 +130,9 @@ describe('NodeEnvManager', () => { }, }; - nodeEnvsManager = new NodeEnvManager(meta, featureEnvironmentsMapping); + nodeEnvsManager = disposeAfterTest(new NodeEnvManager(meta, featureEnvironmentsMapping)); const { port } = await nodeEnvsManager.autoLaunch(new Map([['feature', 'test-feature']])); - communication = getClientCom(port); - }); - afterEach(async () => { - await communication.dispose(); - await closeEnvA(); - await nodeEnvsManager.dispose(); + communication = disposeAfterTest(getClientCom(port)); }); it('should reach env "a"', async () => {