Parcourir la source

chore: install release tools with npm rather than via pre-commit hook

Previously mocha, uglifyjs and jshint used when publishing a new version
were ensured / installed by `Rakefile` via the pre-commit git hook.
Those modules were automatically installed globally if not present in
`$PATH`.

Installing modules globally has one particular dowsides that we should
avoid: we can't ensure developers publishing new mustache.js versions
have the same version of these 3rd party modules installed.

If instead we make these modules local dev dependencies, we can ensure
which versions are installed, and we make 3rd party depedencies explicit
by listing them in `package.json`, rather than in `Rakefile`.
pull/666/head
Phillip Johnsen il y a 7 ans
Parent
révision
77a516c2e0
3 fichiers modifiés avec 5 ajouts et 20 suppressions
  1. +3
    -15
      Rakefile
  2. +0
    -5
      hooks/pre-commit
  3. +2
    -0
      package.json

+ 3
- 15
Rakefile Voir le fichier

@@ -7,31 +7,19 @@ def minified_file
ENV['FILE'] || 'mustache.min.js'
end

task :install_mocha do
sh "npm install -g mocha" if `which mocha`.empty?
end

task :install_uglify do
sh "npm install -g uglify-js" if `which uglifyjs`.empty?
end

task :install_jshint do
sh "npm install -g jshint" if `which jshint`.empty?
end

desc "Run all tests"
task :test => :install_mocha do
sh "mocha test"
sh "./node_modules/.bin/mocha test"
end

desc "Make a compressed build in #{minified_file}"
task :minify => :install_uglify do
sh "uglifyjs mustache.js > #{minified_file}"
sh "./node_modules/.bin/uglifyjs mustache.js > #{minified_file}"
end

desc "Run JSHint"
task :hint => :install_jshint do
sh "jshint mustache.js"
sh "./node_modules/.bin/jshint mustache.js"
end

# Creates a task that uses the various template wrappers to make a wrapped


+ 0
- 5
hooks/pre-commit Voir le fichier

@@ -72,11 +72,6 @@ class Bumper
def did_bump
if !@bumped
puts 'bump detected!'
if `which uglifyjs`.empty?
puts_c 31, 'you need uglifyjs installed'
puts 'run `sudo npm install -g uglify-js`'
exit 1
end
end
@bumped = true
end


+ 2
- 0
package.json Voir le fichier

@@ -42,7 +42,9 @@
"devDependencies": {
"chai": "^3.4.0",
"eslint": "^2.5.1",
"jshint": "^2.9.5",
"mocha": "^3.0.2",
"uglify-js": "^3.4.6",
"zuul": "^3.11.0"
},
"spm": {


Chargement…
Annuler
Enregistrer