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

@studiomorgana/cli

v0.6.5

Published

The Morgana CLI — build and deploy a Morgana project.

Readme

@studiomorgana/cli

Start here: npx @studiomorgana/cli init my-app, then the Morgana guide. morgana spec prints the full API; morgana types generates your project's types.

The morgana command — build and deploy a Morgana project.

npm i -g @studiomorgana/cli
morgana init my-app
cd my-app && npm install
npx morgana dev

Works with npm and pnpm. A new project includes a pnpm-workspace.yaml that allows esbuild's install script, so pnpm install exits cleanly on pnpm 11.

Commands

| | | |---|---| | morgana init [name] | scaffold a project — a config, one compile action, the directory layout | | morgana build | compile to dist/ | | morgana dev | compile, serve on :4317, recompile on change | | morgana deploy | build, publish, and check that the page and every asset it references serve | | morgana login | sign in through the worker in your browser; stores a project-scoped token | | morgana logout | forget the stored token | | morgana status | what the worker holds for this project |

Deploying takes no arguments

morgana deploy publishes to the Morgana cloud by default — the URL is compiled in, so a fresh project deploys without being told where to.

Credentials resolve in order, first match wins:

  1. --token
  2. MORGANA_TOKEN — how CI runs unattended
  3. the stored token from morgana login
  4. morgana login, run automatically in your browser when there is nothing else

Sign in once and every later deploy is silent. A credential is scoped to one project and expires; there is no shared deploy key, because a deploy uploads code that then executes on the worker.

Pointing somewhere else

Self-hosting is a supported destination, not a fork. Name your worker:

morgana deploy --url https://your-worker.workers.dev
# or
export MORGANA_URL=https://your-worker.workers.dev

Headless deploys

MORGANA_TOKEN=$(node tools/mint-token.mjs https://your-worker.workers.dev)

tools/mint-token.mjs signs in over HTTP with a generated identity, so a machine gets a real token rather than a shared secret. It ships in the framework repository rather than here, because it is only useful to someone deploying.

What deploy does and does not check

It verifies that the page loads and that every asset it references returns 200. It does not drive a browser — that would mean requiring Chrome on every machine that deploys. Whether the page actually works (stylesheet applied, runtime booted, no console errors) is checked in CI, where a browser is installed deliberately.

Licence

Apache-2.0