Browsers: Multi-platform testing (Linux, macOS, Windows) due to platform-specific browser implementations
Server-side JS runtimes: Linux-only testing sufficient due to inherent cross-platform design
Support Tiers
Tier 1: Full Support
Environments that are fully supported with comprehensive automated testing in CI/CD and priority issue resolution.
Browsers
Fully Supported Browsers:
Chrome: Linux, macOS, Windows
Firefox: Linux, macOS, Windows
Edge: Windows only
Platform Scope:
All supported browsers tested with Transferable Streams support
CI/CD testing performed on all listed OS/browser combinations
Other combinations (e.g., Edge on Linux/macOS, Safari on any platform) fall under Community Support (Tier 3)
Version Support:
Only the latest stable versions of each browser are tested and supported
Browsers auto-update, so we focus on current stable releases
Older browser versions are not tested but may work due to backward compatibility
Features:
Web Workers
Streams API
WebAssembly
Transferable Streams (zero-copy)
Testing:
Comprehensive unit tests
Integration tests
Automated CI/CD testing on every commit
Node.js
Fully Supported Versions:
Node.js 20.x (LTS)
Node.js 22.x (LTS)
Node.js 24.x (Current)
Platform Scope:
All platforms supported: Linux, macOS, and Windows
CI/CD testing: Performed on Linux only (Ubuntu)
Cross-platform compatibility: Node.js is designed for cross-platform compatibility; testing on Linux provides confidence for all platforms
Support Policy:
LTS versions (20.x, 22.x): Full support with comprehensive testing on Linux; cross-platform support for macOS and Windows
Current version (24.x): Full support during its active release phase
Non-LTS versions (odd-numbered: 21.x, 23.x, etc.): Community support only - may work but not officially tested or supported
Why only LTS versions:
Node.js follows a predictable release schedule where even-numbered versions (20, 22, 24) become LTS and receive long-term support, while odd-numbered versions (21, 23) are short-lived and never enter LTS. We focus our testing and support efforts on LTS versions to provide stable, long-term compatibility while keeping CI/CD complexity manageable.
Why testing on Linux only:
Node.js is designed for cross-platform compatibility. Testing on Linux provides confidence that the library works across all platforms, as platform-specific differences for our use cases (Streams, Workers, etc.) are minimal.
Features:
Worker Threads
Streams API
Full encoding support (UTF-8, Shift-JIS, etc.)
WebAssembly
DecompressionStream
Testing:
Comprehensive unit tests
Integration tests
Performance benchmarks
Automated CI/CD testing on every commit
Tier 2: Active Support
Environments that receive active support with limited automated testing.
Deno
Supported Versions:
Deno 2.x (Latest LTS): 🟡 Active Support - All platforms (Linux, macOS, Windows)
Deno 2.x (Non-LTS): 🔵 Community Support - Not tested
Deno 1.x: 🔵 Community Support - Legacy version
Platform Scope:
All platforms supported: Linux, macOS, and Windows (Latest LTS only)
CI/CD testing: Performed on Linux only (Ubuntu)
Cross-platform compatibility: Deno is designed for cross-platform compatibility; testing on Linux provides confidence for all platforms
Support Policy:
Latest LTS version only: Active support with basic import test in CI/CD
Non-LTS versions: Community support only - may work but not officially tested or supported
Legacy versions (1.x): Community support only - no longer tested
Note on Deno LTS:
Deno introduced LTS support starting with v2.1.0 (November 2024) with releases every six months. We only test and support the latest LTS version in CI/CD. LTS versions receive security patches and critical bug fixes from the Deno team.
Why limited support:
While Deno should work with web-csv-toolbox due to Web API compatibility, we currently only perform basic import tests rather than comprehensive testing.
Why testing on Linux only:
Like Node.js, Deno is designed for cross-platform compatibility. Testing on Linux provides confidence that the library works across all platforms.
Features:
Web Workers API
Streams API
Full encoding support
WebAssembly
Testing:
Basic import and functionality test
No comprehensive test suite
Tier 3: Community Support
Environments that are not officially tested but may work on a best-effort basis.
Safari
Version: Safari (Latest)
Support Status: 🔵 Community Support
Key Limitations:
No Transferable Streams support (automatic fallback to message-streaming)
Cannot run automated headless tests in CI/CD
Status:
Should work with automatic fallback to message-streaming
No automated testing in CI/CD due to technical limitations
Headless Safari testing is not currently supported by Vitest's WebDriver provider
No official support guarantee
Community feedback welcome
Known Limitations:
No Transferable Streams support (automatic fallback to message-streaming)
Cannot run automated headless tests in CI/CD (technical limitation)
Why Safari is not tested in CI/CD:
Safari does not support headless mode with WebDriver, which is required for automated testing in CI/CD environments. This is a limitation of Safari's WebDriver implementation, not a limitation of this library.
Bun
Version: Bun 1.x
Support Status: 🔵 Community Support
Status:
May work due to Node.js and Web API compatibility
No automated testing
No official support guarantee
Community feedback welcome
Other Combinations
Community Support (Not Tested):
Edge on macOS/Linux - Expected to work but not officially tested
Node.js non-LTS versions (odd-numbered: 21.x, 23.x, etc.) - Any platform
Deno non-LTS versions - Any platform
Status:
Expected to work due to cross-platform nature of Web APIs and JavaScript runtimes
No automated testing in CI/CD
No official support guarantee
Community feedback welcome
Why not tested:
Browsers (Chrome/Firefox/Edge): Now comprehensively tested across Linux, macOS, and Windows in CI/CD (Vitest 4 stable browser mode enabled headless testing and parallel execution)
Server-side JS runtimes (Node.js/Deno): Cross-platform by design; testing on Linux provides sufficient coverage for macOS and Windows
Edge on non-Windows platforms: Edge is primarily a Windows browser; limited value in testing on other platforms
Non-LTS versions: Focus on stable LTS releases for reliable long-term support
Test complexity: Testing all possible combinations would exponentially increase CI/CD time and maintenance burden
If you use these combinations:
Please report issues or success stories to help improve support. We especially welcome feedback about environment-specific issues on macOS and Windows.
Feature Availability by Environment
Worker Thread Support
Environment
Status
Notes
Node.js LTS (All active LTS)
✅ Tested
Worker Threads
Chrome/Firefox/Edge
✅ Tested
Web Workers API
Deno LTS (Latest only)
🟡 Basic Test Only
Web Workers API
Safari
🔵 Untested
Web Workers API
Bun
🔵 Untested
Unknown
Stream Transfer (Zero-Copy)
Environment
Status
Notes
Node.js LTS (All active LTS)
✅ Tested
Transferable Streams
Chrome
✅ Tested
Transferable Streams
Firefox
✅ Tested
Transferable Streams
Edge
✅ Tested
Transferable Streams
Deno LTS (Latest only)
🟡 Basic Test Only
Transferable Streams
Safari
❌ Not Supported
Auto-fallback to message-streaming
Bun
🔵 Untested
Unknown
WebAssembly
Environment
Status
Notes
Node.js LTS (All active LTS)
✅ Tested
Full WASM support
Chrome/Firefox/Edge
✅ Tested
Full WASM support
Deno LTS (Latest only)
🟡 Basic Test Only
Full WASM support
Safari
🔵 Untested
Full WASM support (expected)
Bun
🔵 Untested
Unknown
Limitations:
UTF-8 encoding only
Double-quote (") as quotation character only
Encoding Support
Environment
UTF-8
Shift-JIS
EUC-JP
Other Encodings
Node.js LTS (All active LTS)
✅ Tested
✅ Tested
✅ Tested
✅ Tested (via TextDecoder)
Chrome/Firefox/Edge
✅ Tested
✅ Tested
✅ Tested
✅ Tested (via TextDecoder)
Deno LTS (Latest only)
🟡 Basic Test Only
🟡 Basic Test Only
🟡 Basic Test Only
🟡 Basic Test Only
Safari
🔵 Untested
🔵 Untested
🔵 Untested
🔵 Untested
Bun
🔵 Untested
🔵 Untested
🔵 Untested
🔵 Untested
Note: WebAssembly execution only supports UTF-8 encoding.
Important:
Node.js: All active LTS versions (currently 20.x, 22.x, 24.x) are supported on all platforms (Linux, macOS, Windows). CI/CD testing on Linux only
Deno: Only the latest LTS version is supported on all platforms (Linux, macOS, Windows). CI/CD testing on Linux only
Browsers: Only the latest stable versions at the time of testing are officially supported (browsers auto-update, so older versions are not tested)
Chrome: Tested on Linux, macOS, and Windows
Firefox: Tested on Linux, macOS, and Windows
Edge: Tested on Windows only
Testing Strategy:
Server-side JS runtimes: Linux-only testing provides cross-platform confidence due to inherent runtime compatibility
Browsers: Multi-platform testing required due to platform-specific implementations
Compatibility Notes
Automatic Fallbacks
web-csv-toolbox automatically falls back to more compatible execution methods when needed:
Stream Transfer → Message Streaming: When Transferable Streams are not supported (e.g., Safari)
WASM → JavaScript: When using non-UTF-8 encoding or non-standard quotation characters