This is the Heroku buildpack for IBM SDK for Node.js applications.
Here's an overview of what this buildpack does:
- Downloads the IBM SDK for Node.js
- Uses the version of
npm
that comes bundled withnode
. - Puts
node
andnpm
on thePATH
so they can be executed with heroku run. - Caches the
node_modules
directory across builds for fast deploys. - Doesn't use the cache if
node_modules
is checked into version control. - Runs
npm rebuild
ifnode_modules
is checked into version control. - Always runs
npm install
to ensure npm script hooks are executed. - Always runs
npm prune
after restoring cached modules to ensure cleanup of unused dependencies.
For more technical details, see the heavily-commented compile script.
For more information about using Node.js and buildpacks on Heroku, see these Dev Center articles:
- Heroku Node.js Support
- Getting Started with Node.js on Heroku
- 10 Habits of a Happy Node Hacker
- Buildpacks
- Buildpack API
For most Node.js apps this buildpack should work just fine. If, however, you're unable to deploy using this new version of the buildpack, you can get your app working again by using the legacy branch:
heroku config:set BUILDPACK_URL=https://github.com/heroku/heroku-buildpack-nodejs#legacy -a my-app
git commit -am "empty" --allow-empty # force a git commit
git push heroku master
Then please open a support ticket at help.heroku.com so we can diagnose and get your app running on the default buildpack.
To make changes to this buildpack, fork it on Github. Push up changes to your fork, then create a new Heroku app to test it, or configure an existing app to use your buildpack:
# Create a new Heroku app that uses your buildpack
heroku create --buildpack <your-github-url>
# Configure an existing Heroku app to use your buildpack
heroku config:set BUILDPACK_URL=<your-github-url>
# You can also use a git branch!
heroku config:set BUILDPACK_URL=<your-github-url>#your-branch
Anvil is a generic build server for Heroku.
gem install anvil-cli
The heroku-anvil CLI plugin is a wrapper for anvil.
heroku plugins:install https://github.com/ddollar/heroku-anvil
The ddollar/test buildpack runs bin/test
on your app/buildpack.
heroku build -b ddollar/test # -b can also point to a local directory
For more info on testing, see Best Practices for Testing Buildpacks on the Heroku discussion forum.