sprockets 3.7.2 → 4.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.
Files changed (96) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +66 -261
  3. data/{LICENSE → MIT-LICENSE} +2 -2
  4. data/README.md +527 -320
  5. data/bin/sprockets +11 -7
  6. data/lib/rake/sprocketstask.rb +9 -4
  7. data/lib/sprockets/add_source_map_comment_to_asset_processor.rb +60 -0
  8. data/lib/sprockets/asset.rb +39 -27
  9. data/lib/sprockets/autoload/babel.rb +8 -0
  10. data/lib/sprockets/autoload/closure.rb +1 -0
  11. data/lib/sprockets/autoload/coffee_script.rb +1 -0
  12. data/lib/sprockets/autoload/eco.rb +1 -0
  13. data/lib/sprockets/autoload/ejs.rb +1 -0
  14. data/lib/sprockets/autoload/jsminc.rb +8 -0
  15. data/lib/sprockets/autoload/sass.rb +1 -0
  16. data/lib/sprockets/autoload/sassc.rb +8 -0
  17. data/lib/sprockets/autoload/uglifier.rb +1 -0
  18. data/lib/sprockets/autoload/yui.rb +1 -0
  19. data/lib/sprockets/autoload/zopfli.rb +7 -0
  20. data/lib/sprockets/autoload.rb +5 -0
  21. data/lib/sprockets/babel_processor.rb +66 -0
  22. data/lib/sprockets/base.rb +49 -12
  23. data/lib/sprockets/bower.rb +6 -3
  24. data/lib/sprockets/bundle.rb +41 -5
  25. data/lib/sprockets/cache/file_store.rb +25 -3
  26. data/lib/sprockets/cache/memory_store.rb +28 -10
  27. data/lib/sprockets/cache/null_store.rb +8 -0
  28. data/lib/sprockets/cache.rb +37 -2
  29. data/lib/sprockets/cached_environment.rb +15 -20
  30. data/lib/sprockets/closure_compressor.rb +1 -0
  31. data/lib/sprockets/coffee_script_processor.rb +19 -5
  32. data/lib/sprockets/compressing.rb +43 -3
  33. data/lib/sprockets/configuration.rb +5 -9
  34. data/lib/sprockets/context.rb +99 -25
  35. data/lib/sprockets/dependencies.rb +2 -1
  36. data/lib/sprockets/digest_utils.rb +35 -18
  37. data/lib/sprockets/directive_processor.rb +64 -36
  38. data/lib/sprockets/eco_processor.rb +2 -1
  39. data/lib/sprockets/ejs_processor.rb +2 -1
  40. data/lib/sprockets/encoding_utils.rb +1 -0
  41. data/lib/sprockets/environment.rb +9 -4
  42. data/lib/sprockets/erb_processor.rb +34 -21
  43. data/lib/sprockets/errors.rb +1 -0
  44. data/lib/sprockets/exporters/base.rb +71 -0
  45. data/lib/sprockets/exporters/file_exporter.rb +24 -0
  46. data/lib/sprockets/exporters/zlib_exporter.rb +33 -0
  47. data/lib/sprockets/exporters/zopfli_exporter.rb +14 -0
  48. data/lib/sprockets/exporting.rb +73 -0
  49. data/lib/sprockets/file_reader.rb +1 -0
  50. data/lib/sprockets/http_utils.rb +25 -7
  51. data/lib/sprockets/jsminc_compressor.rb +32 -0
  52. data/lib/sprockets/jst_processor.rb +11 -10
  53. data/lib/sprockets/loader.rb +88 -68
  54. data/lib/sprockets/manifest.rb +67 -64
  55. data/lib/sprockets/manifest_utils.rb +9 -6
  56. data/lib/sprockets/mime.rb +8 -42
  57. data/lib/sprockets/npm.rb +52 -0
  58. data/lib/sprockets/path_dependency_utils.rb +3 -11
  59. data/lib/sprockets/path_digest_utils.rb +2 -1
  60. data/lib/sprockets/path_utils.rb +88 -8
  61. data/lib/sprockets/paths.rb +1 -0
  62. data/lib/sprockets/preprocessors/default_source_map.rb +49 -0
  63. data/lib/sprockets/processing.rb +32 -62
  64. data/lib/sprockets/processor_utils.rb +28 -38
  65. data/lib/sprockets/resolve.rb +177 -93
  66. data/lib/sprockets/sass_cache_store.rb +2 -6
  67. data/lib/sprockets/sass_compressor.rb +13 -1
  68. data/lib/sprockets/sass_functions.rb +1 -0
  69. data/lib/sprockets/sass_importer.rb +1 -0
  70. data/lib/sprockets/sass_processor.rb +31 -10
  71. data/lib/sprockets/sassc_compressor.rb +56 -0
  72. data/lib/sprockets/sassc_processor.rb +297 -0
  73. data/lib/sprockets/server.rb +52 -39
  74. data/lib/sprockets/source_map_processor.rb +66 -0
  75. data/lib/sprockets/source_map_utils.rb +483 -0
  76. data/lib/sprockets/transformers.rb +63 -35
  77. data/lib/sprockets/uglifier_compressor.rb +21 -11
  78. data/lib/sprockets/unloaded_asset.rb +13 -11
  79. data/lib/sprockets/uri_tar.rb +1 -0
  80. data/lib/sprockets/uri_utils.rb +12 -9
  81. data/lib/sprockets/utils/gzip.rb +46 -14
  82. data/lib/sprockets/utils.rb +64 -89
  83. data/lib/sprockets/version.rb +2 -1
  84. data/lib/sprockets/yui_compressor.rb +1 -0
  85. data/lib/sprockets.rb +102 -39
  86. metadata +139 -34
  87. data/lib/sprockets/coffee_script_template.rb +0 -17
  88. data/lib/sprockets/deprecation.rb +0 -90
  89. data/lib/sprockets/eco_template.rb +0 -17
  90. data/lib/sprockets/ejs_template.rb +0 -17
  91. data/lib/sprockets/engines.rb +0 -92
  92. data/lib/sprockets/erb_template.rb +0 -11
  93. data/lib/sprockets/legacy.rb +0 -330
  94. data/lib/sprockets/legacy_proc_processor.rb +0 -35
  95. data/lib/sprockets/legacy_tilt_processor.rb +0 -29
  96. data/lib/sprockets/sass_template.rb +0 -19
