sprockets_uglifier_with_source_maps 1.1.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3de26fb885769b727d3482302529e5387b87f2cb
4
- data.tar.gz: 05e46c1acfe11a7c7da62df1c221373b12a661c2
3
+ metadata.gz: 3a337e54ddbe94b21c24d01c16ef80f42ce052b6
4
+ data.tar.gz: c47b967d8c5932d52515834aa6c77db532c784c3
5
5
  SHA512:
6
- metadata.gz: 6c5c1418015b92e5725cf1268dc0b31dc10cd454d7f7fecf1d97e2525e3d4cc727b70dac990c852d281e8d7c0607d0edee85296e06bc9f03d2165726a6fc7a1f
7
- data.tar.gz: 5735157d5a94f232900da0cbc1414c2a5ba362b608b2fe81928824ebd1353aedc1d443b0722c92eab9f205a1761dd6dc33fb35f051e023e35b9fa1033d5f62ab
6
+ metadata.gz: 6f3de890ee08e02d318c79f46fcb5613b12619e35bd4f9ab1a159725897a52c2ed79a179b1099d29f1564c780cbcb9555ecbf3e43016da2bd4bfa722eba24628
7
+ data.tar.gz: 350ccacfb57d30b6027be5283c3a87d3cf88296f152c9744cfc193b859941f2a3a49988d6675a054111166c4e34faca53788d4c228eb12a06fe74dfad3acb5ba
@@ -1,6 +1,5 @@
1
1
  require 'sprockets_uglifier_with_source_maps/version'
2
2
  require 'sprockets'
3
- require 'uglifier'
4
3
  require 'sprockets_uglifier_with_source_maps/compressor'
5
4
  Sprockets.register_compressor 'application/javascript', :uglifier_with_source_maps, SprocketsUglifierWithSM::Compressor
6
5
  Sprockets.register_compressor 'application/javascript', :uglify_with_source_maps, SprocketsUglifierWithSM::Compressor
@@ -1,30 +1,45 @@
1
+ require 'sprockets/digest_utils'
2
+ require 'sprockets/uglifier_compressor'
3
+
1
4
  module SprocketsUglifierWithSM
2
5
  class Compressor < Sprockets::UglifierCompressor
3
6
 
4
- def evaluate(context, locals, &block)
5
- options = {comments: false}.merge!(Rails.application.config.assets.uglifier.to_h)
6
- compressed_data, sourcemap = Uglifier.new(options).compile_with_map(data)
7
+ DEFAULTS = { comments: false }
8
+
9
+ def initialize(options = {})
10
+ # merge in any options passed in from our rails configuration - i wish
11
+ # rails actually did this by default :/
12
+ options = options.merge(DEFAULTS).merge!(Rails.application.config.assets.uglifier.to_h)
13
+ super options
14
+ end
15
+
16
+ def call(input)
17
+ data = input.fetch(:data)
18
+ name = input.fetch(:name)
19
+
20
+ compressed_data, sourcemap = @uglifier.compile_with_map(data)
7
21
 
8
- uncompressed_filename = File.join(Rails.application.config.assets.prefix, Rails.application.config.assets.uncompressed_prefix, "#{context.logical_path}-#{digest(data)}.js")
9
- uncompressed_url = filename_to_url uncompressed_filename
22
+ uncompressed_filename = File.join(Rails.application.config.assets.prefix, Rails.application.config.assets.uncompressed_prefix, "#{name}-#{digest(data)}.js")
23
+ uncompressed_url = filename_to_url uncompressed_filename
10
24
 
11
- sourcemap = JSON.parse(sourcemap)
12
- sourcemap['file'] = "#{context.logical_path}.js"
25
+ sourcemap = JSON.parse(sourcemap)
26
+ sourcemap['file'] = "#{name}.js"
13
27
  sourcemap['sources'] = [uncompressed_url]
28
+
14
29
  sourcemap = sourcemap.to_json
15
30
 
