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

npmversioner

v1.0.2

Published

This module updates npm packge versions and dependency references

Downloads

2

Readme

NPM Versioner

This is the long awaited NPM Versioner. This tool does the following:

  1. Updates NPM interdependencies between our private NPM modules and Git repos
  2. Publishes updated NPM modules
  3. Displays a list of repos that need to be PR'd

Setup

  1. In the root of the app, create a file called basepathconfig.json
  2. Inside of the file, add the path to the folder that contains your git repositories:

{ "basePath": "/your/base/repo/path/here" }

Before running the app

  1. Make sure that you've cloned all of our repositories to your local machine.
  2. Make sure to merge in the latest Sift.Lib master branch from GitHub

Running the app

  1. node app
  2. Select the packages you've changed that need to be updated
  3. Confirm the change by typing y at the prompt if everything looks good
  4. The app will update and publish your packages then inform you of which github repos need to be committed to

Adding a new module

If you create a new module, add it to the config.json file using the format:

{
  "name": {package name},
  "description": {package description (optional)},
  "configLocation": {relative folder path to package.json location},
  "isNPM": {set to true if this is a sift.lib package}
}

Linking Script

We recommend npm linking all @sift packages on development machines. This ensures that you can write code and test it in real time without publishing to npm.

The siftliblinks.sh script in this repo will perform all of the necessary linking.

To run:

cd /your/git/directory
sudo chmod +x ./NpmVersioner/siftliblinks.sh #(first time only)
sudo chown -R {yourUserName} {/your/base/repo/path/here}
sudo chown -R /usr/local/lib/node_modules
./NpmVersioner/siftliblinks.sh '{/your/base/repo/path/here}'

Note: You MUST run this script inside of your git directory.

Bash Utilities

Get latest from all repos

** Please note the variables within the script: yourGitFolder, nameForBaseRemote

cd ~/{{yourGitFolder}}/
for i in $(ls -d Sift*/)
do
	cd ~/git/$i
	echo
	echo
	echo =========== Start updating $i ==============
	git remote update {{nameForBaseRemote}}
	if [ $(git rev-parse master) = $(git rev-parse {{nameForBaseRemote}}/master) ]
	then
		echo ++++++++++ $i is up to date ++++++++++
	else
		echo ======= Updating origin with upstream=====
		git checkout master
		git pull {{nameForBaseRemote}} master
	#	git push origin master
	#	echo ====== Updating local master =====
	       #	git pull --rebase
	fi
done

Install.js

The purpose of install.js is to install all node modules on sift lib.

To run simply type in node install