Compare commits

..

4 Commits

9 changed files with 154 additions and 584 deletions

View File

@@ -1,5 +1,20 @@
# Changelog
## 2025-11-21 - 3.1.2 - fix(docs)
Update README: add issue reporting/security guidance and expanded changelog (3.1.1/3.1.0)
- Add 'Issue Reporting and Security' section pointing to https://community.foss.global/ for bug/security reports and contributor onboarding.
- Expand Changelog with Version 3.1.1 notes: fixed TapTools parameter passing to suite lifecycle hooks (beforeAll/afterAll) and updated @push.rocks/smarts3 dependency to ^3.0.0.
- Include Changelog entries for Version 3.1.0: postTask() API, suite beforeAll/afterAll, new parallel() fluent API, and enhanced tapbundle documentation.
- Documentation-only change (no source code modifications).
## 2025-11-21 - 3.1.1 - fix(tapbundle)
Pass TapTools to suite lifecycle hooks (beforeAll/afterAll) and update @push.rocks/smarts3 to ^3.0.0
- Replace usage of a Deferred promise with a TapTools instance when invoking suite.beforeAll and suite.afterAll
- Add import for TapTools in ts_tapbundle/tapbundle.classes.tap.ts
- Bump dependency @push.rocks/smarts3 from ^2.2.7 to ^3.0.0 in package.json
## 2025-11-20 - 3.1.0 - feat(tapbundle)
Add global postTask (teardown) and suite lifecycle hooks (beforeAll/afterAll) to tapbundle

View File

@@ -9,5 +9,5 @@
"target": "ES2022"
},
"nodeModulesDir": true,
"version": "3.1.0"
"version": "3.1.2"
}

View File

