swiftwasm/wasmtransformer
A package which provides transformation operation for WebAssembly binary. Inspired by [Rust implementation](https://github.com/wasmerio/wasmer-js/tree/master/crates/wasm_transformer)
Available transformations
lowerI64Imports
public func lowerI64Imports(_ input: [UInt8]) throws -> [UInt8]Inserts trampoline functions for imports that have i64 params or returns. This is useful for running Wasm modules in browsers that do not support JavaScript BigInt -> Wasm i64 integration. Especially in the case for i64 WASI Imports.
stripCustomSections
public func stripCustomSections(_ input: [UInt8]) throws -> [UInt8]Strip all custom sections from input WebAssembly binary.
Testing
- Set environment variable
SWIFT_TOOLCHAINto the path to your SwiftWasm toolchain.
e.g. $HOME/Library/Developer/Toolchains/swift-wasm-5.7.3-RELEASE.xctoolchain/usr
- Set up testing fixtures by:
(cd ./Fixtures/ && npm install && npm run build && make all) - Run
swift test
Package Metadata
Repository: swiftwasm/wasmtransformer
Default branch: main
README: README.md