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

tiny-tells

v0.1.2

Published

Give your app's status a face: six tiny animated characters in one <tiny-tell> element.

Readme

Tiny Tells

Give your app's status a face. Six tiny characters drop in anywhere a spinner would go, and no two of them move the same way. People can tell at a glance whether things are working, done, broken, or waiting on them.

It's one custom element, <tiny-tell>, with no dependencies and about 14 KB min+gzip. It works in Chrome 99+, Firefox 112+, and Safari 16.4+.

See them live, and read the docs →

Pre-1.0. It's tested, but names and defaults may change before 1.0, so pin a version.

Use it

npm i tiny-tells
import 'tiny-tells';

To skip the build step, use the CDN script tag from the install guide, which always shows the current version.

Then add a tell, with words beside it that say what's happening:

<p><tiny-tell skin="dekatron" state="working" label=""></tiny-tell> <span role="status">Syncing 3 files…</span></p>

Change the state and the tell springs into the new one:

document.querySelector('tiny-tell').state = 'done';

The six tells are drones, flipdot, eyes, blot, dekatron, and lens. The five states are working, done, error, warning (waiting on a person), and idle. The docs cover sizing, color, accessibility, frameworks, testing, the play bundle, and the full API.

Develop

npm install
npm test
  • src/ is the source of truth, as plain ES modules. npm run build builds dist/ and the site in site/: the landing page, the docs, and the 404 page. Neither is committed, since CI builds them and the site deploys to GitHub Pages from main.
  • npm run serve serves the built site at http://127.0.0.1:4173/, the root it has on tinytells.dev, so the 404 page's absolute links work locally.
  • npm test runs Prettier, ESLint, the size budgets, the test-DOM and server checks, and the Playwright tests in Chromium, Firefox, and WebKit, including the canvas checks for live area, flashing, and loop seams.
  • The social card, the README strips, and the favicon PNGs are committed as finished images. Their renderers live in the private lab repo, so regenerating them after a tell changes is a manual step there.
  • Tests follow tests/README.md.

License

MIT