data/lib/sprockets.rb CHANGED
@@ -1,10 +1,11 @@
1
1
  # encoding: utf-8
2
+ # frozen_string_literal: true
3
+
2
4
  require 'sprockets/version'
3
5
  require 'sprockets/cache'
4
6
  require 'sprockets/environment'
5
7
  require 'sprockets/errors'
6
8
  require 'sprockets/manifest'
7
- require 'sprockets/deprecation'
8
9
 
9
10
  module Sprockets
10
11
  require 'sprockets/processor_utils'
@@ -23,21 +24,21 @@ module Sprockets
23
24
  dependencies: Set.new.freeze,
24
25
  dependency_resolvers: {}.freeze,
25
26
  digest_class: Digest::SHA256,
26
- engine_mime_types: {}.freeze,
27
- engines: {}.freeze,
28
27
  mime_exts: {}.freeze,
29
28
  mime_types: {}.freeze,
30
29
  paths: [].freeze,
31
30
  pipelines: {}.freeze,
31
+ pipeline_exts: {}.freeze,
32
32
  postprocessors: Hash.new { |h, k| [].freeze }.freeze,
33
33
  preprocessors: Hash.new { |h, k| [].freeze }.freeze,
34
- registered_transformers: Hash.new { |h, k| {}.freeze }.freeze,
35
- root: File.expand_path('..', __FILE__).freeze,
34
+ registered_transformers: [].freeze,
35
+ root: __dir__.dup.freeze,
36
36
  transformers: Hash.new { |h, k| {}.freeze }.freeze,
37
+ exporters: Hash.new { |h, k| Set.new.freeze }.freeze,
37
38
  version: "",
38
- gzip_enabled: true
39
+ gzip_enabled: true,
40
+ export_concurrent: true
39
41
  }.freeze
40
- self.computed_config = {}
41
42
 
42
43
  @context_class = Context
43
44
 
@@ -48,7 +49,9 @@ module Sprockets
48
49
  # Common asset text types
