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

@tadalabz/epeira

v1.1.0

Published

Node.js CLI and library to help transform the web into usable output: Markdown, JSON, and/or PDF

Readme

Epeira

Definition

epeira (noun): a spider of the genus Araneus

Description

Epeira is a Node.js CLI and library to help transform the web into usable output: markdown, JSON, and PDF.

It is built around one command surface:

  • epeira <url...> [options]
  • epeira --url <url> [--url <url> ...] [options]

Out of the box, epeira can:

  • fetch one or more URLs
  • normalize fetched content into a shared runtime shape
  • render readable markdown output
  • emit stable JSON output for automation
  • return pass-through fetched-content objects for inspection
  • render JavaScript-heavy pages through a browser-backed fetch path
  • route PDF content through the markdown-oriented output path
  • persist and reuse browser cookie/session state for continuity across runs

This package is currently built and verified on Node.js 24.x.

Installation

Install globally when you want the native epeira command available in your shell:

npm install -g @tadalabz/epeira
epeira https://example.com

Install locally when you want to run it through npx or npm exec:

npm install @tadalabz/epeira
npx epeira https://example.com

CLI Summary

For full command syntax, examples, and behavior details, use docs/USAGE.md.

epeira https://example.com
epeira https://example.com --output json
epeira https://example.com --output json --json-metadata-only
epeira https://example.com --output pdf --out content.pdf
epeira https://example.com --output no-op
epeira --url https://example.com --url https://example.org --continue-on-error

Options

  • --output markdown|json|pdf|no-op (default: markdown)
  • --json-metadata-only (JSON only)
  • --url <value> (repeatable)
  • --timeout <ms>
  • --render-js
  • --render-wait-ms <ms>
  • --user-agent <value>
  • --skip-tls-verify (insecure)
  • --session-state-in <path>
  • --session-state-out <path>
  • --session-profile <name>
  • --challenge-policy report|fail|fail-with-guidance
  • --continue-on-error
  • --out <path>
  • --help

Exit Codes

  • 0: all URLs succeeded
  • 1: failure, or stopped on first failure
  • 2: partial success with --continue-on-error
  • 3: challenge encountered with --challenge-policy fail|fail-with-guidance

Best Fit

Epeira is a strong fit when you want:

  • one focused tool that turns web pages into dependable, reusable content output
  • consistent results across multiple URLs in a single run
  • content that can serve both people (readable output) and systems (structured output)
  • a simple way to work with mixed web inputs, including rendered pages and PDFs, through one workflow

Quality Statement

Epeira is validated with automated tests across the CLI contract, fetch normalization, formatter behavior, and packaged deliverable surface. These checks confirm output-mode behavior, multi-URL handling, error semantics, and PDF routing.

Canonical Scope

This document is the high-level introduction to the package.

It tells you:

  • what epeira is
  • what runtime behavior it owns
  • what the published package contains
  • where to go next for command and output details

Published Surface

The published package includes:

  • README.md: this high-level package summary
  • bin/epeira: public CLI entrypoint
  • src/: runtime implementation
  • LICENSE: license text

CHANGELOG

v1.1.0

  • Added cookie/session-state controls: --session-state-in, --session-state-out, and --session-profile.
  • Added challenge response policy control: --challenge-policy report|fail|fail-with-guidance.
  • Added dedicated challenge exit code 3 for fail-on-challenge policy modes.
  • Added deterministic operator guidance output in fail-with-guidance mode.

v1.0.0

  • Initial release of epeira CLI with URL fetch pipeline and formatter outputs: markdown (default), json, pdf, and no-op.
  • Support for single and multi-URL workflows via positional URLs and repeatable --url.
  • Operator controls for timeout, JS rendering, custom user-agent, TLS-verify bypass, continue-on-error, and file output.