diff --git a/README.md b/README.md index d18f92464..55f489983 100644 --- a/README.md +++ b/README.md @@ -363,6 +363,7 @@ submit a pull request. **2.7.0** +* Added --css-compressor and --js-compressor command line flags * Added css/js compressor shorthand * Change default manifest.json filename to be a randomized manifest-16HEXBYTES.json * Allow nil environment to be passed to manifest diff --git a/bin/sprockets b/bin/sprockets index 2b776d769..a3fb6510d 100755 --- a/bin/sprockets +++ b/bin/sprockets @@ -40,6 +40,14 @@ OptionParser.new do |opts| manifest = Sprockets::Manifest.new(environment, directory) end + opts.on("--css-compressor=COMPRESSOR", "Use CSS compressor") do |compressor| + environment.css_compressor = compressor.to_sym + end + + opts.on("--js-compressor=COMPRESSOR", "Use JavaScript compressor") do |compressor| + environment.js_compressor = compressor.to_sym + end + opts.on("--noenv", "Disables .sprocketsrc file") do end diff --git a/test/test_sprocketize.rb b/test/test_sprocketize.rb index e22d3e1d0..ddf5e5b70 100644 --- a/test/test_sprocketize.rb +++ b/test/test_sprocketize.rb @@ -70,6 +70,16 @@ def teardown assert File.exist?("#{@dir}/#{digest_path2}") end + test "minify js with uglify" do + output = sprockets "-I", fixture_path("default"), "--js-compressor", "uglify", fixture_path("default/gallery.js") + assert_equal "var Gallery={};\n", output + end + + test "compress css with sass" do + output = sprockets "-I", fixture_path("default"), "--css-compressor", "sass", fixture_path("default/gallery.css.erb") + assert_equal ".gallery{color:red}\n", output + end + def sprockets(*args) script = File.expand_path("../../bin/sprockets", __FILE__) lib = File.expand_path("../../lib", __FILE__)