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

v3222

v0.1.6

Published

Create an Android-first Lynx app with live development and native release builds.

Readme

Experimental Android-first Lynx app generator powered by Sparkling.

The first MVP deliberately covers Android only. It creates one project that supports live Lynx development, a native Android debug app, release APKs, and Android App Bundles.

Create a project

Requires Node.js 22.18+ or Node.js 24. Node.js 25 is not supported by the Sparkling template. Bun, npm, pnpm, and Yarn are detected automatically.

bunx v3222@latest my-app

Or with npm:

npx v3222@latest my-app

Running npm i v3222 only installs the package; npm does not execute generators during installation. Run an installed copy with npx v3222, or use npx v3222@latest without installing it first.

When no project name is passed, the interactive flow asks for it. It also lets you confirm or edit the Android application ID. The generator never initializes Git or creates a commit.

For automation:

npx v3222 my-app --package-id com.example.myapp

Project generation only creates the files and installs JavaScript dependencies. It does not invoke Gradle, install an Android app, or generate an APK/AAB.

Generated projects include editable artwork under assets/ for the Android icon, native splash screen, and the first Lynx screen. Android commands synchronize the branding artwork into native resources before building. These assets belong to v3222; they are not copied from Sparkling's default icon.

Generated commands

bun run doctor
bun run dev
bun run run:android
bun run build:android
  • dev starts the Rspeedy/Lynx preview with HMR and reports TypeScript errors during compilation.
  • run:android requires one authorized ADB device, builds and installs the debug app, configures and verifies USB port forwarding after installation, then force-relaunches the app against the development bundle. If the server or tunnel disappears, it safely falls back to the packaged bundle instead of leaving the app on Lynx error 10203.
  • build:android explicitly generates a release APK and AAB.
  • doctor checks Android tooling only.

Release signing is optional during development. The generated project includes a safe, gitignored android/keystore.properties workflow for Play Store uploads.

Current foundation

This experiment pins Sparkling 2.1.0-rc.33 because the stable 2.0.1 CLI does not include the required dev command. The generated Android project targets API 35 and upgrades the official native shell to Android Gradle Plugin 8.10.1 with Kotlin 2.2. It intentionally preserves Fresco 2.3.0 because Lynx 3.7's image service is binary-incompatible with Fresco 3.x. Release artifacts target ARM devices, while debug builds retain emulator ABI support.

The package does not need a create-<name> name while it is invoked with npx or bunx.

Package development

bun install
bun run check

📄 License

MIT © Gohit X — see LICENSE. Generated projects preserve Sparkling's Apache-2.0 license notice separately.