This fork runs grunt and bower if installed from package.json and properly configured.
Here's an overview of what this buildpack does:
- Uses the semver.io webservice to find the latest version of node that satisfies the engines.node semver range in your package.json.
- Allows any recent version of node to be used, including pre-release versions.
- Uses an S3 caching proxy of nodejs.org for faster downloads of the node binary.
- Discourages use of dangerous semver ranges like
*
and>0.10
. - 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:
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
For more detailed information about testing buildpacks, see CONTRIBUTING.md
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.