49
50
  register_mime_type 'application/javascript', extensions: ['.js'], charset: :unicode
50
51
  register_mime_type 'application/json', extensions: ['.json'], charset: :unicode
52
+ register_mime_type 'application/ruby', extensions: ['.rb']
51
53
  register_mime_type 'application/xml', extensions: ['.xml']
54
+ register_mime_type 'application/manifest+json', extensions: ['.webmanifest']
52
55
  register_mime_type 'text/css', extensions: ['.css'], charset: :css
53
56
  register_mime_type 'text/html', extensions: ['.html', '.htm'], charset: :html
54
57
  register_mime_type 'text/plain', extensions: ['.txt', '.text']
@@ -70,84 +73,135 @@ module Sprockets
70
73
  register_mime_type 'audio/aiff', extensions: ['.aiff']
71
74
  register_mime_type 'audio/mpeg', extensions: ['.mp3', '.mp2', '.m2a', '.m3a']
72
75
  register_mime_type 'application/ogg', extensions: ['.ogx']
76
+ register_mime_type 'audio/ogg', extensions: ['.ogg', '.oga']
73
77
  register_mime_type 'audio/midi', extensions: ['.midi', '.mid']
74
78
  register_mime_type 'video/avi', extensions: ['.avi']
75
79
  register_mime_type 'audio/wave', extensions: ['.wav', '.wave']
76
80
  register_mime_type 'video/mp4', extensions: ['.mp4', '.m4v']
81
+ register_mime_type 'audio/aac', extensions: ['.aac']
82
+ register_mime_type 'audio/mp4', extensions: ['.m4a']
83
+ register_mime_type 'audio/flac', extensions: ['.flac']
77
84
 
78
85
  # Common font types
79
86
  register_mime_type 'application/vnd.ms-fontobject', extensions: ['.eot']
80
87
  register_mime_type 'application/x-font-opentype', extensions: ['.otf']
81
88
  register_mime_type 'application/x-font-ttf', extensions: ['.ttf']
82
89
  register_mime_type 'application/font-woff', extensions: ['.woff']
90
+ register_mime_type 'application/font-woff2', extensions: ['.woff2']
91
+
92
+ require 'sprockets/source_map_processor'
93
+ register_mime_type 'application/js-sourcemap+json', extensions: ['.js.map'], charset: :unicode
94
+ register_mime_type 'application/css-sourcemap+json', extensions: ['.css.map']
95
+ register_transformer 'application/javascript', 'application/js-sourcemap+json', SourceMapProcessor
96
+ register_transformer 'text/css', 'application/css-sourcemap+json', SourceMapProcessor
83
97
 
84
98
  register_pipeline :source do |env|
85
99
  []
86
100
  end
87
101
 
88
- register_pipeline :self do |env, type, file_type, engine_extnames|
89
- env.self_processors_for(type, file_type, engine_extnames)
102
+ register_pipeline :self do |env, type, file_type|
103
+ env.self_processors_for(type, file_type)
104
+ end
105
+
106
+ register_pipeline :default do |env, type, file_type|
107
+ env.default_processors_for(type, file_type)
90
108
  end
91
109
 
92
- register_pipeline :default do |env, type, file_type, engine_extnames|
93
- env.default_processors_for(type, file_type, engine_extnames)
110
+ require 'sprockets/add_source_map_comment_to_asset_processor'
111
+ register_pipeline :debug do
112
+ [AddSourceMapCommentToAssetProcessor]
94
113
  end
95
114
 
96
115
  require 'sprockets/directive_processor'
97
- register_preprocessor 'text/css', DirectiveProcessor.new(
98
- comments: ["//", ["/*", "*/"]]
99
- )
100
- register_preprocessor 'application/javascript', DirectiveProcessor.new(
101
- comments: ["//", ["/*", "*/"]] + ["#", ["###", "###"]]
102
- )
116
+ register_preprocessor 'text/css', DirectiveProcessor.new(comments: ["//", ["/*", "*/"]])
117
+ register_preprocessor 'application/javascript', DirectiveProcessor.new(comments: ["//", ["/*", "*/"]])
103
118
 
104
119
  require 'sprockets/bundle'
