Skip to content

WASM build of Yoga, targeting the web worker runtime.

License

MIT, MIT licenses found

Licenses found

MIT
LICENSE
MIT
LICENSE_yoga-layout-wasm
Notifications You must be signed in to change notification settings

shuding/yoga-wasm-web

Repository files navigation

yoga-wasm-web

Yoga but in WebAssembly and ASM.js.

Usage

Install with your package manager:

pnpm i yoga-wasm-web
npm i yoga-wasm-web
yarn add yoga-wasm-web

ASM.js

To use the ASM.js build:

import initYoga, { ALIGN_CENTER } from 'yoga-wasm-web/asm'

const Yoga = initYoga()
const node = Yoga.Node.create()
node.setAlignContent(ALIGN_CENTER)

WASM

To use the WASM build (take Node.js as an example):

import fs from 'fs'
import initYoga, { ALIGN_CENTER } from 'yoga-wasm-web'

const Yoga = await initYoga(
  fs.readFileSync('./node_modules/yoga-wasm-web/dist/yoga.wasm')
)

const node = Yoga.Node.create()
node.setAlignContent(ALIGN_CENTER)

You can use other ways to provide the WASM binary too.

Contribution

To develop this project locally, you need to clone the repo and fetch the yoga submodule first. Also, emcc is required to build this project too.

After that, install npm dependencies:

pnpm i

And run the build script:

pnpm build

And run the tests:

pnpm test

Acknowledgements

This project was started as opinionated fork from pinqy520/yoga-layout-wasm