BREAKING CHANGE(tapbundle_serverside): Rename Node-specific tapbundle module to tapbundle_serverside and migrate server-side utilities

This commit is contained in:
2025-11-19 21:43:15 +00:00
parent 3ab5550cb8
commit 41d7c1ce49
13 changed files with 59 additions and 23 deletions

View File

@@ -318,9 +318,34 @@ tstest provides multiple exports for different use cases:
- `@git.zone/tstest` - Main CLI and test runner functionality
- `@git.zone/tstest/tapbundle` - Browser-compatible test framework
- `@git.zone/tstest/tapbundle_node` - Node.js-specific test utilities
- `@git.zone/tstest/tapbundle_serverside` - Server-side testing utilities for Node.js-only tests (*.node.ts files)
- Execute shell commands during tests
- Manage environment variables on-demand with secure storage
- Generate self-signed HTTPS certificates for testing secure connections
- Create ephemeral MongoDB instances for database testing
- Create local S3-compatible storage for object storage testing
- Download and manage test assets (e.g., Docker images)
- `@git.zone/tstest/tapbundle_protocol` - Protocol V2 emitter and parser for TAP extensions
### When to Use tapbundle_serverside
Use `@git.zone/tstest/tapbundle_serverside` when your tests:
- Run exclusively on Node.js server-side (*.node.ts test files)
- Need to execute shell commands or interact with the file system
- Require environment variable management with secure on-demand prompts
- Test HTTPS servers and need self-signed certificates
- Interact with databases (MongoDB) and need ephemeral test instances
- Work with object storage (S3-compatible) and need local testing
- Require test assets like Docker images or other downloadable files
**Important:** tapbundle_serverside utilities are NOT available in:
- Browser environments
- Deno runtime
- Bun runtime
For cross-runtime tests, only import tapbundle_serverside in `.node.ts` files where you need server-side specific functionality.
## tapbundle Protocol V2
tstest includes an enhanced TAP protocol (Protocol V2) that extends standard TAP 13 with additional metadata while maintaining backwards compatibility.