sprockets_terser_with_source_maps 2.0.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '098b65fa08efe0ba4340c74b8c3e7a4d072c0adbada2349ceeb5f9acc2ad2060'
4
- data.tar.gz: cf30eb25c2f22c98036673ba21185a0fd84706129a594c3988d72469be736d3b
3
+ metadata.gz: 4baf67524e6b3115618f75682d94457e92e951134cf1fa10da0a7373ac5e7fc5
4
+ data.tar.gz: 04ad1421a13376fcde9cf1b69036842ecb0d059f66b34ea0fad68b41adba7b63
5
5
  SHA512:
6
- metadata.gz: d443e030ab3df6f8b2ac7c8ac9cbd617f241761b976402cf3b3c2b440f91749c578206c91faaa895e0c2dc97dc505871f2b6150927058918e238741312fdd892
7
- data.tar.gz: 692c5d37501222efa7299f4e0987491c966ff2c1c0156f50cb889012b4d106c07ad67e7aa62fffa72d1f80ccf4e1bfeff079b6db4bb40edc2cd64494dea607ad
6
+ metadata.gz: 0dc44288ee3db8151b13dd986ff45411930f7b661e4b9018def0d4da8fdf5bdba78c16632875c36c595d3418345401d2f752bae009da0adf7929dac6b60dd854
7
+ data.tar.gz: 987843f41e8e657745a643f332bb061dd551b481daba34282aeefe5ff09b8e44bfda465739ddf5b45b4f33c5981a94e8976c239bf1368f1cecaedfc7a7097a69
data/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.2.0 (28 March 2026)
4
+
5
+ - Implement autoloading for Terser and update Compressor class
6
+ - CI update with Rails 7.2, 8.0, 8.1
7
+
8
+ ## 2.1.0 (27 April 2024)
9
+
10
+ - Terser dependency to ~> 1.2
11
+
3
12
  ## 2.0.0 (31 March 2024)
4
13
 
5
14
  - Ruby required >= 2.6
data/README.md CHANGED
@@ -23,6 +23,10 @@ to generate source maps using terser as compressor.
23
23
  </tr>
24
24
  </thead>
25
25
  <tbody>
26
+ <tr>
27
+ <td>8.x</td>
28
+ <td>&checkmark;</td>
29
+ </tr>
26
30
  <tr>
27
31
  <td>7.x</td>
28
32
  <td>&checkmark;</td>
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'terser'
4
+
5
+ module SprocketsTerserWithSourceMaps
6
+ module Autoload
7
+ Terser = ::Terser
8
+ end
9
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SprocketsTerserWithSourceMaps
4
+ module Autoload # :nodoc:
5
+ autoload :Terser, 'sprockets_terser_with_source_maps/autoload/terser'
6
+ end
7
+ end
@@ -1,21 +1,38 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'sprockets/digest_utils'
4
- require 'terser/compressor'
4
+ require 'sprockets_terser_with_source_maps/autoload'
5
5
  require 'logger'
6
6
 
7
7
  module SprocketsTerserWithSourceMaps
8
8
  # Custom compressor to generate sourcemaps
9
- class Compressor < Terser::Compressor
9
+ class Compressor
10
10
  attr_accessor :logger
11
11
 
12
12
  def initialize(options = {})
13
- @logger = Logger.new($stdout)
14
- @logger.level = Logger::INFO
13
+ @logger = ::Logger.new($stdout)
14
+ @logger.level = ::Logger::INFO
15
+
16
+ options[:comments] ||= :none
15
17
  @options = options.merge(Rails.application.config.assets.terser.to_h)
16
- super(@options)
18
+ @cache_key = -"Terser:#{Autoload::Terser::VERSION}:#{VERSION}:#{::Sprockets::DigestUtils.digest(@options)}"
19
+ @terser = Autoload::Terser.new(@options)
20
+ end
21
+
22
+ def self.instance
23
+ @instance ||= new
24
+ end
25
+
26
+ def self.call(input)
27
+ instance.call(input)
28
+ end
29
+
30
+ def self.cache_key
31
+ instance.cache_key
17
32
  end
18
33
 
34
+ attr_reader :cache_key
35
+
19
36
  def call(input)
