Skip to content

WASM build of Yoga, targeting the web worker runtime.

License

Notifications You must be signed in to change notification settings

bitfrost/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

About

WASM build of Yoga, targeting the web worker runtime.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages

  • TypeScript 68.5%
  • JavaScript 20.8%
  • Makefile 10.7%