@@ -1,6 +1,6 @@
{
"name": "@git.zone/tstest",
"version": "3.1.0",
"version": "3.1.2",
"private": false,
"description": "a test utility to run tests that match test/**/*.ts",
"exports": {
@@ -48,7 +48,7 @@
"@push.rocks/smartpath": "^6.0.0",
"@push.rocks/smartpromise": "^4.2.3",
"@push.rocks/smartrequest": "^5.0.1",
"@push.rocks/smarts3": "^2.2.7",
"@push.rocks/smarts3": "^3.0.0",
"@push.rocks/smartshell": "^3.3.0",
"@push.rocks/smarttime": "^4.1.1",
"@types/ws": "^8.18.1",

664
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@@ -5,6 +5,10 @@
* [npmjs.org (npm package)](https://www.npmjs.com/package/@git.zone/tstest)
* [code.foss.global (source)](https://code.foss.global/git.zone/tstest)
## Issue Reporting and Security
For reporting bugs, issues, or security vulnerabilities, please visit https://community.foss.global/. This is the central community hub for all issue reporting. Developers who want to sign a contribution agreement and go through identification can also get a code.foss.global account to submit Pull Requests directly.
## Why tstest?
**tstest** is a TypeScript test runner that makes testing delightful. It's designed for modern development workflows with beautiful output, flexible test execution, and powerful features that make debugging a breeze.
@@ -1074,6 +1078,21 @@ tstest test/api/endpoints.test.ts --verbose --timeout 60
## Changelog
### Version 3.1.1
- 🐛 Fixed TapTools parameter passing to suite lifecycle hooks (beforeAll/afterAll)
- 📦 Updated @push.rocks/smarts3 dependency to ^3.0.0
### Version 3.1.0
- 🎯 **postTask() API** - Global teardown method for cleanup after all tests
- 🏗️ **Suite beforeAll/afterAll** - Lifecycle hooks that run once per describe block
-**parallel() Fluent API** - New fluent entry point for parallel tests
- 📚 Enhanced tapbundle documentation with complete API reference
### Version 3.0.0
- 🔥 **BREAKING:** Renamed tapbundle_node to tapbundle_serverside for clarity
- 🔧 Migrated all server-side utilities to tapbundle_serverside
- 📦 Improved module separation and organization
### Version 2.4.0
- 🚀 **Multi-Runtime Architecture** - Support for Deno, Bun, Node.js, and Chromium
- 🔀 **New Naming Convention** - Flexible `.runtime1+runtime2.ts` pattern

View File

@@ -3,6 +3,6 @@
*/
export const commitinfo = {
name: '@git.zone/tstest',
version: '3.1.0',
version: '3.1.2',
description: 'a test utility to run tests that match test/**/*.ts'
}

View File

@@ -9,6 +9,10 @@
pnpm install --save-dev @git.zone/tstest
```
## Issue Reporting and Security
For reporting bugs, issues, or security vulnerabilities, please visit https://community.foss.global/. This is the central community hub for all issue reporting. Developers who want to sign a contribution agreement and go through identification can also get a code.foss.global account to submit Pull Requests directly.
## Overview
`@git.zone/tstest/tapbundle` is the core testing framework module that provides the TAP (Test Anything Protocol) implementation for tstest. It offers a comprehensive API for writing and organizing tests with support for lifecycle hooks, test suites, enhanced assertions with diff generation, and flexible test configuration.

View File

@@ -3,6 +3,7 @@ import * as plugins from './tapbundle.plugins.js';
import { type IPreTaskFunction, PreTask } from './tapbundle.classes.pretask.js';
import { type IPostTaskFunction, PostTask } from './tapbundle.classes.posttask.js';
import { TapTest, type ITestFunction } from './tapbundle.classes.taptest.js';
import { TapTools } from './tapbundle.classes.taptools.js';
import { ProtocolEmitter, type ITestEvent } from '../dist_ts_tapbundle_protocol/index.js';
import type { ITapSettings } from './tapbundle.interfaces.js';
import { SettingsManager } from './tapbundle.classes.settingsmanager.js';
@@ -645,7 +646,7 @@ export class Tap<T> {
// Run beforeAll hook for this suite
if (suite.beforeAll) {
await suite.beforeAll(new plugins.smartpromise.Deferred().promise as any);
await suite.beforeAll(new TapTools(null as any));
}
// Run beforeEach from parent suites
@@ -720,7 +721,7 @@ export class Tap<T> {
// Run afterAll hook for this suite
if (suite.afterAll) {
await suite.afterAll(new plugins.smartpromise.Deferred().promise as any);
await suite.afterAll(new TapTools(null as any));
}
// Emit suite:completed event

View File

@@ -9,6 +9,10 @@
pnpm install --save-dev @git.zone/tstest
```
## Issue Reporting and Security
For reporting bugs, issues, or security vulnerabilities, please visit https://community.foss.global/. This is the central community hub for all issue reporting. Developers who want to sign a contribution agreement and go through identification can also get a code.foss.global account to submit Pull Requests directly.
## Overview
`@git.zone/tstest/tapbundle_serverside` provides server-side testing utilities exclusively for Node.js runtime. These tools enable shell command execution, environment variable management, HTTPS certificate generation, database testing, object storage testing, and test asset management - all functionality that only makes sense on the server-side.
@@ -362,8 +366,21 @@ This module uses the following packages:
- [@push.rocks/smartfile](https://code.foss.global/push.rocks/smartfile) - File operations
- [@push.rocks/smartrequest](https://code.foss.global/push.rocks/smartrequest) - HTTP requests
## Legal
## License and Legal Information
This project is licensed under MIT.
This repository contains open-source code that is licensed under the MIT License. A copy of the MIT License can be found in the [license](../license) file within this repository.
© 2025 Task Venture Capital GmbH. All rights reserved.
**Please note:** The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file.
### Trademarks
This project is owned and maintained by Task Venture Capital GmbH. The names and logos associated with Task Venture Capital GmbH and any related products or services are trademarks of Task Venture Capital GmbH and are not included within the scope of the MIT license granted herein. Use of these trademarks must comply with Task Venture Capital GmbH's Trademark Guidelines, and any usage must be approved in writing by Task Venture Capital GmbH.
### Company Information
Task Venture Capital GmbH
Registered at District court Bremen HRB 35230 HB, Germany
For any legal inquiries or if you require further information, please contact us via email at hello@task.vc.
By using this repository, you acknowledge that you have read this section, agree to comply with its terms, and understand that the licensing of the code does not imply endorsement by Task Venture Capital GmbH of any derivative works.