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

easythread-bun-example

v1.0.0

Published

Example demonstrating easythread with Bun

Readme

Easythread Bun Example

This example demonstrates how to use easythread with Bun for automatic Web Worker generation.

Features Demonstrated

  • Fibonacci calculation - Recursive computation that benefits from worker threads
  • Prime number checking - CPU-intensive algorithm running in parallel
  • Heavy computation - Mathematical operations with millions of iterations
  • Main thread responsiveness - Counter showing the main thread remains unblocked

Setup

  1. Install Bun if you haven't already:

    curl -fsSL https://bun.sh/install | bash
  2. Install dependencies:

    bun install

Running the Example

Method 1: Direct execution (with built-in transformation)

bun dev

Method 2: Build then run

bun run build
bun run dist/index.js

How It Works

  1. Function Annotation: Functions marked with /** @easythread */ are automatically transformed
  2. Worker Generation: The Bun plugin generates Web Worker code during build/runtime
  3. Promise-based API: All easythread functions return Promises for async handling
  4. Import Resolution: The plugin handles both relative and npm package imports

Key Benefits with Bun

  • Fast startup: Bun's performance makes worker creation even faster
  • Built-in TypeScript: No additional transpilation needed
  • ES modules: Native support for modern JavaScript features
  • Excellent compatibility: Works with both Web Workers and Node.js APIs

Code Structure

src/
├── index.ts     # Main application showing worker usage
├── utils.ts     # Functions marked with @easythread
└── build.ts     # Bun build configuration with easythread plugin

Expected Output

You should see output showing:

  • Main thread counter ticking every 100ms (proving responsiveness)
  • Fibonacci, prime checking, and heavy computation results
  • Timing information for each operation
  • Confirmation that computations ran in worker threads