capistrano-nvm 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/README.md +16 -8
- data/capistrano-nvm.gemspec +2 -2
- data/lib/capistrano/tasks/nvm.cap +27 -18
- metadata +13 -27
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 02a785e076b46e058dae28e65c8a47acb52b5523
|
4
|
+
data.tar.gz: b4344bd9759ff77368f7a7fcfc0f55bd503e2579
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 0b8602193ca3e4c0711be0b72baf308a76b37773e0dffd578d25f8fc61834daed1e430243a9a26b61aea9aa8ff22f42d263810c7b479f0f6f8a6f6e14ba7357c
|
7
|
+
data.tar.gz: ce920c0b54e646a1c20a56218fcb413c787a5643c2b35823ee9666946cfdc18903624087bea10ba68b5e4ac0b486fd8760dd16f7ef2a69d592a433dbaac54349
|
data/README.md
CHANGED
@@ -1,14 +1,15 @@
|
|
1
1
|
# Capistrano::nvm
|
2
2
|
|
3
|
-
|
4
|
-
*only*).
|
3
|
+
[nvm](https://github.com/creationix/nvm) support for Capistrano 3.x
|
5
4
|
|
6
5
|
## Installation
|
7
6
|
|
8
7
|
Add this line to your application's Gemfile:
|
9
8
|
|
10
|
-
|
11
|
-
|
9
|
+
```ruby
|
10
|
+
gem 'capistrano', '~> 3.0'
|
11
|
+
gem 'capistrano-nvm'
|
12
|
+
```
|
12
13
|
|
13
14
|
And then execute:
|
14
15
|
|
@@ -17,12 +18,19 @@ And then execute:
|
|
17
18
|
|
18
19
|
## Usage
|
19
20
|
|
20
|
-
|
21
|
+
Require in `Capfile` to use the default task:
|
21
22
|
|
22
|
-
|
23
|
+
```ruby
|
24
|
+
require 'capistrano/nvm'
|
25
|
+
```
|
23
26
|
|
24
|
-
|
25
|
-
|
27
|
+
Configurable options:
|
28
|
+
|
29
|
+
```ruby
|
30
|
+
set :nvm_type, :user # or :system, depends on your nvm setup
|
31
|
+
set :nvm_node, 'v0.10.21'
|
32
|
+
set :nvm_map_bins, %w{node npm}
|
33
|
+
```
|
26
34
|
|
27
35
|
If your nvm is located in some custom path, you can use `nvm_custom_path` to set it.
|
28
36
|
|
data/capistrano-nvm.gemspec
CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = 'capistrano-nvm'
|
7
|
-
spec.version = '0.0.
|
7
|
+
spec.version = '0.0.2'
|
8
8
|
spec.authors = ['Koen Punt']
|
9
9
|
spec.email = ['me@koen.pt']
|
10
10
|
spec.description = %q{nvm support for Capistrano 3.x}
|
@@ -17,7 +17,7 @@ Gem::Specification.new do |spec|
|
|
17
17
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
18
18
|
spec.require_paths = ['lib']
|
19
19
|
|
20
|
-
spec.add_dependency 'capistrano', '
|
20
|
+
spec.add_dependency 'capistrano', '~> 3.0.0'
|
21
21
|
|
22
22
|
spec.add_development_dependency 'bundler', '~> 1.3'
|
23
23
|
spec.add_development_dependency 'rake'
|
@@ -1,9 +1,5 @@
|
|
1
|
-
namespace :deploy do
|
2
|
-
before :starting, :'nvm:check'
|
3
|
-
end
|
4
|
-
|
5
1
|
namespace :nvm do
|
6
|
-
task :
|
2
|
+
task validate: :'nvm:wrapper' do
|
7
3
|
on roles(:all) do
|
8
4
|
nvm_node = fetch(:nvm_node)
|
9
5
|
if nvm_node.nil?
|
@@ -11,34 +7,47 @@ namespace :nvm do
|
|
11
7
|
exit 1
|
12
8
|
end
|
13
9
|
|
14
|
-
unless test "[ -d #{fetch(:
|
15
|
-
error "nvm: #{nvm_node} is not installed or not found in #{fetch(:
|
10
|
+
unless test "[ -d #{fetch(:nvm_node_path)} ]"
|
11
|
+
error "nvm: #{nvm_node} is not installed or not found in #{fetch(:nvm_node_path)}"
|
16
12
|
exit 1
|
17
13
|
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
task :map_bins do
|
18
|
+
nvm_prefix = fetch(:nvm_prefix, -> { "NODE_VERSION=#{fetch(:nvm_node)} #{fetch(:tmp_dir)}/#{fetch(:application)}/nvm-exec.sh" } )
|
19
|
+
fetch(:nvm_map_bins).each do |command|
|
20
|
+
SSHKit.config.command_map.prefix[command.to_sym].unshift(nvm_prefix)
|
21
|
+
end
|
22
|
+
end
|
18
23
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
end
|
24
|
+
task :wrapper do
|
25
|
+
on roles(:all) do
|
26
|
+
execute :mkdir, "-p", "#{fetch(:tmp_dir)}/#{fetch(:application)}/"
|
27
|
+
upload! StringIO.new("#!/bin/bash -e\nsource \"#{fetch(:nvm_path)}/nvm.sh\"\nnvm use $NODE_VERSION\nexec \"$@\""), "#{fetch(:tmp_dir)}/#{fetch(:application)}/nvm-exec.sh"
|
28
|
+
execute :chmod, "+x", "#{fetch(:tmp_dir)}/#{fetch(:application)}/nvm-exec.sh"
|
25
29
|
end
|
26
30
|
end
|
27
31
|
end
|
28
32
|
|
33
|
+
Capistrano::DSL.stages.each do |stage|
|
34
|
+
after stage, 'nvm:validate'
|
35
|
+
after stage, 'nvm:map_bins'
|
36
|
+
end
|
37
|
+
|
29
38
|
namespace :load do
|
30
39
|
task :defaults do
|
31
40
|
|
32
|
-
set :
|
33
|
-
|
34
|
-
|
41
|
+
set :nvm_path, -> {
|
42
|
+
nvm_path = fetch(:nvm_custom_path)
|
43
|
+
nvm_path ||= if fetch(:nvm_type, :user) == :system
|
35
44
|
"/usr/local/nvm"
|
36
45
|
else
|
37
46
|
"~/.nvm"
|
38
47
|
end
|
39
48
|
}
|
40
49
|
|
41
|
-
set :
|
42
|
-
set :
|
50
|
+
set :nvm_node_path, -> { "#{fetch(:nvm_path)}/#{fetch(:nvm_node)}" }
|
51
|
+
set :nvm_map_bins, %w{node npm}
|
43
52
|
end
|
44
53
|
end
|
metadata
CHANGED
@@ -1,36 +1,32 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capistrano-nvm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.2
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Koen Punt
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-12-07 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: capistrano
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ~>
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version: 3.0.0
|
19
|
+
version: 3.0.0
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - ~>
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version: 3.0.0
|
26
|
+
version: 3.0.0
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: bundler
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
31
|
- - ~>
|
36
32
|
- !ruby/object:Gem::Version
|
@@ -38,7 +34,6 @@ dependencies:
|
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
38
|
- - ~>
|
44
39
|
- !ruby/object:Gem::Version
|
@@ -46,17 +41,15 @@ dependencies:
|
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: rake
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - '>='
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: '0'
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - '>='
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '0'
|
62
55
|
description: nvm support for Capistrano 3.x
|
@@ -76,32 +69,25 @@ files:
|
|
76
69
|
homepage: https://github.com/koenpunt/capistrano-nvm
|
77
70
|
licenses:
|
78
71
|
- MIT
|
72
|
+
metadata: {}
|
79
73
|
post_install_message:
|
80
74
|
rdoc_options: []
|
81
75
|
require_paths:
|
82
76
|
- lib
|
83
77
|
required_ruby_version: !ruby/object:Gem::Requirement
|
84
|
-
none: false
|
85
78
|
requirements:
|
86
|
-
- -
|
79
|
+
- - '>='
|
87
80
|
- !ruby/object:Gem::Version
|
88
81
|
version: '0'
|
89
|
-
segments:
|
90
|
-
- 0
|
91
|
-
hash: 2827476677612085551
|
92
82
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
93
|
-
none: false
|
94
83
|
requirements:
|
95
|
-
- -
|
84
|
+
- - '>='
|
96
85
|
- !ruby/object:Gem::Version
|
97
86
|
version: '0'
|
98
|
-
segments:
|
99
|
-
- 0
|
100
|
-
hash: 2827476677612085551
|
101
87
|
requirements: []
|
102
88
|
rubyforge_project:
|
103
|
-
rubygems_version:
|
89
|
+
rubygems_version: 2.0.14
|
104
90
|
signing_key:
|
105
|
-
specification_version:
|
91
|
+
specification_version: 4
|
106
92
|
summary: nvm support for Capistrano 3.x
|
107
93
|
test_files: []
|