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

previewcron

v0.3.1

Published

Trigger & test your Vercel cron jobs locally or on preview deployments

Readme

previewcron

Trigger & test your Vercel cron jobs from a simple dashboard. Vercel only runs cron jobs in production — this tool lets you test them anywhere.

Usage

Run it in your project — no install, no setup, no files to add:

npx previewcron

It reads your cron jobs, opens a dashboard in your browser, and lets you trigger each one against your local dev server (default http://localhost:3000). Works with any framework — Next.js, SvelteKit, Astro, Remix, Nuxt…

Cron jobs are read the way Vercel resolves its config:

  1. vercel.json, or else .vercel/vercel.json — what vercel.ts / vercel.toml compile to after any vercel dev, vercel build or vercel deploy
  2. If that config has no crons key: .vercel/output/config.json — crons generated by your framework, after vercel build

Each run sends the same request Vercel's scheduler sends in production: a GET with user-agent: vercel-cron/1.0 and x-vercel-cron-schedule. Redirects are not followed — a 3xx is the final answer, as on Vercel.

Secrets are picked up automatically from your environment, .env.local, or .env:

  • CRON_SECRET → pre-fills the Authorization: Bearer … header (the same header Vercel sends in production)
  • VERCEL_AUTOMATION_BYPASS_SECRET → pre-fills the x-vercel-protection-bypass header

Because the dashboard runs locally, it can hit localhost directly — no CORS, no SSRF restrictions.

Options

npx previewcron [options]

  -p, --port <number>     Port for the dashboard (default: 4747)
  -b, --base-url <url>    Target app base URL (default: http://localhost:3000)
      --vercel-json <p>   Config file with "crons" (default: ./vercel.json, then .vercel/)
      --no-open           Do not open the browser automatically
  -v, --version           Print version
  -h, --help              Show this help

Your dev server runs on another port:

npx previewcron --base-url http://localhost:4000

Target a preview deployment (the dashboard proxies requests locally, so any URL works — use the bypass token field if the preview has Deployment Protection):

npx previewcron --base-url https://my-app-abc123-team.vercel.app

Testing preview deployments without the CLI

Prefer a hosted UI? Use previewcron.dev — paste your vercel.json, enter the preview URL, and trigger your crons from the browser.

Security

  • The dashboard binds to 127.0.0.1 only — it is never reachable from your network — and rejects requests from any other origin, so a website you visit cannot read your secrets or trigger your crons.
  • It only triggers the cron jobs from your config, never arbitrary URLs.
  • Secrets are only sent to the target you choose; nothing leaves your machine otherwise.

License

MIT — Ludovic Gueth

Links