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

@xcursus/cli

v0.6.0

Published

XCursus command line: validate projects, build static bundles and export standalone HTML, PDF and WebM from an explicit itinerary.

Readme

@xcursus/cli

Command line of XCursus: validate projects, pack them as .xcursus archives, build static bundles and export a standalone offline HTML, a PDF and a minimal WebM video from an explicit itinerary. It reuses core for validation and the published player for every rendering and capture; no editor or React.

xcursus validate project.json --json
xcursus pack project.json --out deck.xcursus
xcursus build project.json --out site
xcursus export html deck.xcursus --out deck.html
xcursus export pdf project.json --itinerary itinerary.json --out deck.pdf
xcursus export video project.json --itinerary itinerary.json --fps 30 --out deck.webm
  • Inputs: a project JSON (assets resolved inside its directory, no traversal or symbolic links), a .xcursus archive or a legacy .spatialdeck archive (read only; pack converts it to .xcursus).
  • Strict by default: embeds, plugins, remote resources and media outside a format profile fail with exit 1; --allow-partial writes placeholders and a manifest with status partial.
  • Every output has an ExportManifest (<out>.manifest.json, or export-manifest.json in a build) with resources, digests, licences, warnings, environment and the checks actually run. Private notes are never exported.
  • Outputs are written through a temporary file and an atomic rename; an existing output needs --overwrite.
  • PDF and video need Chromium for Playwright 1.64.1 (npx [email protected] install chromium); video also needs ffmpeg and ffprobe with a WebM encoder (VP9 preferred). Nothing is installed automatically; a missing tool exits with 2.
  • Exit codes: 0 success, 1 invalid project/itinerary/capability, 2 missing environment, 3 write or export failure.

@xcursus/cli/html exports the standalone HTML pipeline without Node APIs (standaloneHtml, verifyResources, the ExportKit type); XCursus Studio uses it, so its HTML export is the same file.

The export runtime (dist/runtime/xcursus-runtime.js) embeds the player and its third-party code; licences in dist/runtime/THIRD_PARTY_NOTICES.txt, also embedded in every HTML export. Install with npm install --global @xcursus/cli (or run npx @xcursus/cli). Licence: GPL-3.0-or-later. Formats and limits: DISTRIBUTION.md.