105
120
  register_bundle_processor 'application/javascript', Bundle
106
121
  register_bundle_processor 'text/css', Bundle
107
122
 
108
- register_bundle_metadata_reducer '*/*', :data, proc { "" }, :concat
109
- register_bundle_metadata_reducer 'application/javascript', :data, proc { "" }, Utils.method(:concat_javascript_sources)
123
+ register_bundle_metadata_reducer '*/*', :data, proc { +"" }, :concat
124
+ register_bundle_metadata_reducer 'application/javascript', :data, proc { +"" }, Utils.method(:concat_javascript_sources)
110
125
  register_bundle_metadata_reducer '*/*', :links, :+
126
+ register_bundle_metadata_reducer '*/*', :sources, proc { [] }, :+
111
127
 
112
128
  require 'sprockets/closure_compressor'
113
129
  require 'sprockets/sass_compressor'
130
+ require 'sprockets/sassc_compressor'
131
+ require 'sprockets/jsminc_compressor'
114
132
  require 'sprockets/uglifier_compressor'
115
133
  require 'sprockets/yui_compressor'
116
134
  register_compressor 'text/css', :sass, SassCompressor
135
+ register_compressor 'text/css', :sassc, SasscCompressor
117
136
  register_compressor 'text/css', :scss, SassCompressor
137
+ register_compressor 'text/css', :scssc, SasscCompressor
118
138
  register_compressor 'text/css', :yui, YUICompressor
119
139
  register_compressor 'application/javascript', :closure, ClosureCompressor
140
+ register_compressor 'application/javascript', :jsmin, JSMincCompressor
141
+ register_compressor 'application/javascript', :jsminc, JSMincCompressor
120
142
  register_compressor 'application/javascript', :uglifier, UglifierCompressor
121
143
  register_compressor 'application/javascript', :uglify, UglifierCompressor
122
144
  register_compressor 'application/javascript', :yui, YUICompressor
123
145
 
146
+ # Babel, TheFuture™ is now
147
+ require 'sprockets/babel_processor'
148
+ register_mime_type 'application/ecmascript-6', extensions: ['.es6'], charset: :unicode
149
+ register_transformer 'application/ecmascript-6', 'application/javascript', BabelProcessor
150
+ register_preprocessor 'application/ecmascript-6', DirectiveProcessor.new(comments: ["//", ["/*", "*/"]])
151
+
124
152
  # Mmm, CoffeeScript
125
153
  require 'sprockets/coffee_script_processor'
126
- Deprecation.silence do
127
- register_engine '.coffee', CoffeeScriptProcessor, mime_type: 'application/javascript', silence_deprecation: true
128
- end
154
+ register_mime_type 'text/coffeescript', extensions: ['.coffee', '.js.coffee']
155
+ register_transformer 'text/coffeescript', 'application/javascript', CoffeeScriptProcessor
156
+ register_preprocessor 'text/coffeescript', DirectiveProcessor.new(comments: ["#", ["###", "###"]])
129
157
 
130
- # JST engines
158
+ # JST processors
131
159
  require 'sprockets/eco_processor'
132
160
  require 'sprockets/ejs_processor'
133
161
  require 'sprockets/jst_processor'
134
- Deprecation.silence do
135
- register_engine '.jst', JstProcessor, mime_type: 'application/javascript', silence_deprecation: true
136
- register_engine '.eco', EcoProcessor, mime_type: 'application/javascript', silence_deprecation: true
137
- register_engine '.ejs', EjsProcessor, mime_type: 'application/javascript', silence_deprecation: true
138
- end
139
-
140
- # CSS engines
141
- require 'sprockets/sass_processor'
142
- Deprecation.silence do
143
- register_engine '.sass', SassProcessor, mime_type: 'text/css', silence_deprecation: true
144
- register_engine '.scss', ScssProcessor, mime_type: 'text/css', silence_deprecation: true
145
- end
162
+ register_mime_type 'text/eco', extensions: ['.eco', '.jst.eco']
163
+ register_mime_type 'text/ejs', extensions: ['.ejs', '.jst.ejs']
164
+ register_transformer 'text/eco', 'application/javascript+function', EcoProcessor
165
+ register_transformer 'text/ejs', 'application/javascript+function', EjsProcessor
166
+ register_transformer 'application/javascript+function', 'application/javascript', JstProcessor
167
+
168
+ # CSS processors
169
+ require 'sprockets/sassc_processor'
170
+ register_mime_type 'text/sass', extensions: ['.sass', '.css.sass']
171
+ register_mime_type 'text/scss', extensions: ['.scss', '.css.scss']
172
+ register_transformer 'text/sass', 'text/css', SasscProcessor
173
+ register_transformer 'text/scss', 'text/css', ScsscProcessor
174
+ register_preprocessor 'text/sass', DirectiveProcessor.new(comments: ["//", ["/*", "*/"]])
175
+ register_preprocessor 'text/scss', DirectiveProcessor.new(comments: ["//", ["/*", "*/"]])
146
176
  register_bundle_metadata_reducer 'text/css', :sass_dependencies, Set.new, :+
