50 Commits

Autor SHA1 Mensagem Data
Guilhem Lettron 632870dd08 Release 2.1.0 2014-08-21 15:14:05 +02:00
Guilhem Lettron b2d1e44018 Update maintainer 2014-08-21 15:13:36 +02:00
Guilhem Lettron d1ee99e764 update badges
Use shields.io
2014-08-21 15:09:45 +02:00
Guilhem Lettron c8238e3f3f Merge branch 'install-node-packages' 2014-08-20 00:48:21 +02:00
Guilhem Lettron f66a5a316b Use default boxes instead of vagrant cloud one :( 2014-08-20 00:47:43 +02:00
Guilhem Lettron f68d39c912 Move packages installation to default
Use attribute node['nodejs']['npm_packages']
Use Hash to provision resource
Rubocop fixes
2014-08-20 00:46:39 +02:00
Guilhem Lettron f68aa4f10a Fix b564a18d90
Thanks @donaldguy ! :)
2014-08-19 18:36:03 +02:00
Guilhem Lettron fb87172962 Merge branch 'donaldguy-chef-sugar-compatibile' 2014-08-19 13:02:01 +02:00
Guilhem Lettron b564a18d90 Rename is_installed? to npm_package_installed?
Fix rubocop
2014-08-19 13:01:15 +02:00
Guilhem Lettron 8dad5bdb85 Merge pull request #33 from steve-jansen/npm-source-fix
fixes max_nesting for npm source installs
2014-08-19 12:53:12 +02:00
Barthélemy Vessemont d65f92436c Merge pull request #32 from steve-jansen/readme-fix
README fix for npm install method
2014-08-18 23:08:07 +02:00
Steve Jansen 4f4c2dd974 fixes max_nesting for npm source installs
Fixes a syntax error in 3cc49c20 that results in the following converge error when `node['nodejs']['npm']['install_method'] == 'source'` :

```
ArgumentError
-------------
wrong number of arguments (2 for 1)
```
2014-08-18 15:30:26 -04:00
Steve Jansen 8ffdbe9812 README fix for npm install method 2014-08-18 14:55:01 -04:00
Donald Guy b678c41de3 Avoid conflict with chef-sugar
sethvargo/chef-sugar imports an `installed?` into `Chef::Provider` at
runtime. This means as-it-stands a recipe importing chef-sugar recieves
an "ArgumentError: wrong number of arguments (0 for 1)" if it tries to
use the nodejs_npm resource.

This is unfortunate because it prevents me from using the npm resource
in a recipe that may run on hosts that don't already have npm installed.

If the cookbooks are compatible, I can use sugar's `compile_time`
(or `before`) context to make sure the node-installing recipes run
before `npm_list` gets called in the guard.

Without sugar, compile-time installation of node is much harder. Manual
use of `run_action` is possible, but complicated by the various paths
the nodejs recipes can take.

A name change here renders them compatible for this use.
2014-08-13 21:49:57 -04:00
Paul B 29f6efe61b Add a node install packages: for node pkgs provision 2014-08-12 14:58:10 +02:00
Josh f626980477 Fix nodejs URL 2014-08-04 12:22:01 +02:00
Guilhem Lettron 2b304a98d0 Add link to repo on title 2014-08-03 16:55:35 +02:00
Guilhem Lettron 4a6dcb6924 Merge pull request #26 from engineyard-cookbooks/nodesource
Switch to NodeSource repository
2014-08-02 11:52:24 +02:00
Guilhem Lettron 28c090663e Merge pull request #25 from engineyard-cookbooks/kitchen-updates
Test Kitchen updates
2014-08-02 11:49:20 +02:00
Matt Whiteley de46e331bb Test Kitchen updates
- add Trusty
- update CentOS patch levels
- use Vagrant Cloud boxes
2014-08-01 13:12:50 -07:00
Matt Whiteley e64a50f582 Switch to NodeSource repository
- Chris Lea's PPA will be dropped with the release of 0.12.x
- https://chrislea.com/2014/07/09/joining-forces-nodesource/
- https://nodesource.com/blog/chris-lea-joins-forces-with-nodesource
2014-08-01 13:09:47 -07:00
Guilhem Lettron f47a6ceed9 Bump devodd 2014-07-30 14:27:59 +02:00
Guilhem Lettron 4069e3251d Release 2.0.0 2014-07-30 13:08:17 +02:00
Guilhem Lettron caaaa6461c fix rubocop 2014-07-30 13:07:44 +02:00
Guilhem Lettron 8521b09bfe Merge branch 'duro-master'
Conflicts:
	Gemfile
