Skip to content

Commit 9716cc6

Browse files
imdj360claude
andcommitted
Update to version 0.5.0 with enhanced features and documentation
- Bump version from 0.0.1 to 0.5.0 - Update README with latest features and improvements - Document centralized TestData folder structure - Update installation commands with correct version numbers - Add package-all.sh script documentation - Update What's New section with v0.5.0 changes - Improve project structure documentation Key improvements in v0.5.0: - Centralized test data to TestData/Integration/ - Enhanced variable debugging for both engines - 105 passing integration and unit tests - Improved ConsoleTest with unified engine support - Better documentation and developer experience 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 169d510 commit 9716cc6

2 files changed

Lines changed: 72 additions & 53 deletions

File tree

README.md

Lines changed: 71 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -96,10 +96,10 @@ These tradeoffs ensure reliable, cross-platform debugging without slowing down t
9696

9797
```bash
9898
# macOS
99-
code --install-extension xsltdebugger-darwin-0.0.3.vsix
99+
code --install-extension xsltdebugger-darwin-darwin-arm64-0.5.0.vsix
100100

101101
# Windows
102-
code --install-extension xsltdebugger-windows-0.0.3.vsix
102+
code --install-extension xsltdebugger-windows-win32-x64-0.5.0.vsix
103103
```
104104

