This repository was archived by the owner on Aug 12, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathnode.rb
More file actions
67 lines (50 loc) · 1.19 KB
/
node.rb
File metadata and controls
67 lines (50 loc) · 1.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#
# Node via nvm
#
module NVMHelpers
def nvm_path
@nvm_path ||= shell "echo $(brew --prefix nvm)/nvm.sh"
end
def nvm_shell(command)
shell "NVM_DIR=~/.nvm source #{nvm_path} && #{command}"
end
end
dep "default-node-env-4" do
requires "default-node-env".with(version: "4")
end
dep "default-node-env", :version do
requires "node-default".with(version: version),
"npm-libs".with(version: version)
end
dep "nvm.managed" do
extend NVMHelpers
met? {
nvm_path.p.exist?
}
end
dep "node", :version do
extend NVMHelpers
requires "nvm.managed"
met? {
nvm_shell("nvm ls").split.grep(/v#{version}/)
}
meet {
nvm_shell "nvm install #{version}"
}
end
dep "node-default", :version do
extend NVMHelpers
requires "node".with(version)
met? { nvm_shell("nvm ls").split.grep(/default -> #{version}/) }
meet {
nvm_shell "nvm link default #{version}"
}
end
LIBS = %w[bower gulp webpack webpack-dev-server js-beautify coffee-script tern elm-oracle grunt-cli jsonlint elm grasp]
LIBS.each do |lib|
dep "#{lib}.npm"
end
dep "npm-libs", :version do
requires "dotfiles", "node-default".with(version: version)
requires LIBS.map {|lib| "#{lib}.npm" }
end