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

@jnagra/dwim

v0.1.0

Published

Library that implements every API you need hallucinated.

Readme

DWIM

Library that implements every API you need hallucinated.

Try the playground →

Do what I mean. The largest library of functions in the world in practically a tiny number of bytes. Ask for a function and Gemini Nano writes it on your device. The next call reuses the implementation. No server, API key, or runtime dependencies.

Use it

npm install @jnagra/dwim
import DWIM, { randomIntInRange } from '@jnagra/dwim';

const { mergeSort } = DWIM;
console.log(await mergeSort([3, 1, 4, 1, 5]));
console.log(await randomIntInRange(0, 10));
console.log(await DWIM.math.PI);

Run this in a browser app with Chrome's Prompt API, on HTTPS or localhost. Nano doesn't run in Node. If the model download needs a click, call await DWIM.$init() from a click handler.

Calls and property values need await; arguments must be JSON data. Invented names work through DWIM.anything or destructuring. The playground also accepts arbitrary named imports; the npm module's named exports are fixed.

Curious what it wrote? await DWIM.$source('mergeSort') shows the code. await DWIM.$destroy() clears the cache and releases the model.

This is a joke that runs real, unsandboxed JavaScript. It can be wrong. If your app sets a Content Security Policy, it must allow unsafe-eval. Please definitely do not do that - this is a joke library!

Run the demo locally

With Node.js 20+:

git clone https://github.com/jasvir/dwim.git
cd dwim
npm ci
npm run demo

Open the printed URL in Chrome. Pick an example or write your own code; the second tab shows the functions DWIM came up with.

MIT licensed. Publishing and Pages setup.