147
177
 
148
- # Other
178
+ # ERB
149
179
  require 'sprockets/erb_processor'
150
- register_engine '.erb', ERBProcessor, mime_type: 'text/plain', silence_deprecation: true
180
+ register_transformer_suffix(%w(
181
+ application/ecmascript-6
182
+ application/javascript
183
+ application/json
184
+ application/manifest+json
185
+ application/xml
186
+ text/coffeescript
187
+ text/css
188
+ text/html
189
+ text/plain
190
+ text/sass
191
+ text/scss
192
+ text/yaml
193
+ text/eco
194
+ text/ejs
195
+ ), 'application/\2+ruby', '.erb', ERBProcessor)
196
+
197
+ register_mime_type 'application/html+ruby', extensions: ['.html.erb', '.erb', '.rhtml'], charset: :html
198
+ register_mime_type 'application/xml+ruby', extensions: ['.xml.erb', '.rxml']
199
+
200
+ require 'sprockets/exporters/file_exporter'
201
+ require 'sprockets/exporters/zlib_exporter'
202
+ require 'sprockets/exporters/zopfli_exporter'
203
+ register_exporter '*/*', Exporters::FileExporter
204
+ register_exporter '*/*', Exporters::ZlibExporter
151
205
 
152
206
  register_dependency_resolver 'environment-version' do |env|
153
207
  env.version
@@ -161,9 +215,18 @@ module Sprockets
161
215
  register_dependency_resolver 'processors' do |env, str|
162
216
  env.resolve_processors_cache_key_uri(str)
163
217
  end
218
+ register_dependency_resolver 'env' do |env, str|
219
+ _, var = str.split(':', 2)
220
+ ENV[var]
221
+ end
164
222
 
165
223
  depend_on 'environment-version'
166
224
  depend_on 'environment-paths'
167
- end
168
225
 
169
- require 'sprockets/legacy'
226
+ require 'sprockets/preprocessors/default_source_map'
227
+ register_preprocessor 'text/css', Preprocessors::DefaultSourceMap.new
228
+ register_preprocessor 'application/javascript', Preprocessors::DefaultSourceMap.new
229
+
230
+ register_bundle_metadata_reducer 'text/css', :map, proc { |input| { "version" => 3, "file" => PathUtils.split_subpath(input[:load_path], input[:filename]), "sections" => [] } }, SourceMapUtils.method(:concat_source_maps)
231
+ register_bundle_metadata_reducer 'application/javascript', :map, proc { |input| { "version" => 3, "file" => PathUtils.split_subpath(input[:load_path], input[:filename]), "sections" => [] } }, SourceMapUtils.method(:concat_source_maps)
232
+ end
metadata CHANGED
@@ -1,36 +1,36 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sprockets
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.7.2
4
+ version: 4.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sam Stephenson
8
8
  - Joshua Peek
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2018-06-19 00:00:00.000000000 Z
12
+ date: 2022-12-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rack
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - ">"
18
+ - - ">="
19
19
  - !ruby/object:Gem::Version
20
- version: '1'
20
+ version: 2.2.4
21
21
  - - "<"
22
22
  - !ruby/object:Gem::Version
23
- version: '3'
23
+ version: '4'
24
24
  type: :runtime
25
25
  prerelease: false