16
- sourcemap_filename = File.join(Rails.application.config.assets.prefix, Rails.application.config.assets.sourcemaps_prefix, "#{context.logical_path}-#{digest(sourcemap)}.js.map")
31
+ sourcemap_filename = File.join(Rails.application.config.assets.prefix, Rails.application.config.assets.sourcemaps_prefix, "#{name}-#{digest(sourcemap)}.js.map")
17
32
 
18
- sourcemap_path = File.join(Rails.public_path, sourcemap_filename)
33
+ sourcemap_path = File.join(Rails.public_path, sourcemap_filename)
19
34
  uncompressed_path = File.join(Rails.public_path, uncompressed_filename)
20
35
  FileUtils.mkdir_p [File.dirname(sourcemap_path), File.dirname(uncompressed_path)]
21
36
  File.open(sourcemap_path, 'w') { |f| f.write sourcemap }
22
37
  File.open(uncompressed_path, 'w') { |f| f.write data }
23
38
 
24
39
  if Rails.application.config.assets.sourcemaps_gzip
25
- [sourcemap_path,uncompressed_path ].each do |f|
40
+ [sourcemap_path, uncompressed_path].each do |f|
26
41
  Zlib::GzipWriter.open("#{f}.gz") do |gz|
27
- gz.mtime = File.mtime(f)
42
+ gz.mtime = File.mtime(f)
28
43
  gz.orig_name = f
29
44
  gz.write IO.binread(f)
30
45
  end
@@ -50,7 +65,7 @@ module SprocketsUglifierWithSM
50
65
  end
51
66
 
52
67
  def digest(io)
53
- Rails.application.assets.digest.update(io).hexdigest
68
+ Sprockets::DigestUtils.pack_hexdigest Sprockets::DigestUtils.digest(io)
54
69
  end
55
70
  end
56
71
  end
@@ -3,7 +3,7 @@ require 'action_controller/railtie'
3
3
  module SprocketsUglifierWithSM
4
4
  class Railtie < ::Rails::Railtie
5
5
 
6
- initializer 'sprockets-uglifier-with-source-maps.environment', after: 'sprockets.environment', group: :all do |app|
6
+ initializer 'sprockets-uglifier-with-source-maps.environment', group: :all do |app|
7
7
  config = app.config
8
8
  config.assets.sourcemaps_prefix ||= 'maps'
9
9
  config.assets.uncompressed_prefix ||= 'sources'
@@ -1,3 +1,3 @@
1
1
  module SprocketsUglifierWithSM
2
- VERSION = '1.1.0'
2
+ VERSION = '2.0.0'
3
3
  end
@@ -17,8 +17,8 @@ Gem::Specification.new do |spec|
17
17
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
18
  spec.require_paths = ['lib']
19
19
 
20
- spec.add_runtime_dependency 'sprockets-rails', '>= 3.0.0.beta1'
21
- spec.add_runtime_dependency 'uglifier', '>= 2.5'
20
+ spec.add_runtime_dependency 'sprockets-rails', '~> 3.0'
21
+ spec.add_runtime_dependency 'uglifier', '~> 2.5'
22
22
  spec.add_development_dependency 'bundler'
23
23
  spec.add_development_dependency 'rake'
24
24
  end
metadata CHANGED
@@ -1,41 +1,41 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sprockets_uglifier_with_source_maps
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Pavlenko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-09 00:00:00.000000000 Z
11
+ date: 2016-02-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sprockets-rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 3.0.0.beta1
19
+ version: '3.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 3.0.0.beta1
26
+ version: '3.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: uglifier
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '2.5'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '2.5'
41
41
  - !ruby/object:Gem::Dependency
@@ -104,8 +104,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
104
104
  version: '0'
105
105
  requirements: []
106
106
  rubyforge_project:
107
- rubygems_version: 2.4.5
107
+ rubygems_version: 2.4.8
108
108
  signing_key:
109
109
  specification_version: 4
110
110
  summary: Create javascript source maps for your Rails 4.2 applications
111
111
  test_files: []
112
+ has_rdoc: