From 6704807c15179d706ea3ed3523bd7e7f0a695bb7 Mon Sep 17 00:00:00 2001 From: Juergen Kunz Date: Fri, 8 May 2026 11:38:07 +0000 Subject: [PATCH] fix(tapbundle_serverside): allocate a free port when starting SmartStorage --- changelog.md | 6 ++++++ ts/00_commitinfo_data.ts | 2 +- ts_tapbundle_serverside/classes.tapnodetools.ts | 3 ++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/changelog.md b/changelog.md index f6bc8ff..1f15447 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,11 @@ # Changelog +## 2026-05-08 - 3.6.5 - fix(tapbundle_serverside) +allocate a free port when starting SmartStorage + +- Updates TapNodeTools.createSmartStorage() to resolve an available port starting from 3003 before launching SmartStorage +- Avoids startup failures and port conflicts caused by always binding SmartStorage to the fixed port 3003 + ## 2026-05-08 - 3.6.4 - fix(tapbundle_serverside) use native fs promises to create the test files directory and write the downloaded alpine tarball diff --git a/ts/00_commitinfo_data.ts b/ts/00_commitinfo_data.ts index 15ce50b..078ce9c 100644 --- a/ts/00_commitinfo_data.ts +++ b/ts/00_commitinfo_data.ts @@ -3,6 +3,6 @@ */ export const commitinfo = { name: '@git.zone/tstest', - version: '3.6.4', + version: '3.6.5', description: 'A powerful, modern test runner for TypeScript with multi-runtime support (Node.js, Deno, Bun, Chromium) and a batteries-included test framework.' } diff --git a/ts_tapbundle_serverside/classes.tapnodetools.ts b/ts_tapbundle_serverside/classes.tapnodetools.ts index 5aa4095..b174953 100644 --- a/ts_tapbundle_serverside/classes.tapnodetools.ts +++ b/ts_tapbundle_serverside/classes.tapnodetools.ts @@ -93,8 +93,9 @@ export class TapNodeTools { */ public async createSmartStorage() { const smartstorageMod = await import('@push.rocks/smartstorage'); + const port = await this.findFreePort({ startPort: 3003 }); const smartstorageInstance = await smartstorageMod.SmartStorage.createAndStart({ - server: { port: 3003 }, + server: { port }, storage: { cleanSlate: true }, }); return smartstorageInstance;