26
26
  version_requirements: !ruby/object:Gem::Requirement
27
27
  requirements:
28
- - - ">"
28
+ - - ">="
29
29
  - !ruby/object:Gem::Version
30
- version: '1'
30
+ version: 2.2.4
31
31
  - - "<"
32
32
  - !ruby/object:Gem::Version
33
- version: '3'
33
+ version: '4'
34
34
  - !ruby/object:Gem::Dependency
35
35
  name: concurrent-ruby
36
36
  requirement: !ruby/object:Gem::Requirement
@@ -45,6 +45,34 @@ dependencies:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '1.0'
48
+ - !ruby/object:Gem::Dependency
49
+ name: m
50
+ requirement: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: babel-transpiler
64
+ requirement: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '0.6'
69
+ type: :development
70
+ prerelease: false
71
+ version_requirements: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '0.6'
48
76
  - !ruby/object:Gem::Dependency
49
77
  name: closure-compiler
50
78
  requirement: !ruby/object:Gem::Requirement
@@ -129,6 +157,34 @@ dependencies:
129
157
  - - "~>"
130
158
  - !ruby/object:Gem::Version
131
159
  version: '2.0'
160
+ - !ruby/object:Gem::Dependency
161
+ name: jsminc
162
+ requirement: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: '1.1'
167
+ type: :development
168
+ prerelease: false
169
+ version_requirements: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: '1.1'
174
+ - !ruby/object:Gem::Dependency
175
+ name: timecop
176
+ requirement: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: 0.9.1
181
+ type: :development
182
+ prerelease: false
183
+ version_requirements: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: 0.9.1
132
188
  - !ruby/object:Gem::Dependency
133
189
  name: minitest
134
190
  requirement: !ruby/object:Gem::Requirement
@@ -163,54 +219,68 @@ dependencies:
163
219
  requirements:
164
220
  - - "~>"
165
221
  - !ruby/object:Gem::Version
166
- version: '0.6'
222
+ version: 2.0.0
167
223
  type: :development
168
224
  prerelease: false
169
225
  version_requirements: !ruby/object:Gem::Requirement
170
226
  requirements:
171
227
  - - "~>"
172
228
  - !ruby/object:Gem::Version
173
- version: '0.6'
229
+ version: 2.0.0
174
230
  - !ruby/object:Gem::Dependency
175
231
  name: rake
176
232
  requirement: !ruby/object:Gem::Requirement
177
233
  requirements:
178
234
  - - "~>"
179
235
  - !ruby/object:Gem::Version
180
- version: '10.0'
236
+ version: '12.0'
181
237
  type: :development
182
238
  prerelease: false
183
239
  version_requirements: !ruby/object:Gem::Requirement
184
240
  requirements:
185
241
  - - "~>"
186
242
  - !ruby/object:Gem::Version
187
- version: '10.0'
243
+ version: '12.0'
188
244
  - !ruby/object:Gem::Dependency
189
245
  name: sass
190
246
  requirement: !ruby/object:Gem::Requirement
191
247
  requirements:
192
248
  - - "~>"
193
249
  - !ruby/object:Gem::Version
194
- version: '3.1'
250
+ version: '3.4'
195
251
  type: :development
196
252
  prerelease: false
197
253
  version_requirements: !ruby/object:Gem::Requirement
198
254
  requirements:
199
255
  - - "~>"
200
256
  - !ruby/object:Gem::Version
201
- version: '3.1'
257
+ version: '3.4'
202
258
  - !ruby/object:Gem::Dependency
203
- name: uglifier
259
+ name: sassc
204
260
  requirement: !ruby/object:Gem::Requirement
205
261
  requirements:
206
262
  - - "~>"
207
263
  - !ruby/object:Gem::Version
208
- version: '2.3'
264
+ version: '2.0'
209
265
  type: :development
210
266
  prerelease: false
211
267
  version_requirements: !ruby/object:Gem::Requirement
212
268
  requirements:
213
269
  - - "~>"
