Notion app logo
Struggling to stay organized and effective? Learn to master your time and tasks with the Effectively Notion course!

Install NPM Dependency From GitHub URL

How to set up an NPM dependency from a GitHub URL in a package.json for SSH and HTTPS.

2019-10-26

I often find myself wanting to use changes that I've made for an NPM dependency in a personal fork.

NPM (and yarn) have a useful convention for pointing to a git repository instead in a project's package.json dependencies by pointing to the fork and optionally using a specific branch instead of giving it a version number.

Here's how to set that up in a package.json for SSH and HTTPS. This example uses the isomorphic-fetch package.

Convention for a basic configuration for a package using git:

git+{protocol}://{user}@{hostname}:{project owner}/{project}.git#{branch name}
  • protocol can be ssh or https.
  • user and hostname for logging in via git. Usually the user is git, especially for github.com and gitlab.com
  • project owner is either an organization or user
  • project is the repo
  • branch name (optional) is the branch you want to work off of

Install NPM dependency from GitHub via SSH

Following the example, a basic version composition for SSH looks like this:

git+ssh://git@github.com:matthew-andrews/isomorphic-fetch.git

By branch:

git+ssh://git@github.com:matthew-andrews/isomorphic-fetch.git#some-branch

Install NPM dependency from GitHub via HTTPS

Following the example, a basic version composition for HTTPS looks like this:

git+https://git@github.com:matthew-andrews/isomorphic-fetch.git

By branch:

git+https://git@github.com:matthew-andrews/isomorphic-fetch.git#some-branch

Example in the package.json

This is what the JSON would look like for dependencies in package.json:

{
    "dependencies": {
        "isomorphic-fetch": "git@github.com:matthew-andrews/isomorphic-fetch.git"
    }
}
Photo of Chase Adams

Hey, I'm Chase. I help aspiring entrepreneurs and makers turn their ideas into digital products and apps.

Freebies

Vector Arrow Scribbles
banner image for figma vector arrows scribbles

A figma community project of vectorized hand-drawn arrows.

Go To Figma
Vector Line Scribbles
banner for figma vector line scribbles

A figma community project of vectorized hand-drawn lines.

Go To Figma
Vector Shape Scribbles
banner image of figma vector shapes scribbles

A figma community project of vectorized hand-drawn shapes.

Go To Figma

Subscribe to my Newsletter

Every other week I publish the Curiously Crafted newsletter.

In it, I explore the intersection of curiosity and craft: the people who make stuff, what they make and the way they pursue the craft of making.

Online

I'm on almost all social media as @curiouslychase.

The curious logo of Chase Adams: glasses and a bow tie.stay curious.