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 🙏

© 2025 – Pkg Stats / Ryan Hefner

stdb-vm

v0.0.0

Published

SpacetimeDB Version Manager!

Downloads

3

Readme

STDB-VM

SpacetimeDB Version Manager (Windows only atm) ( This repo has no official association with SpacetimeDB )

This tool is useful when:

  1. Wanting to change STDB versions with ease (run old projects, git-bisect, upgrading etc.)
  2. Working on two STDB projects at the same time and switching relatively frequently.
  3. Frequently switching between two branches on different versions.
  4. Testing how old and new systems interact with each other:
    • e.g. test how old client generated bindings and UI interact with new DB updates/modules. Useful for live module updates, slow roll-outs, zero-downtime/non-forced/manual update systems, etc.
  5. Offline version switching.
  6. Loading the earliest and latest of versions.

Getting Started

Using:

npm i -g stdb-vm
stdb-vm <cmd> <args...> <options...>
# alias
stvm <cmd> <args...> <options...>

Set default version from release listings with --remote flag:

stvm set -r
# apply given env patch

Use --direct flag to point to different local versions simultaneously:

# Terminal 1
stvm set version-1 -d # apply given env patch
stvm start -l="host1" # please ensure host exists

# Terminal 2
stvm set version-2 -d # apply given env patch
stvm start -l="host2" # please ensure host exists

# later - return to default instance
stvm use-default 

Developing:

# clone, then:
npm i
npm start -- <cmd> <args...> <options...>

# Generate cli docs
npm run docs

# build
npm run build
npm run built:Test -- <cmd> <args...> <options...>

# test globally (make sure to build first!)
npm install -g .
npm uninstall -g stdb-vm

Todo:

  • [x] Selection lists
  • [ ] Publish: Build, npm dist, and make globally accessible
  • [ ] Refactor (cmd route like directories, group vue and commander cmds, components dir)
  • [x] Doc generations (determine if cmd or import, iterate over help)
  • [ ] Add support for other OS's
  • [ ] Pure semver support so you don't have to be picky with tag names
    • https://docs.npmjs.com/cli/v6/using-npm/semver
  • [ ] Use loading bar component for downloads
  • [ ] rmdb cmd to remove db's in .spacetime/versions

I wonder if perhaps I should only allow -d to be applied via env patch so people don't wind up stuck on a direct version without realizing.

Docs

Usage: stdb-vm [options] [command]

Alias: stvm

SpacetimeDB Version Manager!

Options:
  -V, --version    output the version number
  -h, --help       display help for command

Commands:
  current          Show active SpacetimeDB version and path.
  set [options]    Set active SpacetimeDB version by tag name. (Has selector
                   for no args)
  use-default      Set SpacetimeDB path back to default
                   `{homeDir}/SpacetimeDB`.
  latest           Check latest release on github.
  list             List downloaded SpacetimeDB versions.
  releases         List SpacetimeDB releases on github.
  load [options]   Download SpacetimeDB version. (Has selector for no args)
  rm [options]     Delete SpacetimeDB version. (Has selector for no args)
  start [options]  Start SpacetimeDB runtime in a version specific DB directory.
    (
      Mitigates versions introducing breaking changes on default.
      Also avoids file lock, allowing multiple versions to run at once.
    )
  help [command]   display help for command
Usage: stdb-vm current [options]

Show active SpacetimeDB version and path.

Options:
  -h, --help  display help for command
Usage: stdb-vm set [options]

Set active SpacetimeDB version by tag name. (Has selector for no args)

Options:
  <version>     Specific version to set.
  -d, --direct  Use direct path to SpacetimeDB Version rather than replacing
                default.
  -r, --remote  Set version from remote release list.
  -h, --help    display help for command
Usage: stdb-vm use-default [options]

Set SpacetimeDB path back to default `{homeDir}/SpacetimeDB`.

Options:
  -h, --help  display help for command
Usage: stdb-vm latest [options]

Check latest release on github.

Options:
  -h, --help  display help for command
Usage: stdb-vm list [options]

List downloaded SpacetimeDB versions.

Options:
  -h, --help  display help for command
Usage: stdb-vm releases [options]

List SpacetimeDB releases on github.

Options:
  -h, --help  display help for command
Usage: stdb-vm load [options]

Download SpacetimeDB version. (Has selector for no args)

Options:
  <version>   Download specific version.
  -h, --help  display help for command
Usage: stdb-vm rm [options]

Delete SpacetimeDB version. (Has selector for no args)

Options:
  <version>   Specific version to remove.
  --all       Download specific version.
  -h, --help  display help for command
Usage: stdb-vm start [options]

Start SpacetimeDB runtime in a version specific DB directory.
  (
    Mitigates versions introducing breaking changes on default.
    Also avoids file lock, allowing multiple versions to run at once.
  )

Options:
  <args...>   argument passthrough to `spacetime start`
              (Note: non-flag arg will override versioned db path)
  -h, --help  display help for command