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

@mailwoman/map-tui

v9.2.0

Published

Terminal vector-tile map renderer — braille map frames for TUIs, from PMTiles.

Readme

@mailwoman/map-tui

A frame-first terminal map renderer. It decodes vector tiles from a PMTiles archive, rasterizes the visible layers, and resolves the result to a grid of terminal cells — braille-glyph map frames suitable for TUIs and other character-grid displays.

The unit of output is a MapFrame: frames are values, not side effects. Rendering never writes to stdout, an Ink component, or any other presentation layer directly — a caller reads the frame's cells and decides how (and whether) to draw them.

Tiles are never bundled with this package. Every render takes a caller-supplied PMTiles path (local file or remote archive), so callers own their own tile sourcing and coverage.

The browser

The package also ships map-tui, a full-screen interactive map for the terminal — the library's own frames, driven by a keyboard and a mouse.

npx @mailwoman/map-tui --tiles planet.pmtiles

It opens on the alternate screen, so your scrollback is untouched, and puts the terminal back exactly as it found it on the way out — including after Ctrl+C.

Keys

| Key | Does | | -------------------- | ----------------------------- | | | Pan an eighth of the viewport | | h j k l | Pan, for vim hands | | + = a | Zoom in one level | | - _ z | Zoom out one level | | q, Esc, Ctrl+C | Quit |

Mouse

If your terminal reports mouse events, the wheel zooms toward the pointer, dragging pans, and a click centers the map on the cell you clicked.

Flags

| Flag | Does | | --------------------- | ------------------------------------------------------------------------------------------------------------ | | --tiles <path\|url> | PMTiles archive — a local path or an https:// URL read via range requests. Defaults to $MAILWOMAN_TILES. | | --lat <deg> | Initial center latitude (default 0). | | --lon <deg> | Initial center longitude (default 0). | | --zoom <level> | Initial zoom, 0–24 (default 2 — a world view). | | --help, -h | Print the flags and key bindings. | | --version, -v | Print the package version. |

Where to get an archive

Protomaps publishes daily planet builds and a region extractor at protomaps.com/downloads. Any PMTiles archive with the protomaps-basemap layer names (earth, water, roads, boundaries, places, …) renders; other schemas decode fine but draw only the layers this package styles.

Working in this repo, the committed test fixture — a hand-authored slice of southeast Portland — is enough to see the browser run without downloading anything:

node map-tui/out/cli.js \
  --tiles map-tui/test/fixtures/portland.pmtiles \
  --lat 45.5034 --lon -122.6023 --zoom 12

The fixture is not published: test/ stays out of the tarball, so an installed copy needs a real archive.