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

@jamunlabs/gameu-uno

v0.1.0

Published

UNO — gameu game

Readme

gameu-uno

UNO for the gameu lobby host.

  • 2–8 players, turn-based.
  • PixiJS renderer (canvas + sprite cache; vendored pixi.min.js).
  • Custom phone controller bundle in controller/ — the only game in the starter set that ships its own controller iframe (every player has a private hand to render). Loaded by the host's controller flow at template: "custom" with path: "/games/gameu-uno/controller/".

This game lives outside the gameu host repo as part of the gameu-games decoupling — each game ships in its own repo, npm-package-shaped, and reaches the host via POST /api/install (catalog tier) or via --external-game-dir (local dev).

Dev loop

Today, run from a gameu source clone:

cargo xtask run-game --game-dir /path/to/gameu-uno

Once @jamunlabs/gameu-cli ships to npm:

npm i -g @jamunlabs/gameu-cli
cd gameu-uno
gameu dev

Build

npm install
npm run build    # tsc — emits *.js next to *.ts
gameu build      # validates manifest + npm pack → .tgz

Layout

| File | Purpose | |---|---| | manifest.json | Bundle manifest (id, runtime, player counts, sdk_version). | | index.html | TV-side game iframe entry point. | | game.js | Boots the GameRunner with UnoReducer + UnoRenderer. | | reducer.js | Pure synchronous reducer; deck shuffle via seamed RNG, wild-color resolution, +2 / +4 stacking, victory detection. | | rules.js | Pure helpers: buildDeck, isPlayable, nextPlayer. | | renderer.js | PixiJS renderer; sprite cache for cards, ticker-driven motion, action toast pill. | | pixi.min.js | Vendored PixiJS v8 (~600 KB). Not built — copied as-is. | | dev_mode.js | Auto-drive resolvers gated on ?dev=1. | | controller/index.html | Custom controller bundle entry point. | | controller/seams.js | Seam registry for the custom controller flow. | | controller/controller.js | Controller flow file (mode-agnostic; pure seam invocations). | | controller/dev_mode.js | Auto-drive resolvers for the controller, gated on ?dev=1. | | *.ts | TypeScript source. |

Runtime contract

Same as other gameu games — loads /lib/* from the host, imports from @jamunlabs/gameu-sdk via the host importmap, sandboxed iframe — plus the custom controller iframe, which mounts at https://<host>/games/gameu-uno/controller/ and communicates with the phone-side flow via postMessage tagged gameu-controller (distinct from the gameu-bridge channel between game iframe and host).