2014-07-30 13:05:57 +02:00
Adam Duro 3cc49c20ca Disable max_nesting 2014-07-30 13:05:03 +02:00
Guilhem Lettron 047b67ade0 Fix Rubocop 2014-07-30 13:05:03 +02:00
Richard Li 938d0ff67b When installs non-globally from npm registry, list is nil initially when no package was installed locally 2014-07-30 13:05:03 +02:00
Guilhem Lettron 1fc1b5656b Add 'stove' tool 2014-07-30 13:01:11 +02:00
Guilhem Lettron 80a2a78c1d Fix rubocop.yml 2014-07-30 13:00:38 +02:00
Guilhem Lettron 3f899fe719 Upgrade to berkshelf 3 2014-07-30 13:00:15 +02:00
Guilhem Lettron 96c9ed925a Merge pull request #22 from LeoCavaille/master
Documentation fixes
2014-07-29 11:46:25 +02:00
Léo Cavaillé 4b79a85528 Fix documentation
* nodejs::install_from_* recipes do not exist
  * Use the same attribute everywhere in the doc
  * Adds warning for users willing to include
    "nodejs::nodejs_from_binary" and "nodejs::npm"
2014-07-28 16:43:01 -04:00
Guilhem Lettron b966808e40 Fix Rubocop 2014-07-18 19:50:22 +02:00
Guilhem Lettron 99962ead57 Merge pull request #17 from TAMULib/master
When installs non-globally from npm registry, list is nil initially when no package was installed locally
2014-05-26 11:10:07 +02:00
Guilhem Lettron ccf0e0c07b Merge pull request #19 from PierreRambaud/master
Adding matchers for ChefSpec
2014-05-26 11:09:50 +02:00
Pierre RAMBAUD 741deb47b2 Adding matchers for ChefSpec 2014-05-22 17:19:07 +02:00
Richard Li 4f6970eb62 When installs non-globally from npm registry, list is nil initially when no package was installed locally 2014-05-21 13:01:27 -05:00
Barthelemy Vessemont 296a689e3a Allow user to specify npm CLI options 2014-05-12 15:21:16 +02:00
Barthelemy Vessemont 180b94ad7d Changelog for v2.0.0 2014-05-05 18:18:09 +02:00
Guilhem Lettron 66c2444af0 Merge pull request #14 from redguide/mdxp-source-install-fixes
Mdxp source install fixes
2014-05-05 14:29:56 +02:00
Marius Ducea c3ef83df4a fix rubocop issues 2014-05-02 17:11:11 -07:00
Marius Ducea c0f858fb1c fix typo in the binary checksums; link binaries into /usr/local/bin for node and npm 2014-05-02 17:06:03 -07:00
Marius Ducea a25504a16f use multiple cpu compile threads if available to speed up node source compile 2014-05-02 17:05:20 -07:00
Marius Ducea ddff6fce64 fix correct building of the download url; without this it was dropping dist and returned 404 2014-05-02 17:04:22 -07:00
Guilhem Lettron e4c02c74bd Add include recipe to avoid some mistake ;) 2014-04-17 18:06:41 +02:00
Guilhem Lettron 4b859c08b6 Fix attribute order
Be sur that 'install_repo' is set.
2014-04-16 12:32:00 +02:00
Guilhem Lettron d7bdd2bd4a Update metadata 2014-04-14 12:33:32 +02:00
Guilhem Lettron 0348a2dda7 Update documentation 2014-04-14 12:27:04 +02:00
Guilhem Lettron 4da4976fce fix rubocop in test 2014-04-10 15:45:19 +02:00
20 arquivos alterados com 179 adições e 93 exclusões
+16 -2
Ver Arquivo
@@ -7,14 +7,17 @@ driver_config:
cpus: 4
platforms:
- name: ubuntu-14.04
run_list:
- recipe[apt]
- name: ubuntu-12.04
run_list:
- recipe[apt]
- name: ubuntu-10.04
run_list:
- recipe[apt]
- name: centos-6.3
- name: centos-5.8
- name: centos-6.5
- name: centos-5.10
suites:
- name: default
@@ -58,3 +61,14 @@ suites:
nodejs:
npm:
install_method: source
- name: npm_packages
run_list: recipe[nodejs]
attributes:
nodejs:
npm_packages:
- name: express
- name: socket.io
version: 1.0.4
- name: express
action: uninstall
+6 -6
Ver Arquivo
@@ -1,12 +1,12 @@
AllCops:
Include:
- Berksfile
- Gemfile
- Rakefile
- Thorfile
- Guardfile
- '**/Berksfile'
- '**/Gemfile'
- '**/Rakefile'
- '**/Thorfile'
- '**/Guardfile'
Exclude:
- vendor/**
- 'vendor/**/*'
ClassLength:
Enabled: false
+1 -1
Ver Arquivo
@@ -1,4 +1,4 @@
site :opscode
source 'https://supermarket.getchef.com'
metadata
+10
Ver Arquivo
@@ -1,3 +1,13 @@
## v2.0.0 (unreleased)
* Travis integration
* Gems updated
* Rewrite cookbook dependencies
* Added complete test-kitchen integration : Rake, rubocop, foodcritic, vagrant, bats testing ...
* Added NodeJS ```install_method``` option (sources, bins or packages)
* Added NPM ```install_method``` option (sources or packages)
* NPM version can now be chosen independently from nodejs' embedded version
* Added a ```nodejs_npm``` LWRP to manage, install and resolve NPM packages
## v1.3.0
* update default versions to the latest: node - v0.10.15 and npm - v1.3.5
* default to package installation of nodejs on smartos ([@wanelo-pair][])
+6 -5
Ver Arquivo
@@ -1,14 +1,15 @@
source 'https://rubygems.org'
gem 'rake'
gem 'berkshelf', '~> 3.1.4'
gem 'stove'
group :test do
gem 'foodcritic', '~> 3.0'
gem 'rubocop', '~> 0.20'
gem 'foodcritic', '~> 4.0.0'
gem 'rubocop', '~> 0.24.1'
end
group :integration do
gem 'berkshelf'
gem 'test-kitchen', '~> 1.1'
gem 'kitchen-vagrant', '~> 0.13'
gem 'test-kitchen', '~> 1.2.1'
gem 'kitchen-vagrant', '~> 0.15.0'
end
+68 -54
Ver Arquivo
@@ -1,76 +1,90 @@
# nodejs-cookbook [![Build Status](https://travis-ci.org/redguide/nodejs.svg)](https://travis-ci.org/redguide/nodejs)
# [nodejs-cookbook](https://github.com/redguide/nodejs)
[![CK Version](http://img.shields.io/cookbook/v/nodejs.svg)](https://supermarket.getchef.com/cookbooks/nodejs) [![Build Status](https://img.shields.io/travis/redguide/nodejs.svg)](https://travis-ci.org/redguide/nodejs)
## DESCRIPTION
Installs Node.JS
## REQUIREMENTS
### Platform
* Tested on Debian 6 and Ubuntu 10.04
* Should work fine on Centos, RHEL, etc.
### Cookbooks:
* [build-essential](https://github.com/opscode-cookbooks/build-essential)
* [apt](https://github.com/cookbooks/apt)
* [yum](https://github.com/cookbooks/yum)
Opscode cookbooks (http://github.com/opscode/cookbooks/tree/master)
## ATTRIBUTES
* nodejs['install_method'] = source or package
* nodejs['version'] - release version of node to install
* nodejs['src_url'] - download location for node source tarball
* nodejs['dir'] - location where node will be installed, default /usr/local
* nodejs['npm'] - version of npm to install
* nodejs['npm_src_url'] - download location for npm source tarball
* nodejs['check_sha'] - test for valid sha_sum, default: true
Installs Node.js and manage npm
## USAGE
Include the nodejs recipe to install node on your system based on the default installation method:
```chef
include_recipe "nodejs"
```
Installation method can be customized with attribute `node['nodejs']['install_method']`
* include_recipe "nodejs"
### Install methods
Include the install_from_source recipe to install node from sources:
#### Package
* include_recipe "nodejs::install_from_source"
Install node from packages:
Include the install_from_package recipe to install node from packages:
Note that only apt (Ubuntu, Debian) appears to have up to date packages available.
Centos, RHEL, etc are non-functional. (Try install_from_binary for those)
```chef
node['nodejs']['install_method'] = 'package' # Not necessary because it's the default
include_recipe "nodejs"
# Or
include_recipe "nodejs::nodejs_from_package"
```
Note that only apt (Ubuntu, Debian) appears to have up to date packages available.
Centos, RHEL, etc are non-functional (try `nodejs_from_binary` for those).
* include_recipe "nodejs::install_from_package"
#### Binary
Include the install_from_binary recipe to install node from official prebuilt binaries:
(Currently Linux x86, x86_64, armv6l only)
Install node from official prebuilt binaries:
```chef
node['nodejs']['install_method'] = 'binary'
include_recipe "nodejs"
# Or
include_recipe "nodejs::nodejs_from_binary"
```
* include_recipe "nodejs::install_from_binary"
#### Source
Include the npm recipe to install npm:
Install node from sources:
```chef
node['nodejs']['install_method'] = 'source'
include_recipe "nodejs"
# Or
include_recipe "nodejs::nodejs_from_source"
```
* include_recipe "nodejs::npm"
## NPM
## LICENSE and AUTHOR
Npm is included in nodejs installs by default.
By default, we are using it and call it `embedded`.
Adding recipe `nodejs::npm` assure you to have npm installed and let you choose install method with `node['nodejs']['npm']['install_method']`
```chef
include_recipe "nodejs::npm"
```
_Warning:_ This recipe will include the `nodejs` recipe, which by default includes `nodejs::nodejs_from_package` if you did not set `node['nodejs']['install_method']`.
Author:: Marius Ducea (marius@promethost.com)
Author:: Nathan L Smith (nlloyds@gmail.com)
## LWRP
Copyright:: 2010-2012, Promet Solutions
Copyright:: 2012, Cramer Development, Inc.
### nodejs_npm
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
`nodejs_npm` let you install npm packages from various sources:
* npm registry:
* name: `attribute :package`
* version: `attribute :version` (optionnal)
* url: `attribute :url`
* for git use `git://{your_repo}`
* from a json (packages.json by default): `attribute :json`
* use `true` for default
* use a `String` to specify json file
Packages can be installed globally (by default) or in a directory (by using `attribute :path`)
http://www.apache.org/licenses/LICENSE-2.0
You can append more specific options to npm command with `attribute :options` array :
* use an array of options (w/ dash), they will be added to npm call.
* ex: `['--production','--force']` or `['--force-latest']`
This LWRP try to use npm bare as much as possible (no custom wrapper).
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
#### [Examples](test/cookbooks/nodejs_test/recipes/npm.rb)
## AUTHORS
* Marius Ducea (marius@promethost.com)
* Nathan L Smith (nlloyds@gmail.com)
* Guilhem Lettron (guilhem@lettron.fr)
* Barthelemy Vessemont (bvessemont@gmail.com)
+6 -1
Ver Arquivo
@@ -5,7 +5,7 @@ namespace :style do
begin
require 'rubocop/rake_task'
desc 'Run Ruby style checks'
Rubocop::RakeTask.new(:ruby)
RuboCop::RakeTask.new(:ruby)
rescue LoadError
puts '>>>>> Rubocop gem not loaded, omitting tasks' unless ENV['CI']
end
@@ -39,6 +39,11 @@ namespace :integration do
end
end
namespace :maintain do
require 'stove/rake_task'
Stove::RakeTask.new
end
desc 'Run all tests on Travis'
task travis: ['style']
+3 -1
Ver Arquivo
@@ -26,7 +26,7 @@ end
default['nodejs']['version'] = '0.10.26'
default['nodejs']['prefix_url'] = ::URI.join('http://nodejs.org/dist', "v#{node['nodejs']['version']}").to_s
default['nodejs']['prefix_url'] = 'http://nodejs.org/dist/'
default['nodejs']['install_repo'] = true
@@ -37,3 +37,5 @@ default['nodejs']['binary']['url'] = nil # Auto generated
default['nodejs']['binary']['checksum']['linux_x64'] = '305bf2983c65edea6dd2c9f3669b956251af03523d31cf0a0471504fd5920aac'
default['nodejs']['binary']['checksum']['linux_x86'] = '8fa2d952556c8b5aa37c077e2735c972c522510facaa4df76d4244be88f4dc0f'
default['nodejs']['binary']['checksum']['linux_arm-pi'] = '561ec2ebfe963be8d6129f82a7d1bc112fb8fbfc0a1323ebe38ef55850f25517'
default['nodejs']['make_threads'] = node['cpu'] ? node['cpu']['total'].to_i : 2
+4 -1
Ver Arquivo
@@ -1,6 +1,9 @@
include_attribute 'nodejs::default'
case node['platform_family']
when 'debian'
default['nodejs']['repo'] = 'http://ppa.launchpad.net/chris-lea/node.js/ubuntu'
default['nodejs']['repo'] = 'https://deb.nodesource.com/node'
default['nodejs']['key'] = '1655a0ab68576280'
default['nodejs']['packages'] = node['nodejs']['install_repo'] ? %w(nodejs) : %w(nodejs npm nodejs-dev)
when 'rhel', 'fedora'
default['nodejs']['packages'] = %w(nodejs nodejs-devel npm)
+9
Ver Arquivo
@@ -0,0 +1,9 @@
if defined?(ChefSpec)
def install_nodejs_npm(resource_name)
ChefSpec::Matchers::ResourceMatcher.new(:nodejs_npm, :install, resource_name)
end
def uninstall_nodejs_npm(resource_name)
ChefSpec::Matchers::ResourceMatcher.new(:nodejs_npm, :uninstall, resource_name)
end
end
+3 -3
Ver Arquivo
@@ -7,7 +7,7 @@ module NodeJs
require 'open-uri'
require 'json'
result = JSON.parse(URI.parse("https://registry.npmjs.org/npm/#{node['nodejs']['npm']['version']}").read)
result = JSON.parse(URI.parse("https://registry.npmjs.org/npm/#{node['nodejs']['npm']['version']}").read, :max_nesting => false)
ret = { 'url' => result['dist']['tarball'], 'version' => result['_npmVersion'], 'shasum' => result['dist']['shasum'] }
Chef::Log.debug("Npm dist #{ret}")
return ret
@@ -27,13 +27,13 @@ module NodeJs
else
cmd = Mixlib::ShellOut.new('npm list -global -json')
end
JSON.parse(cmd.run_command.stdout)
JSON.parse(cmd.run_command.stdout, :max_nesting => false)
end
def npm_package_installed?(package, version = nil, path = nil)
list = npm_list(path)['dependencies']
# Return true if package installed and installed to good version
list.key?(package) && (version ? list[package]['version'] == version : true)
(!list.nil?) && list.key?(package) && (version ? list[package]['version'] == version : true)
end
end
end
+7 -10
Ver Arquivo
@@ -1,17 +1,12 @@
maintainer 'Promet Solutions'
maintainer_email 'marius@promethost.com'
name 'nodejs'
maintainer 'redguide'
maintainer_email 'guilhem@lettron.fr'
license 'Apache 2.0'
description 'Installs/Configures nodejs'
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
version '1.3.0'
name 'nodejs'
provides 'nodejs'
version '2.1.0'
recipe 'nodejs', 'Installs Node.JS based on the default installation method'
recipe 'nodejs::install_from_source', 'Installs Node.JS from source'
recipe 'nodejs::install_from_binary', 'Installs Node.JS from official binaries'
recipe 'nodejs::install_from_package', 'Installs Node.JS from packages'
recipe 'nodejs::npm', 'Installs npm from source - a package manager for node'
conflicts 'node'
depends 'yum-epel'
depends 'build-essential'
@@ -21,3 +16,5 @@ depends 'apt'
%w(debian ubuntu centos redhat smartos).each do |os|
supports os
end
suggests 'application_nodejs'
+11 -3
Ver Arquivo
@@ -9,7 +9,7 @@ action :install do
user new_resource.user
group new_resource.group
environment 'HOME' => ::Dir.home(new_resource.user), 'USER' => new_resource.user if new_resource.user
not_if { installed? }
not_if { package_installed? }
end
end
@@ -20,17 +20,20 @@ action :uninstall do
user new_resource.user
group new_resource.group
environment 'HOME' => ::Dir.home(new_resource.user), 'USER' => new_resource.user if new_resource.user
only_if { installed? }
only_if { package_installed? }
end
end
def installed?
def package_installed?
new_resource.package && npm_package_installed?(new_resource.package, new_resource.version, new_resource.path)
end
def npm_options
options = ''
options << ' -global' unless new_resource.path
new_resource.options.each do |option|
options << " #{option}"
end
options << " #{npm_package}"
end
@@ -45,3 +48,8 @@ def npm_package
Chef::Log.error("No good options found to install #{new_resource.name}")
end
end
def initialize(*args)
super
@run_context.include_recipe 'nodejs::npm'
end
+11
Ver Arquivo
@@ -20,3 +20,14 @@
include_recipe 'nodejs::nodejs'
include_recipe 'nodejs::npm'
node['nodejs']['npm_packages'].each do |pkg|
f = nodejs_npm pkg['name'] do
action :nothing
end
pkg.reject { |k, _v| k == 'name' || k == 'action' }.each do |key, value|
f.send(key, value)
end
action = pkg.key?('action') ? pkg['action'] : :install
f.action(action)
end if node['nodejs'].key?('npm_packages')
+4 -2
Ver Arquivo
@@ -27,18 +27,20 @@ else
end
# package_stub is for example: "node-v0.8.20-linux-x64.tar.gz"
version = "v#{node['nodejs']['version']}/"
filename = "node-v#{node['nodejs']['version']}-linux-#{arch}.tar.gz"
if node['nodejs']['binary']['url']
nodejs_bin_url = node['nodejs']['binary']['url']
checksum = node['nodejs']['binary']['checksum']
else
nodejs_bin_url = ::URI.join(node['nodejs']['prefix_url'], filename).to_s
checksum = node['nodejs']['binary']['checksums']["linux_#{arch}"]
nodejs_bin_url = ::URI.join(node['nodejs']['prefix_url'], version, filename).to_s
checksum = node['nodejs']['binary']['checksum']["linux_#{arch}"]
end
ark 'nodejs-binary' do
url nodejs_bin_url
version node['nodejs']['version']
checksum checksum
has_binaries ['bin/node', 'bin/npm']
action :install
end
+4 -1
Ver Arquivo
@@ -29,11 +29,14 @@ when 'debian'
package 'libssl-dev'
end
nodejs_src_url = node['nodejs']['source']['url'] || ::URI.join(node['nodejs']['prefix_url'], "node-v#{node['nodejs']['version']}.tar.gz").to_s
version = "v#{node['nodejs']['version']}/"
filename = "node-v#{node['nodejs']['version']}.tar.gz"
nodejs_src_url = node['nodejs']['source']['url'] || ::URI.join(node['nodejs']['prefix_url'], version, filename).to_s
ark 'nodejs-source' do
url nodejs_src_url
version node['nodejs']['version']
checksum node['nodejs']['source']['checksum']
make_opts ["-j #{node['nodejs']['make_threads']}"]
action :install_with_make
end
+3 -1
Ver Arquivo
@@ -2,12 +2,14 @@ case node['platform_family']
when 'debian'
include_recipe 'apt'
package 'apt-transport-https'
apt_repository 'node.js' do
uri node['nodejs']['repo']
distribution node['lsb']['codename']
components ['main']
keyserver 'keyserver.ubuntu.com'
key 'C7917B12'
key node['nodejs']['key']
end
when 'rhel'
include_recipe 'yum-epel'
+1
Ver Arquivo
@@ -27,6 +27,7 @@ attribute :version, :kind_of => String
attribute :path, :kind_of => String
attribute :url, :kind_of => String
attribute :json, :kind_of => [String, TrueClass]
attribute :options, :kind_of => Array, :default => []
attribute :user, :kind_of => String
attribute :group, :kind_of => String
+2 -2
Ver Arquivo
@@ -1,4 +1,4 @@
name 'nodejs_test'
version '0.1.0'
name 'nodejs_test'
version '0.1.0'
depends 'git'
+4
Ver Arquivo
@@ -26,3 +26,7 @@ nodejs_npm 'grunt' do
json true
user 'random'
end
nodejs_npm 'mocha' do
options ['--force', '--production']
end