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

npm-courier

v1.1.4

Published

[![npm version](https://badge.fury.io/js/npm-courier.svg)](https://badge.fury.io/js/npm-courier) ![npm](https://img.shields.io/npm/dt/npm-courier.svg)

Downloads

18

Readme

npm-courier

npm version npm

Delivers your local packages right to your projects without the need to use npm link.

The Problem

If you've ever developed an npm package. You know how annoying it is to test it locally with npm link. This problem gets even worse when you know that npm link behaves differently depending on your npm version; even when npm link works as expected, you'd need to link the package every time you made a change.

The Solution

npm-courier picks up your local package, and drops it into your project. You can also use it to automatically update your project whenever you make changes to the source code of your package. You can think of npm-courier as an alternative to npm link that does not use symlinks and has optional automatic reloading.

Installation

  1. npm install -g npm-courier
  2. Profit!

Usage

npm-courier acts like a courier (duh!). It picks up a package, and drops it off to recipients. In this case your recipients would be your projects that need to use the local module.

  1. Go to your local npm module.
  2. Run courier pickup.
  3. Go to your project root.
  4. Run courier drop <package name>

Additionally, if you want to run npm-courier so that it watches for changes in the package and automatically applies them to your project follow these additional steps:

  1. Go to your local npm module.
  2. Run courier watch

Now whenever any changes are detected, the package will be updated in all places where it has been dropped before.

Removing project as a drop location

If you drop a package in multiple locations, then using courier watch would update all the locations in which the package was dropped. In order to prevent this, run courier reset <package-name> in the root directory of your project when done. This will remove that project from the drop locations of the package. This will also change the project's package back to the published version that existed before.

Removing all drop locations

Basically if you want to start from scratch, use the appropriately named nuke command

courier nuke

Using package.json

In the case you're always testing the same package(s) in a project and don't want to manually type the package names in the terminal every time. You can add a courier key to your project's package.json and give it a value of an array with all the package names you'd like to drop. Note that you would still need to pickup the packages manually the first time. All commands that accept a package name would also work with this method.

Example:

  1. Go to packageA
  2. courier pickup
  3. Go to packageB
  4. courier pickup
  5. Add this to your project's package.json
"courier": ["packageA", "packageB"]
  1. In your project, run courier drop
  2. When done, run courier reset