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

@elaraai/e3-ui-cli

v1.0.42

Published

Render east-ui / e3-ui components to PNG from the command line (e3-ui shot)

Downloads

1,881

Readme

e3-ui CLI

Render east-ui / e3-ui components to PNG from the command line.

License Node Version

e3-ui CLI renders East UI components — East functions returning a UIComponentType — to PNG images using headless Chromium, for automating UI/UX reviews and generating screenshots. The East→React renderer is pre-bundled into the package; the component is injected as data at runtime, so the only runtime dependency is the browser engine.

Features

  • Component screenshots: render a .ts/.tsx source (--from-source) or serialized .beast2/.json IR (--from-ir) to a PNG.
  • Live task screenshots: render a deployed e3 UI task's output with real, already-computed workspace data (--from-task).
  • Self-contained: the renderer (React + Chakra UI v3 + the full component set) is pre-bundled; no app server or build step at use time.
  • Consistent with e3-cli: extension-based format detection with a --from override, -o/--output, and esbuild TypeScript loading.

Installation

npm install -g @elaraai/e3-ui-cli   # small — downloads no browser
e3-ui install-browser               # one-time: fetch the version-matched headless Chromium

The CLI depends on playwright-core (no install-time browser download). e3-ui install-browser fetches the chromium-headless-shell build (~100 MB lighter than full Chromium, no X11/D-Bus libraries) into the shared playwright cache, version-matched to the CLI. On a fresh Linux server, add the OS libraries in the same step:

sudo e3-ui install-browser --with-deps   # Linux only; Windows/macOS need no system libraries

If the CLI already finds a system-installed Chrome/Chromium/Edge, install-browser is optional — the launch order is:

  1. E3_UI_CHROMIUM_PATH (or PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH) — an explicit executable wins.
  2. The playwright-managed cache (what install-browser fills; honors PLAYWRIGHT_BROWSERS_PATH).
  3. A system Chrome / Chromium / Edge at the standard per-OS locations. Ubuntu's snap chromium is detected and skipped — its confinement breaks automation; use Google Chrome's .deb or install-browser instead.

Under the hood the CLI starts a throwaway local web server for its prebuilt renderer, launches headless Chromium at it, injects your component, and screenshots the result. Chromium runs sandbox-off (playwright's default) — appropriate for rendering trusted local components, and why running as root on a server just works.

Headless servers & CI

e3-ui doctor   # diagnoses the browser setup: env overrides, launch cascade, remediation
  • Share one browser cache across users/agents with PLAYWRIGHT_BROWSERS_PATH=/opt/pw-browsers (set it for both install-browser and shot).
  • Reinstalling/upgrading the CLI can move to a new browser revision — if shot reports a missing executable, re-run e3-ui install-browser.
  • Docker: mcr.microsoft.com/playwright images work out of the box, or add e3-ui install-browser --with-deps to your own image.

Quick Start

# A .tsx exporting an East function returning a UIComponentType:
e3-ui shot --from-source ./dashboard.tsx -o dashboard.png

# Pick one export, set a viewport, also emit standalone HTML:
e3-ui shot --from-source ./widgets.tsx --export statCard --viewport 800x600 --html

# Serialized component IR (e.g. produced by an e3 export):
e3-ui shot --from-ir ./component.beast2 -o component.png

# A live e3 UI task's rendered output (dataflow must have already run):
e3-ui shot --from-task main.dashboard --repo ./my-repo -o dashboard.png

Sources

One screenshot verb, one source per run (mirroring e3-cli's --from-zip / --from-source):

| Source | Description | |---|---| | --from-source <file> | A .ts/.tsx component source. Static and State-only components render with no backend. Runs the file and its imports as Node code (like ts-node) — only point it at code you trust. | | --from-ir <file> | Serialized component IR (.beast2/.json); - reads from stdin. | | --from-task <ws.task> --repo <repo> | A live e3 UI task's output with real bound data (via @elaraai/e3-api-client). The workspace dataflow must have already produced the task output. |

e3-ui shot --help lists all flags (--export, --output, --html, --viewport, --dpr, --full-page, --element, --wait, --timeout, --storage-key).

--from-source also accepts a file exporting an e3 ui() task (e.g. a create-e3 --ui scaffold's src/ui/index.tsx) — the task's stored component function is rendered. Tasks with compute-time inputs can't render standalone; use --from-task against a deployed workspace for those.

Programmatic API

import { renderToPng } from "@elaraai/e3-ui-cli";

await renderToPng({
    input: { path: "./dashboard.tsx" },
    output: "dashboard.png",
});

Development

make build, make test, make lint from this directory. See MAKEFILE_TARGETS.md for the full target list. The browser app under app/ is bundled into dist/app by scripts/build-app.mjs as the second half of make build.

Documentation

License

Dual-licensed under AGPL-3.0 and a commercial license. See LICENSE.md.

Ecosystem

  • East: Statically typed, expression-based language with serializable IR. Run portable logic across TypeScript, Python, C, and other runtimes.

    • @elaraai/east: Core language SDK with type system, expressions, and reference JS compiler
  • East Node: Node.js platform functions for I/O, databases, and system operations.

  • East C: C11 native runtime for executing East IR. Tarballed for linux-x64 and linux-arm64, attached to each GitHub Release.

    • east-c: Core runtime — type system, IR interpreter, 200+ builtins, serialization (Beast2, JSON, CSV, East text)
    • east-c-std: Console, FileSystem, Fetch, Crypto, Time, Path, Random
    • east-c-cli: CLI for running East IR programs natively
  • East Python: Python runtime, standard platform, I/O, and data-science platform functions. Published to PyPI.

    • east-py: Core Python runtime — type system, IR compiler, 212+ builtins, Cython-accelerated hot paths
    • east-py-std: Console, FileSystem, Fetch, Crypto, Time, Path, Random
    • east-py-io: SQLite, PostgreSQL, MySQL, MongoDB, Redis, S3, FTP, SFTP, XLSX, XML, compression
    • east-py-cli: CLI for running East IR programs in Python
    • east-py-datascience (PyPI) + @elaraai/east-py-datascience (npm): Optimization (MADS, Optuna, ALNS, GoogleOR), ML (XGBoost, LightGBM, NGBoost, PyTorch, Lightning, GP), Bayesian inference (PyMC), explainability (SHAP), conformal prediction (MAPIE)
  • East UI: Typed UI component definitions and React renderer, plus VS Code preview.

  • e3 — East Execution Engine: Durable execution engine for running East pipelines at scale. Git-like content-addressable storage, automatic memoization, reactive dataflow, real-time monitoring.

Links

  • Website: https://elaraai.com/
  • Repository: https://github.com/elaraai/east-workspace
  • Issues: https://github.com/elaraai/east-workspace/issues
  • Email: [email protected]

About Elara

East is developed by Elara AI Pty Ltd, an AI-powered platform that creates economic digital twins of businesses that optimize performance. Elara combines business objectives, decisions and data to help organizations make data-driven decisions across operations, purchasing, sales and customer engagement, and project and investment planning. East powers the computational layer of Elara solutions, enabling the expression of complex business logic and data in a simple, type-safe and portable language.


Developed by Elara AI Pty Ltd.