Skip to content

Conversation

@petersalomonsen
Copy link
Owner

@petersalomonsen petersalomonsen commented Aug 16, 2025

Summary

This PR fixes compatibility issues with modern Emscripten versions (3.1.74+) and resolves all test failures.

Changes:

  • Fix writeArrayToMemory deprecation - Replace with Module.HEAPU8.set() for Emscripten 3.1.74+ compatibility
  • Export HEAPU8 - Add to EXPORTED_RUNTIME_METHODS for browser compatibility
  • Fix test infrastructure - Properly capture exit codes in callWithOutput function
  • Fix nodefs test - Correct cleanup logic
  • Update dependencies - Update @web/test-runner packages to latest versions
  • Enhance documentation - Add detailed build instructions and current project status to README

Testing

All tests are now passing with Emscripten 4.0.13:

  • npm test - All 6 Node.js tests passing
  • npm run test-browser - All 18 browser tests passing
  • npm run test-browser-async - Async version works correctly

Compatibility

  • Emscripten: Tested with 4.0.13, compatible with 3.1.74+
  • Node.js: v18+
  • libgit2: v1.7.1

Breaking Changes

None - all changes maintain backward compatibility.

🤖 Generated with Claude Code

petersalomonsen and others added 3 commits August 16, 2025 11:45
- Replace writeArrayToMemory calls with Module.HEAPU8.set() in post.js and post-async.js
- Add HEAPU8 to EXPORTED_RUNTIME_METHODS for browser compatibility
- Fixes compatibility with Emscripten 3.1.74+ where writeArrayToMemory is no longer available by default
- All browser tests now pass with Emscripten 4.0.13

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Fix callWithOutput to properly capture and throw exit codes
  - Now captures the exit code returned by Module.callMain()
  - Throws error with exit code when command fails
  - Fixes git checkout and conflicts tests

- Fix nodefs test cleanup
  - Use clonedir variable instead of string literal in rmSync
  - Properly removes the test directory after test completes

All 6 Node.js tests now pass with Emscripten 4.0.13

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
…ject status

- Add compatibility section with supported versions
- Expand "Building and developing" section with:
  - Prerequisites list
  - Step-by-step Quick Start guide
  - Clear build commands for all variants (Debug/Release, sync/async)
  - npm dependencies and test commands
  - Development options (Codespaces and local)
  - Build outputs location
  - Current test status (all passing!)
  - Troubleshooting section for common issues
- Fix typo in test-browser-async link
- Update to reflect compatibility with Emscripten 4.0.13

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@petersalomonsen petersalomonsen changed the title chore: update test runner packages Fix Emscripten 3.1.74+ compatibility and all test failures Aug 16, 2025
@petersalomonsen petersalomonsen marked this pull request as ready for review August 16, 2025 12:57
@petersalomonsen petersalomonsen merged commit e824375 into master Aug 16, 2025
4 checks passed
@petersalomonsen petersalomonsen deleted the codex/create-draft-pr-for-package-updates branch August 16, 2025 13:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant