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

igniteostuff

v1.1.1

Published

IGNITE OS · unblocker — fullscreen, frame-free mirror of https://ignite.joytree.site/ served from https://unpkg.com/igniteostuff

Readme

igniteostuff

IGNITE OS · unblocker — the full IGNITE OS dashboard at https://ignite.joytree.site/, displayed fullscreen, frame-free (no iframe), from a completely different link:

https://unpkg.com/igniteostuff

It looks and behaves exactly like the original site because it is the original site — the dashboard's three app files are baked into a fully self-contained page.html that ships inside this package and paints in milliseconds via document.open/write (so there is no iframe, no address-bar wrapper — just the dashboard, fullscreen). A background live-refresh silently swaps in the freshest copy whenever the real origin is reachable.

How it works

  1. Instant — page.html (HTML + CSS + JS all inlined, ~84 KB) is loaded from this very package (unpkg.com), so the site renders in milliseconds even when ignite.joytree.site is completely blocked on the network. No CORS, no fetch to the game domain needed.
  2. Rewritten — the site's /go/ (tunnel) and /lg/ (local games) endpoints are pinned to the real origin, so on networks where that domain is reachable, games and the Super Tunnel work exactly like normal.
  3. Live-refresh — the engine quietly re-fetches the real origin (direct, then one verified relay) and repaints with the current copy — but only if you haven't interacted with the dashboard yet, so your state is never lost.
  4. Paint — document.open() → write() → close() replaces this page with the dashboard. No iframes, no toolbar, no wrapper UI.

Unblock layers

| # | layer | what it does | |---|-------|--------------| | 1 | vendored | page.html from this package — always works, instantly, even fully offline from the game domain | | 2 | live refresh | fetches ignite.joytree.site directly (or via api.allorigins.win) just to update the shell with current content | | 3 | jump | if even the package itself is unreachable, shows a button that opens the original link |

Publish to unpkg.com (one-time)

You need an npm account (https://www.npmjs.com/signup).

cd igniteostuff
npm login
npm publish

That's it — unpkg picks the package up within minutes:

  • https://unpkg.com/igniteostuff (entry — index.html via unpkg field)
  • https://unpkg.com/igniteostuff/index.html (explicit file)

Updating after a site change

page.html is a snapshot — when you update IGNITE OS (new games in data.js, tweaks in app.js…), rebuild it, bump the version and republish so viewers get the new copy instantly (the live-refresh also picks it up on reachable networks, but the vendored snapshot is what makes it bulletproof):

npm run build            # rebuilds page.html from the bundled site files
npm version 1.1.0        # bump before republishing
npm publish

Test locally

The repo ships a smoke test that runs the exact rewrite the browser uses, against the real IGNITE OS files (stored in test/fixtures/), plus verifies the shipped page.html:

node igniteostuff/test/smoke.test.js     # offline checks
node igniteostuff/test/smoke.test.js --live   # + live refetch of the real site

Notes & limits

  • The unblocker only touches this one site — it is not a general proxy.
  • The dashboard (games list, themes, movies, Drive player, customizer) shows and works 100% from the unpkg link, no matter what.
  • Only one public relay is currently verified alive (api.allorigins.win); the dead ones (codetabs, corsproxy.io, cors.workers.dev) were dropped.
  • Games & the Super Tunnel are routed through the origin's own /go/ server — so if your network filters that domain hard, the dashboard still works but tunneled games won't load from this link either (same as the original link would behave on that network).
  • unpkg caches by package version — after publishing a bump, hard-refresh or use https://unpkg.com/igniteostuff@<version>.