20
37
  input_options = { source_map: { filename: input[:filename] } }
21
38
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SprocketsTerserWithSourceMaps
4
- VERSION = '2.0.0'
4
+ VERSION = '2.2.0'
5
5
  end
@@ -4,7 +4,6 @@ require 'sprockets'
4
4
  require 'sprockets_terser_with_source_maps/version'
5
5
  require 'sprockets_terser_with_source_maps/compressor'
6
6
  require 'sprockets_terser_with_source_maps/railtie' if defined? Rails::Railtie
7
- require 'terser'
8
7
 
9
8
  Sprockets.register_compressor 'application/javascript',
10
9
  :terser_with_source_maps,
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sprockets_terser_with_source_maps
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Javier Menéndez Rizo
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-03-31 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: sprockets-rails
@@ -30,14 +29,14 @@ dependencies:
30
29
  requirements:
31
30
  - - "~>"
32
31
  - !ruby/object:Gem::Version
33
- version: 1.1.0
32
+ version: '1.2'
34
33
  type: :runtime
35
34
  prerelease: false
36
35
  version_requirements: !ruby/object:Gem::Requirement
37
36
  requirements:
38
37
  - - "~>"
39
38
  - !ruby/object:Gem::Version
40
- version: 1.1.0
39
+ version: '1.2'
41
40
  - !ruby/object:Gem::Dependency
42
41
  name: bundler
43
42
  requirement: !ruby/object:Gem::Requirement
@@ -52,6 +51,20 @@ dependencies:
52
51
  - - ">="
53
52
  - !ruby/object:Gem::Version
54
53
  version: '0'
54
+ - !ruby/object:Gem::Dependency
55
+ name: ostruct
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ type: :development
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
55
68
  - !ruby/object:Gem::Dependency
56
69
  name: railties
57
70
  requirement: !ruby/object:Gem::Requirement
@@ -70,14 +83,14 @@ dependencies:
70
83
  name: rake
71
84
  requirement: !ruby/object:Gem::Requirement
72
85
  requirements:
73
- - - "~>"
86
+ - - ">="
74
87
  - !ruby/object:Gem::Version
75
88
  version: '12.0'
76
89
  type: :development
77
90
  prerelease: false
78
91
  version_requirements: !ruby/object:Gem::Requirement
79
92
  requirements:
80
- - - "~>"
93
+ - - ">="
81
94
  - !ruby/object:Gem::Version
82
95
  version: '12.0'
83
96
  - !ruby/object:Gem::Dependency
@@ -120,6 +133,8 @@ files:
120
133
  - LICENSE.txt
121
134
  - README.md
122
135
  - lib/sprockets_terser_with_source_maps.rb
136
+ - lib/sprockets_terser_with_source_maps/autoload.rb
137
+ - lib/sprockets_terser_with_source_maps/autoload/terser.rb
123
138
  - lib/sprockets_terser_with_source_maps/compressor.rb
124
139
  - lib/sprockets_terser_with_source_maps/railtie.rb
125
140
  - lib/sprockets_terser_with_source_maps/version.rb
@@ -128,10 +143,9 @@ licenses:
128
143
  - MIT
129
144
  metadata:
130
145
  changelog_uri: https://github.com/javier-menendez/sprockets_terser_with_source_maps/blob/main/CHANGELOG.md
131
- documentation_uri: https://www.rubydoc.info/gems/sprockets_terser_with_source_maps/2.0.0
146
+ documentation_uri: https://www.rubydoc.info/gems/sprockets_terser_with_source_maps/2.2.0
132
147
  bug_tracker_uri: https://github.com/javier-menendez/sprockets_terser_with_source_maps/issues
133
148
  rubygems_mfa_required: 'true'
134
- post_install_message:
135
149
  rdoc_options: []
136
150
  require_paths:
137
151
  - lib
@@ -146,8 +160,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
146
160
  - !ruby/object:Gem::Version
147
161
  version: '0'
148
162
  requirements: []
149
- rubygems_version: 3.4.19
150
- signing_key:
163
+ rubygems_version: 3.6.9
151
164
  specification_version: 4
152
165
  summary: Create javascript source maps for your Rails applications
153
166
  test_files: []