A native MoonBit implementation of checksum management for WebAssembly toolchains. Fetches releases from GitHub, computes SHA256 checksums, validates integrity, and maintains a comprehensive JSON registry.
Note
Part of the PulseEngine toolchain. Supports hermetic builds in rules_moonbit.
- Native MoonBit implementation of checksum management
- GitHub API integration for fetching latest releases
- SHA256 computation with native MoonBit crypto
- Async/Await support with parallel processing
- Validation system with strict modes and auto-fix capabilities
- Multiple output formats (text, JSON, markdown)
# Update all tool checksums
checksum_updater update --all
# Update specific tools
checksum_updater update --tools wasm-tools,wit-bindgen
# Validate checksums
checksum_updater validate --all
# Validate with auto-fix
checksum_updater validate --all --fix
# List available tools
checksum_updater list --detailedgraph TD
A[Main CLI] --> B[UpdateEngine]
A --> C[Validator]
B --> D[ChecksumManager]
C --> D
D --> E[JsonUtils]
D --> F[HttpClient]
E --> G[JSON Files]
F --> H[GitHub API]
- ChecksumManager — Core checksum management, JSON I/O, platform pattern matching
- UpdateEngine — Orchestrates multi-tool updates with parallel processing
- Validator — Format validation, issue detection, automatic fixes
- JsonUtils — JSON serialization, version merging and updates
- HttpClient — GitHub API interactions, rate limit handling
- WebAssembly Tools: wasm-tools, wit-bindgen, wasmtime, wasi-sdk
- MoonBit Tools: moonbit compiler
- Rocq Tools: rocq compiler
- Other Tools: tinygo, nodejs, jco
darwin_amd64(macOS Intel)darwin_arm64(macOS Apple Silicon)linux_amd64(Linux x86_64)linux_arm64(Linux ARM64)windows_amd64(Windows x86_64)
# Build
bazel build //:checksum_updater
# Run tests
bazel test //:test_runner
# Run the CLI
bazel run //:checksum_updater -- update --allApache-2.0
Part of PulseEngine — formally verified WebAssembly toolchain for safety-critical systems