diff --git a/.gitignore b/.gitignore index 9d7ab805c..68918161e 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ doc docs pkg tmp +.DS_Store diff --git a/lib/sprockets.rb b/lib/sprockets.rb index 2125e5724..5f0b0c7b2 100644 --- a/lib/sprockets.rb +++ b/lib/sprockets.rb @@ -124,7 +124,7 @@ module Sprockets # Mmm, CoffeeScript require 'sprockets/coffee_script_processor' Deprecation.silence do - register_engine '.coffee', CoffeeScriptProcessor, mime_type: 'application/javascript' + register_engine '.coffee', CoffeeScriptProcessor, mime_type: 'application/javascript', silence_deprecation: true end # JST engines @@ -132,24 +132,22 @@ module Sprockets require 'sprockets/ejs_processor' require 'sprockets/jst_processor' Deprecation.silence do - register_engine '.jst', JstProcessor, mime_type: 'application/javascript' - register_engine '.eco', EcoProcessor, mime_type: 'application/javascript' - register_engine '.ejs', EjsProcessor, mime_type: 'application/javascript' + register_engine '.jst', JstProcessor, mime_type: 'application/javascript', silence_deprecation: true + register_engine '.eco', EcoProcessor, mime_type: 'application/javascript', silence_deprecation: true + register_engine '.ejs', EjsProcessor, mime_type: 'application/javascript', silence_deprecation: true end # CSS engines require 'sprockets/sass_processor' Deprecation.silence do - register_engine '.sass', SassProcessor, mime_type: 'text/css' - register_engine '.scss', ScssProcessor, mime_type: 'text/css' + register_engine '.sass', SassProcessor, mime_type: 'text/css', silence_deprecation: true + register_engine '.scss', ScssProcessor, mime_type: 'text/css', silence_deprecation: true end register_bundle_metadata_reducer 'text/css', :sass_dependencies, Set.new, :+ # Other require 'sprockets/erb_processor' - Deprecation.silence do - register_engine '.erb', ERBProcessor, mime_type: 'text/plain' - end + register_engine '.erb', ERBProcessor, mime_type: 'text/plain', silence_deprecation: true register_dependency_resolver 'environment-version' do |env| env.version diff --git a/lib/sprockets/engines.rb b/lib/sprockets/engines.rb index 3700d10a4..09a163797 100644 --- a/lib/sprockets/engines.rb +++ b/lib/sprockets/engines.rb @@ -51,7 +51,16 @@ def engine_mime_types # environment.register_engine '.coffee', CoffeeScriptProcessor # def register_engine(ext, klass, options = {}) - Deprecation.new([caller.first]).warn("`register_engine` is deprecated please register a mime type and use `register_compressor` or `register_transformer`") + unless options[:silence_deprecation] + msg = <<-MSG +Sprockets method `register_engine` is deprecated. +Please register a mime type using `register_mime_type` then +use `register_compressor` or `register_transformer`. +https://github.com/rails/sprockets/blob/master/guides/extending_sprockets.md#supporting-all-versions-of-sprockets-in-processors + MSG + + Deprecation.new([caller.first]).warn(msg) + end ext = Sprockets::Utils.normalize_extension(ext) diff --git a/test/sprockets_test.rb b/test/sprockets_test.rb index 6975ee19b..306c3cb23 100644 --- a/test/sprockets_test.rb +++ b/test/sprockets_test.rb @@ -23,7 +23,7 @@ def silence_warnings NoopProcessor = proc { |input| input[:data] } # Sprockets.register_mime_type 'text/haml', extensions: ['.haml'] -Sprockets.register_engine '.haml', NoopProcessor, mime_type: 'text/html' +Sprockets.register_engine '.haml', NoopProcessor, mime_type: 'text/html', silence_deprecation: true # Sprockets.register_mime_type 'text/ng-template', extensions: ['.ngt'] AngularProcessor = proc { |input| @@ -33,19 +33,19 @@ def silence_warnings }); EOS } -Sprockets.register_engine '.ngt', AngularProcessor, mime_type: 'application/javascript' +Sprockets.register_engine '.ngt', AngularProcessor, mime_type: 'application/javascript', silence_deprecation: true # Sprockets.register_mime_type 'text/mustache', extensions: ['.mustache'] -Sprockets.register_engine '.mustache', NoopProcessor, mime_type: 'application/javascript' +Sprockets.register_engine '.mustache', NoopProcessor, mime_type: 'application/javascript', silence_deprecation: true # Sprockets.register_mime_type 'text/x-handlebars-template', extensions: ['.handlebars'] -Sprockets.register_engine '.handlebars', NoopProcessor, mime_type: 'application/javascript' +Sprockets.register_engine '.handlebars', NoopProcessor, mime_type: 'application/javascript', silence_deprecation: true # Sprockets.register_mime_type 'application/javascript-module', extensions: ['.es6'] -Sprockets.register_engine '.es6', NoopProcessor, mime_type: 'application/javascript' +Sprockets.register_engine '.es6', NoopProcessor, mime_type: 'application/javascript', silence_deprecation: true # Sprockets.register_mime_type 'application/dart', extensions: ['.dart'] -Sprockets.register_engine '.dart', NoopProcessor, mime_type: 'application/javascript' +Sprockets.register_engine '.dart', NoopProcessor, mime_type: 'application/javascript', silence_deprecation: true require 'nokogiri' @@ -72,7 +72,7 @@ def silence_warnings Sprockets.register_transformer 'application/xml+builder', 'application/xml', XmlBuilderProcessor require 'sprockets/jst_processor' -Sprockets.register_engine '.jst2', Sprockets::JstProcessor.new(namespace: 'this.JST2'), mime_type: 'application/javascript' +Sprockets.register_engine '.jst2', Sprockets::JstProcessor.new(namespace: 'this.JST2'), mime_type: 'application/javascript', silence_deprecation: true SVG2PNG = proc { |input| "\x89\x50\x4e\x47\xd\xa\x1a\xa#{input[:data]}" diff --git a/test/test_engines.rb b/test/test_engines.rb index 96693b74e..5c32c4e81 100644 --- a/test/test_engines.rb +++ b/test/test_engines.rb @@ -30,7 +30,7 @@ class TestEngines < Sprockets::TestCase env = new_environment Sprockets::SilenceDeprecation.silence do - env.register_engine ".alert", AlertProcessor + env.register_engine ".alert", AlertProcessor, silence_deprecation: true end asset = env["hello.alert"]