npm-buildpack

by nice-registry

GitHub Readme.md

Heroku Buildpack for npm Authentication

This is a Heroku buildpack that enables authenticated npm operations within a Heroku dyno.

It detects an NPM_AUTH_TOKEN environment variable and creates a .npmrc file.

It is the soul sister of the GitHub Buildpack.

See the blog post: npm and GitHub automation with Heroku

Usage

Use this one-liner to read your npm auth token:

cat ~/.npmrc | head -1 | sed 's/.*=//g'

Save the token in your Heroku app config:

heroku config:set GITHUB_AUTH_TOKEN=YOUR_TOKEN_HERE

Configure your app to use this buildpack:

heroku buildpacks:add --index 1 https://github.com/zeke/npm-buildpack

The next time you push your app to Heroku, this buildpack will create a .npmrc file containing your npm token in the base directory of the app:

heroku run bash
cat .npmrc
//registry.npmjs.org/:_authToken=00000000-0000-0000-0000-000000000000

Now you can perform authenticated npm operations on the dyno, including npm publish!

Tips

Tip: If you ever change the token, you'll need to redeploy the app to ensure a new .netrc file is created:

heroku config:set GITHUB_AUTH_TOKEN=NEW_TOKEN
git commit --allow-empty -m "update dat npm token"
git push heroku master

Tip: Heroku's node buildpack will install dependencies from package.json by default. If your app needs devDependencies to be installed too, set the following in your app environment:

heroku config:set NPM_CONFIG_PRODUCTION=false