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

@vasto-queue/dashboard

v0.1.0

Published

Shadcn-style dashboard UI package for Vasto.

Readme

@vasto-queue/dashboard

Shadcn-style dashboard UI package for Vasto.

Purpose

This package hosts the dashboard frontend as a workspace package instead of an example-only app. It targets the Supervisor-owned dashboard APIs exposed from @vasto-queue/core.

Expected backend endpoints

The UI expects a configurable API base (default: /api/dashboard) and uses these endpoints under that base:

  • GET /auth/config
  • GET /auth/session
  • POST /auth/login
  • POST /auth/logout
  • GET /overview
  • GET /queues
  • GET /jobs
  • GET /schedules
  • POST /schedules/:scheduleId/remove
  • POST /schedules/clear
  • GET /workers
  • GET /completed
  • GET /failed
  • GET /archive
  • GET /slo
  • GET /stream (HTTP polling fallback)
  • GET /ws (WebSocket transport)
  • GET /scaling
  • POST /scaling
  • POST /dlq/retry

Local development

Start a worker with dashboard enabled, for example from the Redis isolation example:

cd examples/redis-isolation
DASHBOARD_ENABLED=true npm run worker

Then start this UI package:

cd packages/dashboard
npm run dev

Open http://localhost:4173.

If your dashboard endpoint is customized, set VITE_DASHBOARD_ENDPOINT before starting the UI. Example:

VITE_DASHBOARD_ENDPOINT=/queue-manager npm run dev

If your backend runs on a non-default origin/port in local development, set VITE_API_TARGET as well. Example (Redis isolation API on port 3100):

VITE_API_TARGET=http://localhost:3100 npm run dev

Interactive auth

The published dashboard now renders its own login UI. Serve the static assets publicly, then protect only the API and WebSocket routes.

  • basic auth => username/password form posts to /auth/login
  • bearer + loginMode: 'token' => token input posts to /auth/login
  • bearer + loginMode: 'custom' => username/password form posts to /auth/login

On success, the backend returns the token that the dashboard should use on subsequent API and WebSocket requests.

Transport mode

By default, the dashboard uses WebSocket with automatic HTTP polling fallback.

For local development (npm run dev), you can still force polling at build/dev time:

VITE_DASHBOARD_TRANSPORT=polling npm run dev

For published/built dashboard assets, prefer runtime override (no rebuild needed):

<script>
  window.__VASTO_DASHBOARD_CONFIG__ = {
    transport: 'polling',
  };
</script>

You can also use a URL override for troubleshooting: ?transport=polling.