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

ssotme

v0.0.3-alpha.14

Published

[SSoT.me Platform](http://SSoT.me) - The Single Source of Truth Toolbox!

Readme

SSoTme-Open-Source-Tools

SSoT.me Platform - The Single Source of Truth Toolbox!

Additional Docs

In addition to the summary below - there is additional documentation on the github.io site.

About A Single Source of Truth

Software based on a single source of truth is software that does not tolorate duplication of Authority. "Source Code" is frequently a terrible place for decisions about how software should work. SSoT development is based on the notion that there should always be one, Authoritative place for these decisions.

SSoTme is a command line package manager like NPM, Bower, Nuget, etc - however, the packages delivered are dynamic in nature. If 100 projects install a bower package, they all get the same bytes.

If, by contrast, 100 projects each install the same SSoT.me package, they will all get different bytes - because they will each be required to provide a single source of truth which describes their project. Since each project will start with a different SSoT - they will each get a package which works with their project. It will be the same KIND of content that the other projects all needed, but will differ in ways specific to each project.

Similarly - if you one project installs 10 SSoTme packages, they will all match each other, because they are all derived from the same SSoT. And any time that SSoT changes, all 10 packages will also update themselves to match the new "truth".

Open Source Tools

These tools are open source. Eventually, the SSoT.me Website, Coordinator as well as the Codee42 and Odxml42 toolsets will also be offered as open source tools as well. It's just a matter of getting them cleaned up a little bit first.

SSoT.me Architecture

SSoT.me is really a directory of Dynamic Packages (Transpilers). The distinction between static package managers like NPM and Bower is that each SSoT.me tool always requires INPUT. That input is then turned into something else. By Connecting these tools together end-to-end a "Transpiler Pipeline" can be created which, in a very dynamic, responsive and flexible way turns A into B. The transaction always follows this basic script though:

  1. The CLI gathers together the requeseted "input" (files, parameters, options, etc)
  2. The CLI packages everything into a "Zipped Json" Transpile Request
  3. The Transpile Request is sent to the SSoT.me coordinator
  4. The SSoT.me Coordinator determins which tool is being requested
  5. (down the road - The Coordinator Validates subscription and/or charges consumer)
  6. The Coordinator forwards the request to a Transpiler Host for the requested tool
  7. The Transpiler host processes the Transpile Request
  8. The Transpiler sends the Output directly back to the requesting CLI (the Coordinator is not involved in the response).

Installation

Installing the Windows SSoTme.exe command line tool will automatically update the path to include the CLI.

When you register for an account with SSoT.me - you will be emailed a secret key That file should be put in this location:

Key File: %USERPROFILE%/.ssotme/ssotme.key

{
   "emailAddress": "[email protected]",
   "secret": "your-secret-key-here-123abc"
}

If you have multiple accounts, the format key file should have ethis format: ssotme.{account-name}.key For example: ssotme.codee42.key

Syntax: ssotme -help

This command will show the following help.

ssotme [account/]transpiler [parameters,...] [options]

options:
   -account, -a          The account which the transpiler belongs to
   -addSetting, -as      Adds a setting to the SSoTmeProject
   -build, -b            Build any transpilers in the
                         current folder (or children).
   -buildAll, -ba        Builds all transpilers in the project
   -checkResults, -cr    Checks the result of a build linking up input
                         and output files of the transpiles.  Creates a
                         SPXML file in the DSPXml folder of the project.
   -clean, -c            Don't output the final results - instead, clean
   -cleanAll, -ca        Don't output the final results - instead, clean
   -createDocs, -cd      Creates documentation based on a DSPXml
                         file created with the -checkResults flag.
   -descibeAll, -da      Descibe all of the transpiler in the project
   -describe, -d         Describes the current SSoTme
                         project (and all transpilers)
   -emailAddress, -e     The email address for the account authenticating
   -execute, -exec       Executes the given command as a ProcessInfo.Start
   -help, -h             Show help about how to use the ssotme cli
   -includeDisabled,
   -id                   Include disabled tools in th ebuild
   -init                 Initialize the current folder as
                         the root of an SSOT.me project
   -input, -i            Input filename or comma separated list of file names
   -install              Saves the current command into the SSoTmeProject file
   -keyFile, -f          The keyfile to use.  By default
                         it looks for ~/SSOT.me/ssotme.key.
   -listSettings, -ls    List of project settings
   -output, -o           Output filename
   -parameters, -p       A list of parameters
   -preserveZFS, -rz     Determines if the input should be preserved.
   -removeSetting, -rs   REmoves a setting from the ssotme project
   -runAs, -ra           Run as this user (look for this user's key file)
   -secret, -k           The secret associated with that email address
   -skipClean, -sc       Don't clean the output before cooking
   -uninstall            Removes the current command
                         from the SSoTme project file
   -waitTimeout, -w      The amount of time to wait
                         for the command to continue