Skip to content

feat(runtime): support Yoga Wasm on Bun and Deno - #35

Merged
hyfdev merged 1 commit into
mainfrom
agent/yoga-wasm-runtime-smoke
Aug 16, 2026
Merged

hyfdev merged 1 commit into
mainfrom
agent/yoga-wasm-runtime-smoke

Conversation

@hyfdev

@hyfdev hyfdev commented Aug 16, 2026

Copy link
Copy Markdown
Owner

Summary

  • smoke-test the @taffyjs/yoga-wasm root and /load entries on Bun 1.2.0 and Deno 2.2.0 after the WASIP verification graph builds both packages
  • assert that both runtime entry points resolve to the generated Yoga WebAssembly package rather than a source alias or native backend
  • document Node.js, Bun, and Deno support consistently across the package table, package README, website, and project context records
  • clarify that @taffyjs/yoga is a native transport available on Node.js, Bun, and Deno while still excluding browser and WebAssembly backends

Why

The Yoga WebAssembly package is now implemented, but the runtime table still marked it as unavailable and CI did not exercise it on the supported Bun and Deno minimum endpoints. Its @taffyjs/wasm backend already supports both runtimes, including Deno without permission flags, and both Yoga public entries pass at the established minimum versions.

Validation

  • pnpm install --frozen-lockfile
  • pnpm exec vp run check:format
  • pnpm exec vp run check:lint
  • pnpm exec vp run check:wasm
  • pnpm exec vp run build:website
  • pnpm dlx bun@1.2.0 tests/taffyjs-yoga-wasm/runtime-smoke.mjs
  • pnpm dlx deno@2.2.0 run --node-modules-dir=manual tests/taffyjs-yoga-wasm/runtime-smoke.mjs
  • independent adversarial review: pass with no remaining material findings

@hyfdev
hyfdev marked this pull request as ready for review August 16, 2026 17:05
Copilot AI lite review requested due to automatic review settings August 16, 2026 17:05
@hyfdev
hyfdev merged commit 636b313 into main Aug 16, 2026
8 checks passed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR expands runtime support verification and documentation for @taffyjs/yoga-wasm across Bun and Deno, aligning the published runtime compatibility story with the now-implemented Yoga WebAssembly package and adding CI smoke coverage for the new supported runtimes.

Changes:

  • Add a runtime-only smoke harness for @taffyjs/yoga-wasm (root + /load) and run it on Bun 1.2.0 and Deno 2.2.0 in CI after the WASIP build.
  • Update the main README runtime table to mark @taffyjs/yoga-wasm as supported across Node/Bun/Deno and clarify permission expectations.
  • Synchronize runtime-support statements across package docs, website pages, and PCR docs.

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
tests/taffyjs-yoga-wasm/runtime-smoke.mjs Adds a Bun/Deno smoke test that imports both public Yoga Wasm entries and runs a minimal layout verification.
README.md Updates the runtime compatibility table to reflect Yoga Wasm support on Bun/Deno.
packages/taffyjs-yoga-wasm/README.md Documents Bun/Deno support (and Deno no-permissions claim) for Yoga Wasm.
apps/website/yoga/index.md Updates @taffyjs/yoga runtime support description to include Bun/Deno (native transport).
apps/website/yoga-wasm/index.md Updates @taffyjs/yoga-wasm runtime support description to include Bun/Deno.
.github/workflows/ci.yml Adds Bun and Deno smoke steps for @taffyjs/yoga-wasm in the WASIP job.
.agents/docs/technology-stack.md Updates CI description to include the new Yoga Wasm runtime smokes.
.agents/docs/taffyjs-yoga-wasm-package.md Updates the Yoga Wasm public contract/validation checklist to include Bun/Deno smoke expectations.
.agents/docs/intent.md Aligns the repo intent doc with Bun/Deno runtime support for @taffyjs/yoga and @taffyjs/yoga-wasm.
.agents/docs/architecture.md Updates architecture narrative to describe @taffyjs/yoga as a native transport for Node/Bun/Deno.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +10 to +19
const resolvedEntry = import.meta.resolve(packageName);
const resolvedLoadEntry = import.meta.resolve(loadEntryName);

if (!resolvedEntry.endsWith("/packages/taffyjs-yoga-wasm/dist/index.js")) {
throw new Error(`${packageName} resolved to an unexpected entry: ${resolvedEntry}`);
}

if (!resolvedLoadEntry.endsWith("/packages/taffyjs-yoga-wasm/dist/load.js")) {
throw new Error(`${loadEntryName} resolved to an unexpected entry: ${resolvedLoadEntry}`);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants