npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@blankparticle/yoga-layout

v0.0.1-rc.1

Published

A drop-in TypeScript implementation of the Yoga layout engine

Downloads

55

Readme

@blankparticle/yoga-layout

A pure TypeScript implementation of the Yoga layout engine, optimized for JavaScript runtimes. It exposes the same ESM entry points as yoga-layout while avoiding the JavaScript-to-WebAssembly boundary.

The package name and repository name are provisional until publication. The implementation is validated against the upstream Yoga source snapshot pinned in upstream/yoga; the npm Yoga 3.2.1 package is retained as the compatibility reference used by Ink.

Using it as an override

Once published, a pnpm consumer can replace Yoga without changing application code:

{
  "pnpm": {
    "overrides": {
      "yoga-layout": "npm:@blankparticle/yoga-layout@<version>"
    }
  }
}

For local development, point the override at this directory instead:

{
  "pnpm": {
    "overrides": {
      "yoga-layout": "file:../yoga-layout-js"
    }
  }
}

The package ships compiled ESM and TypeScript declarations. Consumers do not need a TypeScript loader and do not compile the engine's source.

Development

vp install
vpr typecheck
vpr test
vpr build
vpr test:package
vpr benchmark
vpr benchmark:ink

The Ink benchmark links the checkout at ../../vadimdemedes/ink and runs the same Ink rerender workload in isolated processes against this engine and the npm Yoga 3.2.1 WASM build.

The test layers are:

  • the Yoga unit and generated conformance suites in test/;
  • differential scenarios in test/differential/, compared to the WebAssembly build from the pinned upstream commit;
  • a representative compatibility test against the npm Yoga 3.2.1 API used by Ink;
  • a built-package API smoke test in test/package/;
  • an Ink override fixture in integration/ink/.

Build the root package before running the Ink fixture:

vpr build
vp -C integration/ink install
vpr test:ink

Upstream source

upstream/yoga is an unmodified Git submodule. It keeps the C++ implementation and test corpus available for porting and auditing without mixing it into the package source. upstream/yoga-wasm-base64-esm.js is the matching conformance oracle used by the tests.

git submodule update --init

Yoga is Copyright (c) Meta Platforms, Inc. and affiliates and is distributed under the MIT license.