270
+ - !ruby/object:Gem::Version
271
+ version: '2.0'
272
+ - !ruby/object:Gem::Dependency
273
+ name: uglifier
274
+ requirement: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - ">="
277
+ - !ruby/object:Gem::Version
278
+ version: '2.3'
279
+ type: :development
280
+ prerelease: false
281
+ version_requirements: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - ">="
214
284
  - !ruby/object:Gem::Version
215
285
  version: '2.3'
216
286
  - !ruby/object:Gem::Dependency
@@ -227,8 +297,36 @@ dependencies:
227
297
  - - "~>"
228
298
  - !ruby/object:Gem::Version
229
299
  version: '0.12'
300
+ - !ruby/object:Gem::Dependency
301
+ name: zopfli
302
+ requirement: !ruby/object:Gem::Requirement
303
+ requirements:
304
+ - - "~>"
305
+ - !ruby/object:Gem::Version
306
+ version: 0.0.4
307
+ type: :development
308
+ prerelease: false
309
+ version_requirements: !ruby/object:Gem::Requirement
310
+ requirements:
311
+ - - "~>"
312
+ - !ruby/object:Gem::Version
313
+ version: 0.0.4
314
+ - !ruby/object:Gem::Dependency
315
+ name: rubocop-performance
316
+ requirement: !ruby/object:Gem::Requirement
317
+ requirements:
318
+ - - "~>"
319
+ - !ruby/object:Gem::Version
320
+ version: '1.3'
321
+ type: :development
322
+ prerelease: false
323
+ version_requirements: !ruby/object:Gem::Requirement
324
+ requirements:
325
+ - - "~>"
326
+ - !ruby/object:Gem::Version
327
+ version: '1.3'
230
328
  description: Sprockets is a Rack-based asset packaging system that concatenates and
231
- serves JavaScript, CoffeeScript, CSS, LESS, Sass, and SCSS.
329
+ serves JavaScript, CoffeeScript, CSS, Sass, and SCSS.
232
330
  email:
233
331
  - sstephenson@gmail.com
234
332
  - josh@joshpeek.com
@@ -238,20 +336,26 @@ extensions: []
238
336
  extra_rdoc_files: []
239
337
  files:
240
338
  - CHANGELOG.md
241
- - LICENSE
339
+ - MIT-LICENSE
242
340
  - README.md
243
341
  - bin/sprockets
244
342
  - lib/rake/sprocketstask.rb
245
343
  - lib/sprockets.rb
344
+ - lib/sprockets/add_source_map_comment_to_asset_processor.rb
246
345
  - lib/sprockets/asset.rb
247
346
  - lib/sprockets/autoload.rb
347
+ - lib/sprockets/autoload/babel.rb
248
348
  - lib/sprockets/autoload/closure.rb
249
349
  - lib/sprockets/autoload/coffee_script.rb
250
350
  - lib/sprockets/autoload/eco.rb
251
351
  - lib/sprockets/autoload/ejs.rb
352
+ - lib/sprockets/autoload/jsminc.rb
252
353
  - lib/sprockets/autoload/sass.rb
354
+ - lib/sprockets/autoload/sassc.rb
253
355
  - lib/sprockets/autoload/uglifier.rb
254
356
  - lib/sprockets/autoload/yui.rb
357
+ - lib/sprockets/autoload/zopfli.rb
358
+ - lib/sprockets/babel_processor.rb
255
359
  - lib/sprockets/base.rb
256
360
  - lib/sprockets/bower.rb
257
361
  - lib/sprockets/bundle.rb
@@ -262,38 +366,37 @@ files:
262
366
  - lib/sprockets/cached_environment.rb
263
367
  - lib/sprockets/closure_compressor.rb
264
368
  - lib/sprockets/coffee_script_processor.rb
265
- - lib/sprockets/coffee_script_template.rb
266
369
  - lib/sprockets/compressing.rb
267
370
  - lib/sprockets/configuration.rb
268
371
  - lib/sprockets/context.rb
269
372
  - lib/sprockets/dependencies.rb
270
- - lib/sprockets/deprecation.rb
271
373
  - lib/sprockets/digest_utils.rb
272
374
  - lib/sprockets/directive_processor.rb
273
375
  - lib/sprockets/eco_processor.rb
274
- - lib/sprockets/eco_template.rb
275
376
  - lib/sprockets/ejs_processor.rb
