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 🙏

© 2024 – Pkg Stats / Ryan Hefner

strong-tools

v5.2.0

Published

Package maintenance tools from StrongLoop

Downloads

479

Readme

strong-tools

Helpers for building, testing, staging, and releasing modules the way StrongLoop does.

Install from npmjs.org:

npm install -g strong-tools

Current commands

  • slt-release
    • Runs the strongloop/npm package variant of git flow
  • slt-changelog
    • Writes changelog
  • slt-stage
    • Updates version and runs npm publish, but only if the current registry is NOT npmjs.org
    • Requres Ruby 1.9+
  • slt
    • lint, CLA boilerplate, copyright headers, version manipulation, others...

slt-release

usage: slt-release [-hup] [VERSION]

Options:
  h   print this helpful message
  u   update the origin with a git push
  p   publish the package to npmjs.org

If VERSION is specified it must be a valid SemVer version (`x.y.z`)
or a valid version increment:
  major, minor, patch, premajor, preminor, or prepatch

If VERSION is NOT specified, then the version field in package.json is
used.

What slt-release will do:
 - generate a CHANGES.md file
 - increment package version in package.json and bower.json (if present)
 - commit CHANGES.md, package.json, bower.json, and npm-shrinkwrap.json
 - tag commit with an annotated tag
 - merge tag back in to base branch
   - IF npm-shrinkwrap.json was not previously part of that branch then
     it is filtered out of the merge. If you want the shrinkwrap to be
     permanent then it must be commited before running slt-release.

slt-release will abort if:
 - the tag matching the version already exists
 - the version has already been published
 - the version is not a valid SemVer string

Typical usage, if you want to examine the results before updating github
and npmjs.org:

  slt-release 1.2.3

If at this point you want to publish, follow the instructions slt-release
gave in the output, which will be something along the lines of:

  git checkout v1.2.3
  npm publish
  git checkout master
  git push origin master:master v1.2.3:v1.2.3

If you wish to abort or abandon the release, you will need to revert the
changes and delete the tag:

  git checkout master
  git reset --hard origin/master
  git tag -d v1.2.3

If you are comfortable with having slt-release perform the `git push` and
`npm publish` steps for you, you can use the -u and -p flags and slt-release
will do them for you.

  slt-release -up 1.2.3

slt-changelog

Generates a changelog, CHANGES.md, for the current repo.

Usage: slt-changelog [options]
    -v, --version VERSION            Version to describe as next version
    -s, --summary                    Print latest changes only, to stdout

Use slt-changelog to (re-)generate the CHANGES.md for the entire history of the repository.

Use slt-changelog -v x.y.z to update the changelog as part of the release process for version x.y.z.

Use slt-changelog -v x.y.z -s to generate the commit message for an annotated release tag to use when tagging release x.y.z.

slt-stage

For safety, this command refuses to run if npm config get registry returns the npmjs.org registry.

Compares the version in package.json with the latest version on the registry.

  • If the package.json version is higher, does npm publish.
  • If the registry version is higher, adds 0.0.1 to that version and publishes the module as that version.

slt commands

Usage: slt <CMD> [PKG]

Commands:
  lint        Perform a simple linting of the given package.json
  cla         Create or verify contribution guidelines
  license [F] Set package licensing to standard form F
      Form is auto-detected by default, it can be set explicitly to one of:
        --mit, --apache, --artistic
  copyright [F..]
              Insert/update copyright headers in JS source files. Uses git for
              copyright years and package.json for license reference.
  info        Display metadata about package
  version     Version manipulation
  semver      Wrapper for semver command from semver package
  shrinkwrap  Modify npm-shrinkwrap.json to remove all URLs
  help        Print this usage guide

Confirm license changes are acceptable with:
    git diff -M --cached -w --ignore-blank-lines

slt version

Usage: slt version <CMD> [ARGS]

Commands:
  inc [PKG...]   Increment version of specified packages
  inc [VER...]   Increment versions, printing new versions to stdout
  set VER [PKG]  Set version in PKG
  help           Display this usage

Currently the only practical slt version command is set, which operates similar to npm version with the following major differences:

  • does not commit any changes or create any tags

slt info

Some useful utilities for use in shell scripts, such as slt-release.

Usage: slt info <CMD> [ARGS]

Commands:
  name      Print package name
  version   Print package version
  released  Print latest version on npmjs.org
  repo      Print repo URL
  help      Display this usage

slt license

Re-generate current license in standard form

Current license is auto-detected from contents of package.json and any existing LICENSE or LICENSE.md file.

cd path/to/your/project
slt license
Set the license to a standard form

No auto-detection:

  • slt license --mit/--artistic/--custom

slt copyright

Looks at all the .js files in the current git repo and adds/updates a standard copyright notice to the top. The exact wording of the copyright statement is based on the license declared in package.json, your git author details, and the first and last commits made to a file (years only).