From edce15b20ad71adbcbf8d46cef5d6a2c84532e01 Mon Sep 17 00:00:00 2001 From: Juergen Kunz Date: Wed, 18 Mar 2026 01:56:04 +0000 Subject: [PATCH] feat(tapbundle,deno): replace smarts3 test tooling with smartstorage and pre-resolve Deno test dependencies --- changelog.md | 8 + package.json | 6 +- pnpm-lock.yaml | 340 +++++------------- test/tapbundle/test.node.ts | 6 +- ts/00_commitinfo_data.ts | 2 +- ts/tstest.classes.runtime.deno.ts | 11 + .../classes.tapnodetools.ts | 11 +- ts_tapbundle_serverside/readme.md | 6 +- 8 files changed, 133 insertions(+), 257 deletions(-) diff --git a/changelog.md b/changelog.md index 14de0bd..9c87195 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,13 @@ # Changelog +## 2026-03-18 - 3.4.0 - feat(tapbundle,deno) +replace smarts3 test tooling with smartstorage and pre-resolve Deno test dependencies + +- switch TapNodeTools storage helper from @push.rocks/smarts3 to @push.rocks/smartstorage and rename createSmarts3() to createSmartStorage() +- update node tests and tapbundle server-side documentation to use the new smartstorage helper +- run `deno install --entrypoint` before executing Deno tests to resolve dependencies up front +- bump supporting development dependencies including @types/node and @push.rocks/smartshell + ## 2026-03-09 - 3.3.2 - fix(deps) bump dependency versions and reorder smartserve in package.json diff --git a/package.json b/package.json index c91efcd..71c7771 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ }, "devDependencies": { "@git.zone/tsbuild": "^4.3.0", - "@types/node": "^25.3.5" + "@types/node": "^25.5.0" }, "dependencies": { "@git.zone/tsbundle": "^2.9.1", @@ -47,9 +47,9 @@ "@push.rocks/smartpath": "^6.0.0", "@push.rocks/smartpromise": "^4.2.3", "@push.rocks/smartrequest": "^5.0.1", - "@push.rocks/smarts3": "^5.3.0", "@push.rocks/smartserve": "^2.0.1", - "@push.rocks/smartshell": "^3.3.7", + "@push.rocks/smartshell": "^3.3.8", + "@push.rocks/smartstorage": "^6.0.1", "@push.rocks/smarttime": "^4.2.3", "@push.rocks/smartwatch": "^6.3.0", "@types/ws": "^8.18.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4c9635a..90b2cef 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -62,15 +62,15 @@ importers: '@push.rocks/smartrequest': specifier: ^5.0.1 version: 5.0.1 - '@push.rocks/smarts3': - specifier: ^5.3.0 - version: 5.3.0 '@push.rocks/smartserve': specifier: ^2.0.1 version: 2.0.1 '@push.rocks/smartshell': - specifier: ^3.3.7 - version: 3.3.7 + specifier: ^3.3.8 + version: 3.3.8 + '@push.rocks/smartstorage': + specifier: ^6.0.1 + version: 6.0.1 '@push.rocks/smarttime': specifier: ^4.2.3 version: 4.2.3 @@ -91,8 +91,8 @@ importers: specifier: ^4.3.0 version: 4.3.0 '@types/node': - specifier: ^25.3.5 - version: 25.3.5 + specifier: ^25.5.0 + version: 25.5.0 packages: @@ -102,9 +102,6 @@ packages: '@api.global/typedrequest-interfaces@3.0.19': resolution: {integrity: sha512-uuHUXJeOy/inWSDrwD0Cwax2rovpxYllDhM2RWh+6mVpQuNmZ3uw6IVg6dA2G1rOe24Ebs+Y9SzEogo+jYN7vw==} - '@api.global/typedrequest@3.1.10': - resolution: {integrity: sha512-EiCp44XVcMjBvEs4oM1nMUaeY4ySU0Pzt3+mDwVG5DNP6EV87Nwancbr2jKScvaFNel9eeDgGtgEnFBKjOnApA==} - '@api.global/typedrequest@3.2.7': resolution: {integrity: sha512-9CC8EojPDraKlwWK3ZjM8/wJ9jguY/kc+pCgcd61epHFXTIKC8jYts3vKPmEkBPno5Ejn3JZgqp/GRzplCC51w==} @@ -291,24 +288,15 @@ packages: '@design.estate/dees-comms@1.0.30': resolution: {integrity: sha512-KchMlklJfKAjQiJiR0xmofXtQ27VgZtBIxcMwPE9d+h3jJRv+lPZxzBQVOM0eyM0uS44S5vJMZ11IeV4uDXSHg==} - '@design.estate/dees-domtools@2.3.6': - resolution: {integrity: sha512-cKaPNtSpp/ZuuXVx2dXO3K2FU3/HjC4ZkqtXb8Kl6yy9rNDbgtjcI4PuOk9Ux1SJzw7FgcxqVh7OSEV60htbmg==} - '@design.estate/dees-domtools@2.3.8': resolution: {integrity: sha512-jUG9GMvPxKMwmRIZ9oLTL3c8hHvHuiwIk8cTrYnuZzGO/uJJ5/czk9o6LRXUuCOOG7TRLtqgOpK8EEQgaadfZA==} - '@design.estate/dees-element@2.1.3': - resolution: {integrity: sha512-TjXWxVcdSPaT1IOk31ckfxvAZnJLuTxhFGsNCKoh63/UE2FVf6slp8//UFvN+ADigiA9ZsY0azkY99XbJCwDDA==} - '@design.estate/dees-element@2.1.6': resolution: {integrity: sha512-7zyHkUjB8UEQgT9VbB2IJtc/yuPt9CI5JGel3b6BxA1kecY64ceIjFvof1uIkc0QP8q2fMLLY45r1c+9zDTjzg==} '@emnapi/core@1.7.1': resolution: {integrity: sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg==} - '@emnapi/runtime@1.7.1': - resolution: {integrity: sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==} - '@emnapi/runtime@1.8.1': resolution: {integrity: sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==} @@ -912,9 +900,6 @@ packages: '@push.rocks/levelcache@3.2.0': resolution: {integrity: sha512-Ch0Oguta2I0SVi704kHghhBcgfyfS92ua1elRu9d8X1/9LMRYuqvvBAnyXyFxQzI3S8q8QC6EkRdd8CAAYSzRg==} - '@push.rocks/lik@6.2.2': - resolution: {integrity: sha512-j64FFPPyMXeeUorjKJVF6PWaJUfiIrF3pc41iJH4lOh0UUpBAHpcNzHVxTR58orwbVA/h3Hz+DQd4b1Rq0dFDQ==} - '@push.rocks/lik@6.3.1': resolution: {integrity: sha512-UWDwGBaVx5yPtAFXqDDBtQZCzETUOA/7myQIXb+YBsuiIw4yQuhNZ23uY2ChQH2Zn6DLqdNSgQcYC0WywMZBNQ==} @@ -1071,20 +1056,17 @@ packages: '@push.rocks/smartrouter@1.3.3': resolution: {integrity: sha512-1+xZEnWlhzqLWAaJ1zFNhQ0zgbfCWQl1DBT72LygLxTs+P0K8AwJKgqo/IX6CT55kGCFnPAZIYSbVJlGsgrB0w==} - '@push.rocks/smartrust@1.3.1': - resolution: {integrity: sha512-3ApbgF6yGeE2TRQxBY9Y48H1JlpcRheIp7QDBLSSfk80Uoe6fjdgBAfNz3Ir8hW3RZ3b7hA3sm1ZshCok58SEA==} + '@push.rocks/smartrust@1.3.2': + resolution: {integrity: sha512-HPzSJgDnKUdE5fkn2+BC9JvFXk7wl6aURAiHAXjHSCBLtzfgB7jEXjlg+K6CEfMjwQV7sy+hYABlq5DLXcFseQ==} '@push.rocks/smartrx@3.0.10': resolution: {integrity: sha512-USjIYcsSfzn14cwOsxgq/bBmWDTTzy3ouWAnW5NdMyRRzEbmeNrvmy6TRqNeDlJ2PsYNTt1rr/zGUqvIy72ITg==} - '@push.rocks/smarts3@5.3.0': - resolution: {integrity: sha512-6bo55ovCDEylbTxwPFZYDrZrz2babQEUmxHIexmVcP2j+6LYRHDbGYnWoyKdtqniqDFZ04pFkOoZ85hUzU5xCw==} - '@push.rocks/smartserve@2.0.1': resolution: {integrity: sha512-YQb2qexfCzCqOlLWBBXKMg6xG4zahCPAxomz/KEKAwHtW6wMTtuHKSTSkRTQ0vl9jssLMAmRz2OyafiL9XGJXQ==} - '@push.rocks/smartshell@3.3.7': - resolution: {integrity: sha512-b3st2+FjHUVhZZRlXfw93+SQA0UMVlURqe55uVpWdjJX7jeGXTTeszuYygtiR99zC5iZ8WZhGDct3N2L1qc/qw==} + '@push.rocks/smartshell@3.3.8': + resolution: {integrity: sha512-t9J/py0vnea4ZtOs7Anc9dc6lcvg6EDvYBw5eE1mB+KUWxMQf/ROIQwWMo6B9SMNY4JS2UwvfuJQJ8makP/7Tg==} '@push.rocks/smartspawn@3.0.3': resolution: {integrity: sha512-DyrGPV69wwOiJgKkyruk5hS3UEGZ99xFAqBE9O2nM8VXCRLbbty3xt1Ug5Z092ZZmJYaaGMSnMw3ijyZJFCT0Q==} @@ -1092,6 +1074,9 @@ packages: '@push.rocks/smartstate@2.0.27': resolution: {integrity: sha512-q4UKir7GV3hakJWXQR4DoA4tUVwT5GRkJ/MtanHYF0wZLHfS19+nGmyO9y974zk3eT9hmy3+Lq5cKtU2W6+Y3w==} + '@push.rocks/smartstorage@6.0.1': + resolution: {integrity: sha512-W5PEVwO0J2K9YUZRTbKXadC11h6/IBzzqU+P0TIE/xpJZC4K1duEXwEhxGWcbfhCkPRRa51xH8Z5mAmzzm8qxA==} + '@push.rocks/smartstream@3.2.5': resolution: {integrity: sha512-PLGGIFDy8JLNVUnnntMSIYN4W081YSbNC7Y/sWpvUT8PAXtbEXXUiDFgK5o3gcI0ptpKQxHAwxhzNlPj0sbFVg==} @@ -1117,18 +1102,12 @@ packages: '@push.rocks/smartyaml@2.0.5': resolution: {integrity: sha512-tBcf+HaOIfeEsTMwgUZDtZERCxXQyRsWO8Ar5DjBdiSRchbhVGZQEBzXswMS0W5ZoRenjgPK+4tPW3JQGRTfbg==} - '@push.rocks/taskbuffer@3.4.0': - resolution: {integrity: sha512-Rvwr1CzYztB9PMboojRzVSq3xGp8288kvtvWx4Mg3rvps913znMja1UOjNn52ivOxu3dHUNYE3NDSP+j84cUWQ==} - '@push.rocks/taskbuffer@3.5.0': resolution: {integrity: sha512-Y9WwIEIyp6oVFdj06j84tfrZIvjhbMb3DF52rYxlTeYLk3W7RPhSg1bGPCbtkXWeKdBrSe37V90BkOG7Qq8Pqg==} '@push.rocks/webrequest@3.0.37': resolution: {integrity: sha512-fLN7kP6GeHFxE4UH4r9C9pjcQb0QkJxHeAMwXvbOqB9hh0MFNKhtGU7GoaTn8SVRGRMPc9UqZVNwo6u5l8Wn0A==} - '@push.rocks/webrequest@4.0.1': - resolution: {integrity: sha512-I60XZZLVf8W5I7YdmUVVu4G92teE3rg3/aKaV00BRg8vJ3VXx3wc59Qj4em7zxQ5o0HvL8m1Aezw3RFMDPyVgA==} - '@push.rocks/webrequest@4.0.5': resolution: {integrity: sha512-wVSCaXqJ9Vh+rbwVz0wDl46dYz4rnwwSrm5vbVXKbuH6oKTPF0YRoujeJPqRltIn64RVGdLeY9/6ix+ZCrzhsg==} @@ -1556,8 +1535,8 @@ packages: '@tsclass/tsclass@4.4.4': resolution: {integrity: sha512-YZOAF+u+r4u5rCev2uUd1KBTBdfyFdtDmcv4wuN+864lMccbdfRICR3SlJwCfYS1lbeV3QNLYGD30wjRXgvCJA==} - '@tsclass/tsclass@9.3.0': - resolution: {integrity: sha512-KD3oTUN3RGu67tgjNHgWWZGsdYipr1RUDxQ9MMKSgIJ6oNZ4q5m2rg0ibrgyHWkAjTPlHVa6kHP3uVOY+8bnHw==} + '@tsclass/tsclass@9.4.0': + resolution: {integrity: sha512-VqSafIzAGxKBKQk6Q4t4vy6ldZ71I0q9T1rWnuQjvRwJEVWWL1nW7B3dfOzZq3YhOfUeOl03LGENsl0DUjUlbg==} '@tybys/wasm-util@0.10.1': resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} @@ -1619,11 +1598,11 @@ packages: '@types/node@16.9.1': resolution: {integrity: sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==} - '@types/node@22.19.1': - resolution: {integrity: sha512-LCCV0HdSZZZb34qifBsyWlUmok6W7ouER+oQIGBScS8EsZsQbrtFTUrDX4hOl+CS6p7cnNC4td+qrSVGSCTUfQ==} + '@types/node@22.19.15': + resolution: {integrity: sha512-F0R/h2+dsy5wJAUe3tAU6oqa2qbWY5TpNfL/RGmo1y38hiyO1w3x2jPtt76wmuaJI4DQnOBu21cNXQ2STIUUWg==} - '@types/node@25.3.5': - resolution: {integrity: sha512-oX8xrhvpiyRCQkG1MFchB09f+cXftgIXb3a7UUa4Y3wpmZPw5tyZGTLWhlESOLq1Rq6oDlc8npVU2/9xiCuXMA==} + '@types/node@25.5.0': + resolution: {integrity: sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==} '@types/ping@0.4.4': resolution: {integrity: sha512-ifvo6w2f5eJYlXm+HiVx67iJe8WZp87sfa683nlqED5Vnt9Z93onkokNoWqOG21EaE8fMxyKPobE+mkPEyxsdw==} @@ -1749,14 +1728,6 @@ packages: axios@1.13.2: resolution: {integrity: sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==} - b4a@1.7.3: - resolution: {integrity: sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==} - peerDependencies: - react-native-b4a: '*' - peerDependenciesMeta: - react-native-b4a: - optional: true - b4a@1.8.0: resolution: {integrity: sha512-qRuSmNSkGQaHwNbM7J78Wwy+ghLEYF1zNrSeMxj4Kgw6y33O3mXcQ6Ie9fRvfU/YnxWkOchPXbaLb73TkIsfdg==} peerDependencies: @@ -2447,20 +2418,6 @@ packages: keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - lenis@1.3.15: - resolution: {integrity: sha512-zSYOFs0ydafX70uygFoipaHHQouPeE4DpZZhdOUyLJxVf2ZVvBCBBaolDDaQztTRsa6+stBlxq2GmFGJPAVryQ==} - peerDependencies: - '@nuxt/kit': '>=3.0.0' - react: '>=17.0.0' - vue: '>=3.0.0' - peerDependenciesMeta: - '@nuxt/kit': - optional: true - react: - optional: true - vue: - optional: true - lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} @@ -2470,9 +2427,6 @@ packages: lit-html@3.3.1: resolution: {integrity: sha512-S9hbyDu/vs1qNrithiNyeyv64c9yqiW9l+DBgI18fL+MTvOtWoFR0FWiyq1TxaYef5wNlpEmzlXoBlZEO+WjoA==} - lit@3.3.1: - resolution: {integrity: sha512-Ksr/8L3PTapbdXJCk+EJVB78jDodUMaP54gD24W186zGRARvwrsPfS60wae/SSCTCNZVPd1chXqio1qHQmu4NA==} - lit@3.3.2: resolution: {integrity: sha512-NF9zbsP79l4ao2SNrH3NkfmFgN/hBYSQo90saIVI1o5GpjAdCPVstVzO1MrLOakHoEhYkrtRjPK6Ob521aoYWQ==} @@ -3083,11 +3037,6 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - semver@7.7.3: - resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} - engines: {node: '>=10'} - hasBin: true - semver@7.7.4: resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} engines: {node: '>=10'} @@ -3205,12 +3154,13 @@ packages: os: [darwin, linux, win32, freebsd, openbsd, netbsd, sunos, android] hasBin: true + tagged-tag@1.0.0: + resolution: {integrity: sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==} + engines: {node: '>=20'} + tar-fs@3.1.2: resolution: {integrity: sha512-QGxxTxxyleAdyM3kpFs14ymbYmNFrfY+pHj7Z8FgtbZ7w2//VAgLMac7sT6nRpIHjppXO2AwwEOg0bPFVRcmXw==} - tar-stream@3.1.7: - resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} - tar-stream@3.1.8: resolution: {integrity: sha512-U6QpVRyCGHva435KoNWy9PRoi2IFYCgtEhq9nmrPPpbRacPs9IH4aJ3gbrFC8dPcXvdSZ4XXfXT5Fshbp2MtlQ==} @@ -3290,6 +3240,10 @@ packages: resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} engines: {node: '>=16'} + type-fest@5.4.4: + resolution: {integrity: sha512-JnTrzGu+zPV3aXIUhnyWJj4z/wigMsdYajGLIYakqyOW1nPllzXEJee0QQbHj+CTIQtXGlAjuK0UY+2xTyjVAw==} + engines: {node: '>=20'} + typed-query-selector@2.12.1: resolution: {integrity: sha512-uzR+FzI8qrUEIu96oaeBJmd9E7CFEiQ3goA5qCVgc4s5llSubcfGHq9yUstZx/k4s9dXHVKsE35YWoFyvEqEHA==} @@ -3455,18 +3409,6 @@ snapshots: '@api.global/typedrequest-interfaces@3.0.19': {} - '@api.global/typedrequest@3.1.10': - dependencies: - '@api.global/typedrequest-interfaces': 3.0.19 - '@push.rocks/isounique': 1.0.5 - '@push.rocks/lik': 6.2.2 - '@push.rocks/smartbuffer': 3.0.5 - '@push.rocks/smartdelay': 3.0.5 - '@push.rocks/smartguard': 3.1.0 - '@push.rocks/smartpromise': 4.2.3 - '@push.rocks/webrequest': 3.0.37 - '@push.rocks/webstream': 1.0.10 - '@api.global/typedrequest@3.2.7': dependencies: '@api.global/typedrequest-interfaces': 3.0.19 @@ -3983,32 +3925,6 @@ snapshots: '@push.rocks/smartdelay': 3.0.5 broadcast-channel: 7.2.0 - '@design.estate/dees-domtools@2.3.6': - dependencies: - '@api.global/typedrequest': 3.2.7 - '@design.estate/dees-comms': 1.0.30 - '@push.rocks/lik': 6.2.2 - '@push.rocks/smartdelay': 3.0.5 - '@push.rocks/smartjson': 5.2.0 - '@push.rocks/smartmarkdown': 3.0.3 - '@push.rocks/smartpromise': 4.2.3 - '@push.rocks/smartrouter': 1.3.3 - '@push.rocks/smartrx': 3.0.10 - '@push.rocks/smartstate': 2.0.27 - '@push.rocks/smartstring': 4.1.0 - '@push.rocks/smarturl': 3.1.0 - '@push.rocks/webrequest': 3.0.37 - '@push.rocks/websetup': 3.0.19 - '@push.rocks/webstore': 2.0.20 - lenis: 1.3.15 - lit: 3.3.1 - sweet-scroll: 4.0.0 - transitivePeerDependencies: - - '@nuxt/kit' - - react - - supports-color - - vue - '@design.estate/dees-domtools@2.3.8': dependencies: '@api.global/typedrequest': 3.2.7 @@ -4035,18 +3951,6 @@ snapshots: - supports-color - vue - '@design.estate/dees-element@2.1.3': - dependencies: - '@design.estate/dees-domtools': 2.3.6 - '@push.rocks/isounique': 1.0.5 - '@push.rocks/smartrx': 3.0.10 - lit: 3.3.1 - transitivePeerDependencies: - - '@nuxt/kit' - - react - - supports-color - - vue - '@design.estate/dees-element@2.1.6': dependencies: '@design.estate/dees-domtools': 2.3.8 @@ -4065,11 +3969,6 @@ snapshots: tslib: 2.8.1 optional: true - '@emnapi/runtime@1.7.1': - dependencies: - tslib: 2.8.1 - optional: true - '@emnapi/runtime@1.8.1': dependencies: tslib: 2.8.1 @@ -4174,6 +4073,7 @@ snapshots: - '@nuxt/kit' - aws-crt - bare-abort-controller + - bare-buffer - react - react-native-b4a - supports-color @@ -4217,11 +4117,12 @@ snapshots: '@push.rocks/smartnpm': 2.0.6 '@push.rocks/smartpath': 6.0.0 '@push.rocks/smartrequest': 5.0.1 - '@push.rocks/smartshell': 3.3.7 + '@push.rocks/smartshell': 3.3.8 transitivePeerDependencies: - '@nuxt/kit' - aws-crt - bare-abort-controller + - bare-buffer - react - react-native-b4a - supports-color @@ -4230,7 +4131,7 @@ snapshots: '@git.zone/tsrun@2.0.1': dependencies: '@push.rocks/smartfile': 13.1.2 - '@push.rocks/smartshell': 3.3.7 + '@push.rocks/smartshell': 3.3.8 tsx: 4.21.0 '@img/colour@1.1.0': {} @@ -4347,7 +4248,7 @@ snapshots: '@inquirer/figures': 1.0.15 '@inquirer/type': 2.0.0 '@types/mute-stream': 0.0.4 - '@types/node': 22.19.1 + '@types/node': 22.19.15 '@types/wrap-ansi': 3.0.0 ansi-escapes: 4.3.2 cli-width: 4.1.0 @@ -4671,7 +4572,7 @@ snapshots: '@napi-rs/wasm-runtime@1.0.7': dependencies: '@emnapi/core': 1.7.1 - '@emnapi/runtime': 1.7.1 + '@emnapi/runtime': 1.8.1 '@tybys/wasm-util': 0.10.1 optional: true @@ -4827,7 +4728,7 @@ snapshots: '@push.rocks/smartstring': 4.1.0 '@push.rocks/smartunique': 3.0.9 '@push.rocks/taskbuffer': 3.5.0 - '@tsclass/tsclass': 9.3.0 + '@tsclass/tsclass': 9.4.0 transitivePeerDependencies: - '@nuxt/kit' - aws-crt @@ -4835,17 +4736,6 @@ snapshots: - supports-color - vue - '@push.rocks/lik@6.2.2': - dependencies: - '@push.rocks/smartdelay': 3.0.5 - '@push.rocks/smartmatch': 2.0.0 - '@push.rocks/smartpromise': 4.2.3 - '@push.rocks/smartrx': 3.0.10 - '@push.rocks/smarttime': 4.2.3 - '@types/minimatch': 5.1.2 - '@types/symbol-tree': 3.2.5 - symbol-tree: 3.2.4 - '@push.rocks/lik@6.3.1': dependencies: '@push.rocks/smartdelay': 3.0.5 @@ -4859,12 +4749,12 @@ snapshots: '@push.rocks/mongodump@1.1.0(socks@2.8.7)': dependencies: - '@push.rocks/lik': 6.2.2 + '@push.rocks/lik': 6.3.1 '@push.rocks/smartfile': 11.2.7 '@push.rocks/smartjson': 5.2.0 '@push.rocks/smartpath': 6.0.0 '@push.rocks/smartpromise': 4.2.3 - '@tsclass/tsclass': 9.3.0 + '@tsclass/tsclass': 9.4.0 mongodb: 6.21.0(socks@2.8.7) transitivePeerDependencies: - '@aws-sdk/credential-providers' @@ -4885,7 +4775,7 @@ snapshots: '@push.rocks/smartpromise': 4.2.3 '@push.rocks/smartrx': 3.0.10 '@push.rocks/taskbuffer': 3.5.0 - '@tsclass/tsclass': 9.3.0 + '@tsclass/tsclass': 9.4.0 transitivePeerDependencies: - '@nuxt/kit' - react @@ -4894,7 +4784,7 @@ snapshots: '@push.rocks/qenv@6.1.3': dependencies: - '@api.global/typedrequest': 3.1.10 + '@api.global/typedrequest': 3.2.7 '@configvault.io/interfaces': 1.0.17 '@push.rocks/smartfile': 11.2.7 '@push.rocks/smartlog': 3.2.1 @@ -4914,10 +4804,11 @@ snapshots: '@types/tar-stream': 3.1.4 fflate: 0.8.2 file-type: 21.1.1 - tar-stream: 3.1.7 + tar-stream: 3.1.8 through: 2.3.8 transitivePeerDependencies: - bare-abort-controller + - bare-buffer - react-native-b4a - supports-color @@ -4950,7 +4841,7 @@ snapshots: '@push.rocks/smartstream': 3.2.5 '@push.rocks/smartstring': 4.1.0 '@push.rocks/smartunique': 3.0.9 - '@tsclass/tsclass': 9.3.0 + '@tsclass/tsclass': 9.4.0 transitivePeerDependencies: - aws-crt @@ -4968,7 +4859,7 @@ snapshots: '@push.rocks/smartcli@4.0.20': dependencies: - '@push.rocks/lik': 6.2.2 + '@push.rocks/lik': 6.3.1 '@push.rocks/smartlog': 3.2.1 '@push.rocks/smartobject': 1.0.12 '@push.rocks/smartpromise': 4.2.3 @@ -4992,7 +4883,7 @@ snapshots: '@push.rocks/smartdata@5.16.7(socks@2.8.7)': dependencies: - '@push.rocks/lik': 6.2.2 + '@push.rocks/lik': 6.3.1 '@push.rocks/smartdelay': 3.0.5 '@push.rocks/smartlog': 3.2.1 '@push.rocks/smartmongo': 2.0.14(socks@2.8.7) @@ -5001,14 +4892,15 @@ snapshots: '@push.rocks/smartstring': 4.1.0 '@push.rocks/smarttime': 4.2.3 '@push.rocks/smartunique': 3.0.9 - '@push.rocks/taskbuffer': 3.4.0 - '@tsclass/tsclass': 9.3.0 + '@push.rocks/taskbuffer': 3.5.0 + '@tsclass/tsclass': 9.4.0 mongodb: 6.21.0(socks@2.8.7) transitivePeerDependencies: - '@aws-sdk/credential-providers' - '@mongodb-js/zstd' - '@nuxt/kit' - bare-abort-controller + - bare-buffer - gcp-metadata - kerberos - mongodb-client-encryption @@ -5029,7 +4921,7 @@ snapshots: '@push.rocks/smartenv': 5.0.13 '@push.rocks/smartpromise': 4.2.3 '@push.rocks/smartrequest': 2.1.0 - '@tsclass/tsclass': 9.3.0 + '@tsclass/tsclass': 9.4.0 '@types/dns-packet': 5.6.5 '@types/elliptic': 6.4.18 acme-client: 5.4.0 @@ -5054,7 +4946,7 @@ snapshots: '@push.rocks/smartexit@1.0.23': dependencies: - '@push.rocks/lik': 6.2.2 + '@push.rocks/lik': 6.3.1 '@push.rocks/smartdelay': 3.0.5 '@push.rocks/smartpromise': 4.2.3 tree-kill: 1.2.2 @@ -5074,7 +4966,7 @@ snapshots: '@push.rocks/smartfile@11.2.7': dependencies: - '@push.rocks/lik': 6.2.2 + '@push.rocks/lik': 6.3.1 '@push.rocks/smartdelay': 3.0.5 '@push.rocks/smartfile-interfaces': 1.0.7 '@push.rocks/smarthash': 3.2.6 @@ -5110,7 +5002,7 @@ snapshots: '@push.rocks/smartfs@1.5.0': dependencies: '@push.rocks/smartpath': 6.0.0 - '@push.rocks/smartrust': 1.3.1 + '@push.rocks/smartrust': 1.3.2 '@push.rocks/smartguard@3.1.0': dependencies: @@ -5183,8 +5075,8 @@ snapshots: '@push.rocks/smarthash': 3.2.6 '@push.rocks/smartpromise': 4.2.3 '@push.rocks/smarttime': 4.2.3 - '@push.rocks/webrequest': 4.0.1 - '@tsclass/tsclass': 9.3.0 + '@push.rocks/webrequest': 4.0.5 + '@tsclass/tsclass': 9.4.0 '@push.rocks/smartmarkdown@3.0.3': dependencies: @@ -5223,6 +5115,7 @@ snapshots: - '@mongodb-js/zstd' - '@nuxt/kit' - bare-abort-controller + - bare-buffer - gcp-metadata - kerberos - mongodb-client-encryption @@ -5249,6 +5142,7 @@ snapshots: - '@mongodb-js/zstd' - '@nuxt/kit' - bare-abort-controller + - bare-buffer - gcp-metadata - kerberos - mongodb-client-encryption @@ -5286,6 +5180,7 @@ snapshots: - '@nuxt/kit' - aws-crt - bare-abort-controller + - bare-buffer - react - react-native-b4a - supports-color @@ -5312,7 +5207,7 @@ snapshots: '@push.rocks/smartpuppeteer': 2.0.5(typescript@5.9.3) '@push.rocks/smartserve': 2.0.1 '@push.rocks/smartunique': 3.0.9 - '@tsclass/tsclass': 9.3.0 + '@tsclass/tsclass': 9.4.0 pdf-lib: 1.17.1 pdf2json: 4.0.2 transitivePeerDependencies: @@ -5338,7 +5233,7 @@ snapshots: '@push.rocks/smartpuppeteer@2.0.5(typescript@5.9.3)': dependencies: '@push.rocks/smartdelay': 3.0.5 - '@push.rocks/smartshell': 3.3.7 + '@push.rocks/smartshell': 3.3.8 puppeteer: 24.38.0(typescript@5.9.3) tree-kill: 1.2.2 transitivePeerDependencies: @@ -5377,11 +5272,11 @@ snapshots: '@push.rocks/smartrouter@1.3.3': dependencies: - '@push.rocks/lik': 6.2.2 + '@push.rocks/lik': 6.3.1 '@push.rocks/smartrx': 3.0.10 path-to-regexp: 8.3.0 - '@push.rocks/smartrust@1.3.1': + '@push.rocks/smartrust@1.3.2': dependencies: '@push.rocks/smartpath': 6.0.0 @@ -5390,12 +5285,6 @@ snapshots: '@push.rocks/smartpromise': 4.2.3 rxjs: 7.8.2 - '@push.rocks/smarts3@5.3.0': - dependencies: - '@push.rocks/smartpath': 6.0.0 - '@push.rocks/smartrust': 1.3.1 - '@tsclass/tsclass': 9.3.0 - '@push.rocks/smartserve@2.0.1': dependencies: '@api.global/typedrequest': 3.2.7 @@ -5409,7 +5298,7 @@ snapshots: - bufferutil - utf-8-validate - '@push.rocks/smartshell@3.3.7': + '@push.rocks/smartshell@3.3.8': dependencies: '@push.rocks/smartdelay': 3.0.5 '@push.rocks/smartexit': 2.0.3 @@ -5428,16 +5317,22 @@ snapshots: '@push.rocks/smartstate@2.0.27': dependencies: - '@push.rocks/lik': 6.2.2 + '@push.rocks/lik': 6.3.1 '@push.rocks/smarthash': 3.2.6 '@push.rocks/smartjson': 5.2.0 '@push.rocks/smartpromise': 4.2.3 '@push.rocks/smartrx': 3.0.10 '@push.rocks/webstore': 2.0.20 + '@push.rocks/smartstorage@6.0.1': + dependencies: + '@push.rocks/smartpath': 6.0.0 + '@push.rocks/smartrust': 1.3.2 + '@tsclass/tsclass': 9.4.0 + '@push.rocks/smartstream@3.2.5': dependencies: - '@push.rocks/lik': 6.2.2 + '@push.rocks/lik': 6.3.1 '@push.rocks/smartenv': 5.0.13 '@push.rocks/smartpromise': 4.2.3 '@push.rocks/smartrx': 3.0.10 @@ -5448,7 +5343,7 @@ snapshots: '@push.rocks/smarttime@4.2.3': dependencies: - '@push.rocks/lik': 6.2.2 + '@push.rocks/lik': 6.3.1 '@push.rocks/smartdelay': 3.0.5 '@push.rocks/smartpromise': 4.2.3 croner: 10.0.1 @@ -5468,7 +5363,7 @@ snapshots: '@push.rocks/smartversion@3.0.5': dependencies: '@types/semver': 7.7.1 - semver: 7.7.3 + semver: 7.7.4 '@push.rocks/smartwatch@6.3.0': dependencies: @@ -5484,22 +5379,6 @@ snapshots: '@types/js-yaml': 3.12.10 js-yaml: 3.14.2 - '@push.rocks/taskbuffer@3.4.0': - dependencies: - '@design.estate/dees-element': 2.1.3 - '@push.rocks/lik': 6.2.2 - '@push.rocks/smartdelay': 3.0.5 - '@push.rocks/smartlog': 3.2.1 - '@push.rocks/smartpromise': 4.2.3 - '@push.rocks/smartrx': 3.0.10 - '@push.rocks/smarttime': 4.2.3 - '@push.rocks/smartunique': 3.0.9 - transitivePeerDependencies: - - '@nuxt/kit' - - react - - supports-color - - vue - '@push.rocks/taskbuffer@3.5.0': dependencies: '@design.estate/dees-element': 2.1.6 @@ -5524,14 +5403,6 @@ snapshots: '@push.rocks/smartpromise': 4.2.3 '@push.rocks/webstore': 2.0.20 - '@push.rocks/webrequest@4.0.1': - dependencies: - '@push.rocks/smartdelay': 3.0.5 - '@push.rocks/smartenv': 5.0.13 - '@push.rocks/smartjson': 5.2.0 - '@push.rocks/smartpromise': 4.2.3 - '@push.rocks/webstore': 2.0.20 - '@push.rocks/webrequest@4.0.5': dependencies: '@push.rocks/smartdelay': 3.0.5 @@ -5549,7 +5420,7 @@ snapshots: '@push.rocks/webstore@2.0.20': dependencies: '@api.global/typedrequest-interfaces': 3.0.19 - '@push.rocks/lik': 6.2.2 + '@push.rocks/lik': 6.3.1 '@push.rocks/smartenv': 5.0.13 '@push.rocks/smartjson': 5.2.0 '@push.rocks/smartpromise': 4.2.3 @@ -6031,9 +5902,9 @@ snapshots: dependencies: type-fest: 4.41.0 - '@tsclass/tsclass@9.3.0': + '@tsclass/tsclass@9.4.0': dependencies: - type-fest: 4.41.0 + type-fest: 5.4.4 '@tybys/wasm-util@0.10.1': dependencies: @@ -6042,11 +5913,11 @@ snapshots: '@types/bn.js@5.2.0': dependencies: - '@types/node': 22.19.1 + '@types/node': 25.5.0 '@types/clean-css@4.2.11': dependencies: - '@types/node': 25.3.5 + '@types/node': 25.5.0 source-map: 0.6.1 '@types/debug@4.1.12': @@ -6055,7 +5926,7 @@ snapshots: '@types/dns-packet@5.6.5': dependencies: - '@types/node': 22.19.1 + '@types/node': 25.5.0 '@types/elliptic@6.4.18': dependencies: @@ -6064,7 +5935,7 @@ snapshots: '@types/fs-extra@11.0.4': dependencies: '@types/jsonfile': 6.1.4 - '@types/node': 22.19.1 + '@types/node': 25.5.0 '@types/hast@3.0.4': dependencies: @@ -6084,7 +5955,7 @@ snapshots: '@types/jsonfile@6.1.4': dependencies: - '@types/node': 22.19.1 + '@types/node': 25.5.0 '@types/mdast@4.0.4': dependencies: @@ -6098,19 +5969,19 @@ snapshots: '@types/mute-stream@0.0.4': dependencies: - '@types/node': 25.3.5 + '@types/node': 25.5.0 '@types/node-forge@1.3.14': dependencies: - '@types/node': 22.19.1 + '@types/node': 25.5.0 '@types/node@16.9.1': {} - '@types/node@22.19.1': + '@types/node@22.19.15': dependencies: undici-types: 6.21.0 - '@types/node@25.3.5': + '@types/node@25.5.0': dependencies: undici-types: 7.18.2 @@ -6124,11 +5995,11 @@ snapshots: '@types/tar-stream@3.1.4': dependencies: - '@types/node': 22.19.1 + '@types/node': 25.5.0 '@types/through2@2.0.41': dependencies: - '@types/node': 22.19.1 + '@types/node': 25.5.0 '@types/trusted-types@2.0.7': {} @@ -6154,11 +6025,11 @@ snapshots: '@types/ws@8.18.1': dependencies: - '@types/node': 22.19.1 + '@types/node': 25.5.0 '@types/yauzl@2.10.3': dependencies: - '@types/node': 25.3.5 + '@types/node': 25.5.0 optional: true '@ungap/structured-clone@1.3.0': {} @@ -6233,8 +6104,6 @@ snapshots: transitivePeerDependencies: - debug - b4a@1.7.3: {} - b4a@1.8.0: {} bail@2.0.2: {} @@ -6997,8 +6866,6 @@ snapshots: dependencies: json-buffer: 3.0.1 - lenis@1.3.15: {} - lines-and-columns@1.2.4: {} lit-element@4.2.1: @@ -7011,12 +6878,6 @@ snapshots: dependencies: '@types/trusted-types': 2.0.7 - lit@3.3.1: - dependencies: - '@lit/reactive-element': 2.1.1 - lit-element: 4.2.1 - lit-html: 3.3.1 - lit@3.3.2: dependencies: '@lit/reactive-element': 2.1.1 @@ -7435,14 +7296,15 @@ snapshots: https-proxy-agent: 7.0.6 mongodb: 6.21.0(socks@2.8.7) new-find-package-json: 2.0.0 - semver: 7.7.3 - tar-stream: 3.1.7 + semver: 7.7.4 + tar-stream: 3.1.8 tslib: 2.8.1 yauzl: 3.2.0 transitivePeerDependencies: - '@aws-sdk/credential-providers' - '@mongodb-js/zstd' - bare-abort-controller + - bare-buffer - gcp-metadata - kerberos - mongodb-client-encryption @@ -7459,6 +7321,7 @@ snapshots: - '@aws-sdk/credential-providers' - '@mongodb-js/zstd' - bare-abort-controller + - bare-buffer - gcp-metadata - kerberos - mongodb-client-encryption @@ -7559,7 +7422,7 @@ snapshots: got: 12.6.1 registry-auth-token: 5.1.0 registry-url: 6.0.1 - semver: 7.7.3 + semver: 7.7.4 pako@1.0.11: {} @@ -7843,8 +7706,6 @@ snapshots: semver@6.3.1: {} - semver@7.7.3: {} - semver@7.7.4: {} set-function-length@1.2.2: @@ -7995,6 +7856,8 @@ snapshots: systeminformation@5.27.11: {} + tagged-tag@1.0.0: {} + tar-fs@3.1.2: dependencies: pump: 3.0.4 @@ -8007,15 +7870,6 @@ snapshots: - bare-buffer - react-native-b4a - tar-stream@3.1.7: - dependencies: - b4a: 1.7.3 - fast-fifo: 1.3.2 - streamx: 2.23.0 - transitivePeerDependencies: - - bare-abort-controller - - react-native-b4a - tar-stream@3.1.8: dependencies: b4a: 1.8.0 @@ -8036,7 +7890,7 @@ snapshots: text-decoder@1.2.3: dependencies: - b4a: 1.7.3 + b4a: 1.8.0 transitivePeerDependencies: - react-native-b4a @@ -8113,6 +7967,10 @@ snapshots: type-fest@4.41.0: {} + type-fest@5.4.4: + dependencies: + tagged-tag: 1.0.0 + typed-query-selector@2.12.1: {} typescript@5.9.3: {} diff --git a/test/tapbundle/test.node.ts b/test/tapbundle/test.node.ts index 6679391..5ab03a4 100644 --- a/test/tapbundle/test.node.ts +++ b/test/tapbundle/test.node.ts @@ -20,9 +20,9 @@ tap.test('should create a smartmongo instance', async () => { await smartmongo.stop(); }); -tap.test('should create a smarts3 instance', async () => { - const smarts3 = await tapNodeTools.createSmarts3(); - await smarts3.stop(); +tap.test('should create a smartstorage instance', async () => { + const smartstorage = await tapNodeTools.createSmartStorage(); + await smartstorage.stop(); }); tap.start(); diff --git a/ts/00_commitinfo_data.ts b/ts/00_commitinfo_data.ts index 5cf5686..4374aef 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.3.2', + version: '3.4.0', 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/tstest.classes.runtime.deno.ts b/ts/tstest.classes.runtime.deno.ts index c957db7..a3eac7f 100644 --- a/ts/tstest.classes.runtime.deno.ts +++ b/ts/tstest.classes.runtime.deno.ts @@ -190,6 +190,17 @@ import '${absoluteTestFile.replace(/\\/g, '/')}'; runCommand = `${loaderCommand.command} ${loaderCommand.args.join(' ')}`; } + // Pre-resolve dependencies for the Deno test entrypoint + const installTarget = loaderPath || testFile; + const installArgs = ['install', '--entrypoint', installTarget]; + if (mergedOptions.configPath) { + installArgs.push('--config', mergedOptions.configPath); + } + const installCommand = `deno ${installArgs.join(' ')}`; + console.log(cs(` ⏳ Resolving Deno dependencies for ${plugins.path.basename(testFile)}...`, 'blue')); + await this.smartshellInstance.execSilent(installCommand, { cwd: process.cwd() }); + console.log(cs(` ✓ Deno dependencies resolved`, 'green')); + const execResultStreaming = await this.smartshellInstance.execStreamingSilent(runCommand); // If we created a loader file, clean it up after test execution diff --git a/ts_tapbundle_serverside/classes.tapnodetools.ts b/ts_tapbundle_serverside/classes.tapnodetools.ts index e4257da..3799113 100644 --- a/ts_tapbundle_serverside/classes.tapnodetools.ts +++ b/ts_tapbundle_serverside/classes.tapnodetools.ts @@ -83,16 +83,15 @@ class TapNodeTools { } /** - * create and return a smarts3 instance + * create and return a smartstorage instance */ - public async createSmarts3() { - const smarts3Mod = await import('@push.rocks/smarts3'); - const smarts3Instance = new smarts3Mod.Smarts3({ + public async createSmartStorage() { + const smartstorageMod = await import('@push.rocks/smartstorage'); + const smartstorageInstance = await smartstorageMod.SmartStorage.createAndStart({ server: { port: 3003 }, storage: { cleanSlate: true }, }); - await smarts3Instance.start(); - return smarts3Instance; + return smartstorageInstance; } // ============ diff --git a/ts_tapbundle_serverside/readme.md b/ts_tapbundle_serverside/readme.md index 788422d..263cece 100644 --- a/ts_tapbundle_serverside/readme.md +++ b/ts_tapbundle_serverside/readme.md @@ -207,12 +207,12 @@ Uses [@push.rocks/smartmongo](https://code.foss.global/push.rocks/smartmongo). Create a local S3-compatible storage instance for testing. ```typescript -const s3 = await tapNodeTools.createSmarts3(); +const s3 = await tapNodeTools.createSmartStorage(); // ... run storage tests ... await s3.stop(); ``` -Default config: port 3003, clean slate enabled. Uses [@push.rocks/smarts3](https://code.foss.global/push.rocks/smarts3). +Default config: port 3003, clean slate enabled. Uses [@push.rocks/smartstorage](https://code.foss.global/push.rocks/smartstorage). --- @@ -244,7 +244,7 @@ test/mytest.all.ts ❌ Will fail in Deno/Bun/Chromium - [@push.rocks/smartshell](https://code.foss.global/push.rocks/smartshell) — Shell command execution - [@push.rocks/smartcrypto](https://code.foss.global/push.rocks/smartcrypto) — Certificate generation - [@push.rocks/smartmongo](https://code.foss.global/push.rocks/smartmongo) — MongoDB testing -- [@push.rocks/smarts3](https://code.foss.global/push.rocks/smarts3) — S3 storage testing +- [@push.rocks/smartstorage](https://code.foss.global/push.rocks/smartstorage) — S3 storage testing - [@push.rocks/smartfile](https://code.foss.global/push.rocks/smartfile) — File operations - [@push.rocks/smartrequest](https://code.foss.global/push.rocks/smartrequest) — HTTP requests