276
- - lib/sprockets/ejs_template.rb
277
377
  - lib/sprockets/encoding_utils.rb
278
- - lib/sprockets/engines.rb
279
378
  - lib/sprockets/environment.rb
280
379
  - lib/sprockets/erb_processor.rb
281
- - lib/sprockets/erb_template.rb
282
380
  - lib/sprockets/errors.rb
381
+ - lib/sprockets/exporters/base.rb
382
+ - lib/sprockets/exporters/file_exporter.rb
383
+ - lib/sprockets/exporters/zlib_exporter.rb
384
+ - lib/sprockets/exporters/zopfli_exporter.rb
385
+ - lib/sprockets/exporting.rb
283
386
  - lib/sprockets/file_reader.rb
284
387
  - lib/sprockets/http_utils.rb
388
+ - lib/sprockets/jsminc_compressor.rb
285
389
  - lib/sprockets/jst_processor.rb
286
- - lib/sprockets/legacy.rb
287
- - lib/sprockets/legacy_proc_processor.rb
288
- - lib/sprockets/legacy_tilt_processor.rb
289
390
  - lib/sprockets/loader.rb
290
391
  - lib/sprockets/manifest.rb
291
392
  - lib/sprockets/manifest_utils.rb
292
393
  - lib/sprockets/mime.rb
394
+ - lib/sprockets/npm.rb
293
395
  - lib/sprockets/path_dependency_utils.rb
294
396
  - lib/sprockets/path_digest_utils.rb
295
397
  - lib/sprockets/path_utils.rb
296
398
  - lib/sprockets/paths.rb
399
+ - lib/sprockets/preprocessors/default_source_map.rb
297
400
  - lib/sprockets/processing.rb
298
401
  - lib/sprockets/processor_utils.rb
299
402
  - lib/sprockets/resolve.rb
@@ -302,8 +405,11 @@ files:
302
405
  - lib/sprockets/sass_functions.rb
303
406
  - lib/sprockets/sass_importer.rb
304
407
  - lib/sprockets/sass_processor.rb
305
- - lib/sprockets/sass_template.rb
408
+ - lib/sprockets/sassc_compressor.rb
409
+ - lib/sprockets/sassc_processor.rb
306
410
  - lib/sprockets/server.rb
411
+ - lib/sprockets/source_map_processor.rb
412
+ - lib/sprockets/source_map_utils.rb
307
413
  - lib/sprockets/transformers.rb
308
414
  - lib/sprockets/uglifier_compressor.rb
309
415
  - lib/sprockets/unloaded_asset.rb
@@ -317,7 +423,7 @@ homepage: https://github.com/rails/sprockets
317
423
  licenses:
318
424
  - MIT
319
425
  metadata: {}
320
- post_install_message:
426
+ post_install_message:
321
427
  rdoc_options: []
322
428
  require_paths:
323
429
  - lib
@@ -325,16 +431,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
325
431
  requirements:
326
432
  - - ">="
327
433
  - !ruby/object:Gem::Version
328
- version: 1.9.3
434
+ version: 2.5.0
329
435
  required_rubygems_version: !ruby/object:Gem::Requirement
330
436
  requirements:
331
437
  - - ">="
332
438
  - !ruby/object:Gem::Version
333
439
  version: '0'
334
440
  requirements: []
335
- rubyforge_project: sprockets
336
- rubygems_version: 2.7.6
337
- signing_key:
441
+ rubygems_version: 3.3.7
442
+ signing_key:
338
443
  specification_version: 4
339
444
  summary: Rack-based asset packaging system
340
445
  test_files: []
@@ -1,17 +0,0 @@
1
- require 'sprockets/coffee_script_processor'
2
-
3
- module Sprockets
4
- # Deprecated
5
- module CoffeeScriptTemplate
6
- VERSION = CoffeeScriptProcessor::VERSION
7
-
8
- def self.cache_key
9
- CoffeeScriptProcessor.cache_key
10
- end
11
-
12
- def self.call(*args)
13
- Deprecation.new.warn "CoffeeScriptTemplate is deprecated please use CoffeeScriptProcessor instead"
14
- CoffeeScriptProcessor.call(*args)
15
- end
16
- end
17
- end