vislyhq / stretch

High performance flexbox implementation written in rust
https://vislyhq.github.io/stretch/
MIT License
1.99k stars 107 forks source link

Making stretch-layout importable via ES Module CDN #103

Open trusktr opened 2 years ago

trusktr commented 2 years ago

This is possible with Yoga:

<script type="module">
    import yoga from 'https://jspm.dev/yoga-layout'

    // use yoga.Node, etc.
</script>

Need to investigate how they do it. The import * as wasm from './file.wasm' won't work because it is designed for someone to import using a build tool like Webpack.

Looks like they compile the Wasm to JavaScript for this use case: https://unpkg.com/browse/yoga-layout@1.9.3/build/Release/nbind.js

Looks like perhaps a combination of https://github.com/charto/nbind and emscripten with asm.js output.

jordan-schnur commented 2 years ago

@trusktr nbind seems to have been abandoned for some time and doesn't work natively with the current node LTS. I have also been looking for a way around this issue. I'd be interested to learn if you found anything.