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 🙏

© 2025 – Pkg Stats / Ryan Hefner

@arcmantle/esplot

v1.0.3

Published

Experimental data visualization library with TypeScript API and native desktop viewer

Downloads

12

Readme

ESPlot

⚠️ Experimental - This project is experimental and not feature complete, but the base functionality works.

ESPlot is a data visualization library that combines TypeScript/Node.js chart creation with a native desktop viewer. It allows you to programmatically generate charts using a simple API and display them in a dedicated viewer application.

This package is part of the Weave monorepo and can be built using the centralized build system from the project root.

How It Works

ESPlot consists of two main components:

  1. Core Library (TypeScript/Node.js): Provides functions for creating charts (bar charts, word clouds, etc.) using Chart.js
  2. Viewer (Go): A native desktop application that displays the generated charts in real-time

The workflow is:

  1. Your TypeScript/Node.js code calls chart functions like barChart()
  2. The library bundles the chart code using Vite
  3. The bundled code is sent to the viewer via HTTP
  4. The viewer displays the chart in a native window
  5. Multiple charts can be viewed with tabs

Setup

Quick Start

The easiest way to use ESPlot is to add it as a dependency to your project. The pre-built viewer binaries are included in the package:

npm install @arcmantle/esplot
# or with pnpm
pnpm add @arcmantle/esplot
# or with yarn
yarn add @arcmantle/esplot

Then you can directly start creating charts:

import { barChart } from '@arcmantle/esplot';

await barChart(
  { year: 2020, count: 10 },
  { year: 2021, count: 20 },
  { year: 2022, count: 15 }
);

Development Setup

If you want to build from source or contribute to the project:

Prerequisites

  • Node.js with TypeScript support
  • Go (latest version recommended)
  • pnpm (recommended package manager for the monorepo)

Building from Source

ESPlot is part of a larger monorepo. You can build it from the project root:

# From the monorepo root, build the ESPlot package
pnpm build-package @arcmantle/esplot

# Or build all packages
pnpm build

Building Individual Components

If you need to build components separately:

# Navigate to the ESPlot package directory
cd packages/core/esplot

# Build the TypeScript library and viewer binaries
pnpm build

# Or build components individually:
pnpm build-ts                    # TypeScript library only
pnpm build-viewer-windows        # Windows viewer binary
pnpm build-viewer-macos          # macOS viewer binary

Running the Demo

# Make sure the package is built first
pnpm build

# Run the demo
node demo/index.ts

Usage

import { barChart } from '@arcmantle/esplot';

// Create a bar chart
await barChart(
  { year: 2020, count: 10 },
  { year: 2021, count: 20 },
  { year: 2022, count: 15 }
);

The chart will automatically open in the ESPlot viewer window.

Features

  • Real-time chart display in native desktop window
  • Multiple chart support with tabbed interface
  • Built on Chart.js for rich visualization capabilities
  • TypeScript support with simple API
  • Cross-platform (Windows and macOS)

Current Chart Types

  • Bar charts
  • Word clouds (experimental)