105105
2. **Create a debug configuration** in [.vscode/launch.json](#setting-up-a-debug-configuration)
@@ -124,23 +124,23 @@ These tradeoffs ensure reliable, cross-platform debugging without slowing down t
124124

125125
3. **Package and install locally**:
126126

127-
**Platform-specific packaging** (optimized size, only includes binaries for target platform):
127+
**Build both platforms at once** (recommended):
128128

129129
```bash
130-
# For macOS
131-
./package-darwin.sh
132-
code --install-extension xsltdebugger-darwin-*.vsix
133-
134-
# For Windows
135-
./package-win.sh
136-
code --install-extension xsltdebugger-windows-*.vsix
130+
./package-all.sh
131+
code --install-extension xsltdebugger-darwin-darwin-arm64-0.5.0.vsix
137132
```
138133

139-
**Universal packaging** (includes all platforms, larger file size):
134+
**Platform-specific packaging** (build individually):
140135

141136
```bash
142-
npx vsce package
143-
code --install-extension xsltdebugger-*.vsix
137+
# For macOS only
138+
./package-darwin.sh
139+
code --install-extension xsltdebugger-darwin-darwin-arm64-0.5.0.vsix
140+
141+
# For Windows only
142+
./package-win.sh
143+
code --install-extension xsltdebugger-windows-win32-x64-0.5.0.vsix
144144
```
145145

146146
## Usage
@@ -401,21 +401,35 @@ The workflow is split between a lightweight VS Code entry point and a .NET debu
401401

402402
See the [CHANGELOG](CHANGELOG.md) for detailed version history.
403403

404-
### Latest Release: v0.0.3
404+
### Latest Release: v0.5.0
405+
406+
**Test Infrastructure & Code Quality Improvements**
405407

406-
**Saxon .NET Engine Improvements**
408+
- Centralized test data to `TestData/Integration/` folder at repository root for better organization
409+
- All test projects now reference common test data location
410+
- Enhanced test coverage with 105 passing integration and unit tests
411+
- Improved ConsoleTest project with unified engine support (both Compiled and Saxon)
407412

408-
- Fixed compatibility issues with .NET 8+ using SaxonHE10Net31Api (community IKVM build)
409-
- XSLT 2.0/3.0 support now works cross-platform without Java
410-
- Same reliable approach used by Azure Logic Apps Data Mapper
413+
**Variable Debugging Enhancements**
411414

412-
**Key Features**
415+
- Enhanced variable instrumentation for both Compiled and Saxon engines
416+
- Improved variable capture and display in VS Code Variables panel
417+
- Better support for XSLT 2.0/3.0 variable debugging with Saxon engine
418+
- Added `CompiledMessageHandler` for enhanced compiled engine debugging
413419

414-
- Full debugging support for XSLT 1.0 with breakpoints and stepping
415-
- Transform execution for XSLT 2.0/3.0 (breakpoint debugging in development)
416-
- Inline C# scripting with `msxsl:script`
417-
- Variable inspection and XPath evaluation
418-
- Configurable log levels for troubleshooting
420+
**Engine Improvements**
421+
422+
- Unified console testing with `ProgramUsingEngineType.cs` supporting both engines
423+
- Better breakpoint context information and handling
424+
- Enhanced xsl:message support for debugging output
425+
- Improved XSLT 2.0/3.0 features support including accumulators
426+
427+
**Developer Experience**
428+
429+
- Platform-specific packaging with optimized binary sizes
430+
- Updated build scripts for both macOS (darwin-arm64) and Windows (win32-x64)
431+
- Comprehensive integration tests for both engines
432+
- Better documentation and code organization
419433

420434
## Contributing
421435

@@ -447,12 +461,10 @@ dotnet build XsltDebugger.DebugAdapter/
447461
# Run tests
448462
dotnet test XsltDebugger.Tests/
449463

450-
# Package for testing (platform-specific)
451-
./package-darwin.sh # macOS
452-
./package-win.sh # Windows
453-
454-
# Or package universal (all platforms)
455-
npx vsce package
464+
# Package for testing
465+
./package-all.sh # Build both macOS and Windows (recommended)
466+
./package-darwin.sh # macOS only
467+
./package-win.sh # Windows only
456468
```
457469

458470
### Platform-Specific Packaging
@@ -461,10 +473,11 @@ The extension supports platform-specific packaging to reduce file size by includ
461473

462474
#### Package Scripts
463475

464-
| Script | Platform | Extension Name | Includes |
465-
| -------------------------------------- | -------- | ---------------------- | ----------------------- |
466-
| [package-darwin.sh](package-darwin.sh) | macOS | `xsltdebugger-darwin` | osx-arm64 binaries only |
467-
| [package-win.sh](package-win.sh) | Windows | `xsltdebugger-windows` | win-x64 binaries only |
476+
| Script | Platform | Extension Name | Includes |
477+
| ------------------------------------ | --------------- | ---------------------- | ----------------------- |
478+
| [package-all.sh](package-all.sh) | macOS + Windows | Both platforms | Builds both packages |
479+
| [package-darwin.sh](package-darwin.sh) | macOS | `xsltdebugger-darwin` | osx-arm64 binaries only |
480+
| [package-win.sh](package-win.sh) | Windows | `xsltdebugger-windows` | win-x64 binaries only |
468481

469482
#### How It Works
470483

@@ -478,13 +491,12 @@ Each packaging script:
478491
#### Publishing to Marketplace
479492

480493
```bash
481-
# Build platform-specific packages
482-
./package-darwin.sh
483-
./package-win.sh
494+
# Build both platform packages
495+
./package-all.sh
484496

485497
# Publish each as a separate extension
486-
vsce publish -p YOUR_TOKEN --packagePath xsltdebugger-darwin-*.vsix
487-
vsce publish -p YOUR_TOKEN --packagePath xsltdebugger-windows-*.vsix
498+
vsce publish -p YOUR_TOKEN --packagePath xsltdebugger-darwin-darwin-arm64-0.5.0.vsix
499+
vsce publish -p YOUR_TOKEN --packagePath xsltdebugger-windows-win32-x64-0.5.0.vsix
488500
```
489501

490502
**Benefits:**
@@ -498,20 +510,27 @@ vsce publish -p YOUR_TOKEN --packagePath xsltdebugger-windows-*.vsix
498510
### Project Structure
499511
500512
```
501-
502513
XsltDebugger/
503-
├── src/ # TypeScript extension source
504-
│ ├── extension.ts # Main extension entry point
505-
│ └── test/ # Extension tests
506-
├── XsltDebugger.DebugAdapter/ # C# debug adapter
507-
│ ├── Program.cs # Debug adapter entry point
508-
│ ├── XsltDebugSession.cs # DAP implementation
509-
│ ├── CompiledEngine.cs # XSLT 1.0 engine
510-
│ ├── SaxonEngine.cs # XSLT 2.0/3.0 engine
511-
│ └── XsltInstrumenter.cs # Debugging instrumentation
512-
├── XsltDebugger.Tests/ # C# unit tests
513-
└── package.json # Extension manifest
514-
514+
├── src/ # TypeScript extension source
515+
│ ├── extension.ts # Main extension entry point
516+
│ └── test/ # Extension tests
517+
├── XsltDebugger.DebugAdapter/ # C# debug adapter
518+
│ ├── Program.cs # Debug adapter entry point
519+
│ ├── DapServer.cs # DAP protocol implementation
520+
│ ├── XsltCompiledEngine.cs # XSLT 1.0 engine with inline C#
521+
│ ├── SaxonEngine.cs # XSLT 2.0/3.0 Saxon engine
522+
│ ├── CompiledMessageHandler.cs # Message handling for compiled engine
523+
│ ├── SaxonDebugExtension.cs # Debug extension for Saxon
524+
│ └── XsltEngineManager.cs # Engine state management
525+
├── XsltDebugger.Tests/ # C# integration & unit tests (105 tests)
526+
│ ├── CompiledEngineIntegrationTests.cs
527+
│ ├── SaxonEngineIntegrationTests.cs
528+
│ └── [other test files]
529+
├── XsltDebugger.ConsoleTest/ # Console test harness
530+
│ └── ProgramUsingEngineType.cs # Unified engine testing
531+
├── TestData/ # Centralized test data
532+
│ └── Integration/ # Integration test XSLT & XML files
533+
└── package.json # Extension manifest
515534
```
516535
517536
## License

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "xsltdebugger",
33
"displayName": "XSLT Debugger",
44
"description": "A VS Code extension for debugging XSLT using a .NET Debug Adapter.",
5-
"version": "0.0.1",
5+
"version": "0.5.0",
66
"publisher": "DanielJonathan",
77
"repository": {
88
"type": "git",

0 commit comments

Comments
 (0)