npm support for Capistrano 3.x
Add this line to your application's Gemfile:
gem 'capistrano', '~> 3.1.0'
gem 'capistrano-npm'And then execute:
$ bundle
Or install it yourself as:
$ gem install capistrano-npm
Require in Capfile to use the default task:
require 'capistrano/npm'The task will run before deploy:updated as part of Capistrano's default deploy,
or can be run in isolation with cap production npm:install
Configurable options:
set :npm_target_path, -> { release_path.join('subdir') } # default not set
set :npm_flags, '--production --silent --no-progress' # default
set :npm_roles, :all # default
set :npm_env_variables, {} # default
set :npm_method, 'install' # defaultAs of version 5.7.0 of npm, a new install method (ci) was introduced which utilises
the package-lock.json file. Change npm_method to ci in order to use make
use of the improved installation method.
npm allows for normal dependencies and devDependencies. By default this gem uses '--production --silent --no-progress' as the install flags which will only install dependencies and skip devDependencies. If you want your devDependencies installed as well, then remove --production.
- Fork it
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create new Pull Request