update wabt to fix wabt.js not working in strict mode
@dcodeIO To fix some bugs in wabt, a new version wabt need to be integrated. But the CI of this repo hasn't run for long time. Is this possible to reopen the CI and publish a new version to npm?
I guess the workflow has been automatically disabled quite a while ago, probably due to upstream changes not resulting in any changes to the build artifacts. Triggered the workflow manually now, let's see how that goes. If it works, we could merge just the changes to build.yml of this PR.
Hrm, seems there are errors upstream preventing the build from completing (see). If I'm not mistaken, there were some Emscripten changes a while ago also involving the removal of writeAsciiToMemory, and it looks like these changes haven't been addressed by the upstream repo yet, hence failing this repo's sanity tests.
Two possible paths:
- Fix the upstream bindings, which I'd prefer
- If not possible, downgrade Emscripten to the last known working version here
@dcodeIO Thank you very much!
This PR can fix the writeAsciiToMemory error. The writeAsciiToMemory is not removed, but it's not exported by default in new version emcc.
I have already fixed this bug in wabt by adding option in cmake file:
https://github.com/WebAssembly/wabt/pull/2367
It's the reason why I want to update wabt here.
By merging this PR, the build pipeline should work again.
The CI resets the wabt commit ID to lastest tag, which is 1.0.34 now. But the writeAsciiToMemory is not integrated in 1.0.34.
Shall we wait for next wabt release tag and rerun the CI?
Iirc the code to determine the version to build lives around here:
https://github.com/AssemblyScript/wabt.js/blob/72796586d0e03118e18f5f85278f4742091a847f/scripts/version.js#L43-L46
I guess we could either exclude the specific version, create a dummy tag in this repo, or wait for a new release upstream?
We can wait for a new release upstream.
No upstream release yet, but I fixed it otherwise.