cssminify2 2.0.1 → 2.1.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 (95) hide show
  1. checksums.yaml +5 -5
  2. data/.travis.yml +10 -5
  3. data/CHANGELOG.md +121 -0
  4. data/Dockerfile +16 -0
  5. data/Gemfile +1 -1
  6. data/README.md +501 -42
  7. data/cssminify2.gemspec +6 -2
  8. data/docs/ADVANCED_USAGE.md +616 -0
  9. data/docs/API_REFERENCE.md +464 -0
  10. data/docs/EXAMPLES.md +844 -0
  11. data/docs/MIGRATION_GUIDE.md +586 -0
  12. data/lib/cssminify2/cssmin.rb +89 -7
  13. data/lib/cssminify2/cssmin_enhanced.rb +424 -0
  14. data/lib/cssminify2/enhanced.rb +818 -0
  15. data/lib/cssminify2/version.rb +1 -1
  16. data/lib/cssminify2.rb +53 -4
  17. data/spec/cssminify_spec.rb +49 -34
  18. data/spec/tests/README +6 -0
  19. data/spec/tests/_munge.js +8 -0
  20. data/spec/tests/_munge.js.min +1 -0
  21. data/spec/tests/_string_combo.js +5 -0
  22. data/spec/tests/_string_combo.js.min +1 -0
  23. data/spec/tests/_string_combo2.js +4 -0
  24. data/spec/tests/_string_combo2.js.min +1 -0
  25. data/spec/tests/_string_combo3.js +5 -0
  26. data/spec/tests/_string_combo3.js.min +1 -0
  27. data/spec/tests/_syntax_error.js +73 -0
  28. data/spec/tests/_syntax_error.js.min +1 -0
  29. data/spec/tests/border-none.css +6 -1
  30. data/spec/tests/border-none.css.min +1 -1
  31. data/spec/tests/bug-flex.css +3 -0
  32. data/spec/tests/bug-flex.css.min +1 -0
  33. data/spec/tests/bug-nested-pseudoclass.css +3 -0
  34. data/spec/tests/bug-nested-pseudoclass.css.min +1 -0
  35. data/spec/tests/bug-preservetoken-calc.css +8 -0
  36. data/spec/tests/bug-preservetoken-calc.css.min +1 -0
  37. data/spec/tests/color-keyword.css +1 -0
  38. data/spec/tests/color-keyword.css.min +1 -0
  39. data/spec/tests/color.css +2 -0
  40. data/spec/tests/color.css.min +1 -1
  41. data/spec/tests/concat-charset.css +2 -2
  42. data/spec/tests/concat-charset.css.min +1 -1
  43. data/spec/tests/dataurl-singlequote-font.css +1 -1
  44. data/spec/tests/dataurl-validity.html +29 -0
  45. data/spec/tests/float.js +2 -0
  46. data/spec/tests/float.js.min +1 -0
  47. data/spec/tests/hsla-issue81.css.FAIL +4 -0
  48. data/spec/tests/hsla-issue81.css.min +1 -0
  49. data/spec/tests/ie-backslash9-hack.css +2 -0
  50. data/spec/tests/ie-backslash9-hack.css.min +1 -0
  51. data/spec/tests/issue-59.css +7 -0
  52. data/spec/tests/issue-59.css.min +1 -0
  53. data/spec/tests/issue151.css +8 -0
  54. data/spec/tests/issue151.css.min +1 -0
  55. data/spec/tests/issue172.css.FAIL +4 -0
  56. data/spec/tests/issue172.css.min +1 -0
  57. data/spec/tests/issue180.css +16 -0
  58. data/spec/tests/issue180.css.min +1 -0
  59. data/spec/tests/issue205.css +2 -0
  60. data/spec/tests/issue205.css.min +1 -0
  61. data/spec/tests/issue221.css +1 -1
  62. data/spec/tests/issue221.css.min +1 -1
  63. data/spec/tests/issue222.css +2 -2
  64. data/spec/tests/issue222.css.min +1 -1
  65. data/spec/tests/issue71.js.FAIL +4 -0
  66. data/spec/tests/issue71.js.min +1 -0
  67. data/spec/tests/issue86.js +2 -0
  68. data/spec/tests/issue86.js.min +1 -0
  69. data/spec/tests/jquery-1.6.4.js +9046 -0
  70. data/spec/tests/jquery-1.6.4.js.min +23 -0
  71. data/spec/tests/lowercasing.css +63 -0
  72. data/spec/tests/lowercasing.css.min +1 -0
  73. data/spec/tests/media-test.css +2 -2
  74. data/spec/tests/old-ie-filter-matrix.css +8 -0
  75. data/spec/tests/old-ie-filter-matrix.css.min +1 -0
  76. data/spec/tests/opera-pixel-ratio.css +14 -0
  77. data/spec/tests/opera-pixel-ratio.css.min +1 -0
  78. data/spec/tests/pointzeros.css +6 -0
  79. data/spec/tests/pointzeros.css.min +1 -0
  80. data/spec/tests/preserve-important.css +1 -0
  81. data/spec/tests/preserve-important.css.min +1 -0
  82. data/spec/tests/promise-catch-finally-issue203.js +4 -0
  83. data/spec/tests/promise-catch-finally-issue203.js.min +1 -0
  84. data/spec/tests/pseudo-first.css +2 -2
  85. data/spec/tests/rgb-issue81.css.FAIL +4 -0
  86. data/spec/tests/rgb-issue81.css.min +1 -0
  87. data/spec/tests/suite.rhino +3 -0
  88. data/spec/tests/suite.sh +49 -0
  89. data/spec/tests/zeros.css +2 -2
  90. data/spec/tests/zeros.css.min +1 -1
  91. metadata +129 -14
  92. data/spec/tests/bug2528093.css +0 -3
  93. data/spec/tests/bug2528093.css.min +0 -1
  94. data/spec/tests/keyframe.css +0 -4
  95. data/spec/tests/keyframe.css.min +0 -1
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cssminify2
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Spurrier
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-01-19 00:00:00.000000000 Z
11
+ date: 2025-08-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '2.7'
19
+ version: '3.12'
20
20
  type: :development
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: '2.7'
26
+ version: '3.12'
27
27
  description: |2
28
28
  The CSSminify gem provides CSS compression using YUI compressor. Instead of wrapping around the Java or Javascript version of YUI compressor it uses a native Ruby port of the CSS engine. Therefore this gem has no dependencies.
29
29
  This package is a fork of the original (now unmaintained) version.
@@ -37,23 +37,48 @@ extra_rdoc_files:
37
37
  files:
38
38
  - ".gitignore"
39
39
  - ".travis.yml"
40
+ - CHANGELOG.md
40
41
  - CHANGES.md
42
+ - Dockerfile
41
43
  - Gemfile
42
44
  - LICENSE.md
43
45
  - README.md
44
46
  - cssminify2.gemspec
47
+ - docs/ADVANCED_USAGE.md
48
+ - docs/API_REFERENCE.md
49
+ - docs/EXAMPLES.md
50
+ - docs/MIGRATION_GUIDE.md
45
51
  - lib/cssminify2.rb
46
52
  - lib/cssminify2/cssmin.rb
53
+ - lib/cssminify2/cssmin_enhanced.rb
54
+ - lib/cssminify2/enhanced.rb
47
55
  - lib/cssminify2/version.rb
48
56
  - spec/cssminify_spec.rb
49
57
  - spec/sample.css
50
58
  - spec/spec_helper.rb
59
+ - spec/tests/README
60
+ - spec/tests/_munge.js
61
+ - spec/tests/_munge.js.min
62
+ - spec/tests/_string_combo.js
63
+ - spec/tests/_string_combo.js.min
64
+ - spec/tests/_string_combo2.js
65
+ - spec/tests/_string_combo2.js.min
66
+ - spec/tests/_string_combo3.js
67
+ - spec/tests/_string_combo3.js.min
68
+ - spec/tests/_syntax_error.js
69
+ - spec/tests/_syntax_error.js.min
51
70
  - spec/tests/background-position.css
52
71
  - spec/tests/background-position.css.min
53
72
  - spec/tests/border-none.css
54
73
  - spec/tests/border-none.css.min
55
74
  - spec/tests/box-model-hack.css
56
75
  - spec/tests/box-model-hack.css.min
76
+ - spec/tests/bug-flex.css
77
+ - spec/tests/bug-flex.css.min
78
+ - spec/tests/bug-nested-pseudoclass.css
79
+ - spec/tests/bug-nested-pseudoclass.css.min
80
+ - spec/tests/bug-preservetoken-calc.css
81
+ - spec/tests/bug-preservetoken-calc.css.min
57
82
  - spec/tests/bug2527974.css
58
83
  - spec/tests/bug2527974.css.min
59
84
  - spec/tests/bug2527991.css
@@ -62,10 +87,10 @@ files:
62
87
  - spec/tests/bug2527998.css.min
63
88
  - spec/tests/bug2528034.css
64
89
  - spec/tests/bug2528034.css.min
65
- - spec/tests/bug2528093.css
66
- - spec/tests/bug2528093.css.min
67
90
  - spec/tests/charset-media.css
68
91
  - spec/tests/charset-media.css.min
92
+ - spec/tests/color-keyword.css
93
+ - spec/tests/color-keyword.css.min
69
94
  - spec/tests/color-simple.css
70
95
  - spec/tests/color-simple.css.min
71
96
  - spec/tests/color.css
@@ -106,44 +131,81 @@ files:
106
131
  - spec/tests/dataurl-realdata-yuiapp.css.min
107
132
  - spec/tests/dataurl-singlequote-font.css
108
133
  - spec/tests/dataurl-singlequote-font.css.min
134
+ - spec/tests/dataurl-validity.html
109
135
  - spec/tests/decimals.css
110
136
  - spec/tests/decimals.css.min
111
137
  - spec/tests/dollar-header.css
112
138
  - spec/tests/dollar-header.css.min
139
+ - spec/tests/float.js
140
+ - spec/tests/float.js.min
113
141
  - spec/tests/font-face.css
114
142
  - spec/tests/font-face.css.min
143
+ - spec/tests/hsla-issue81.css.FAIL
144
+ - spec/tests/hsla-issue81.css.min
145
+ - spec/tests/ie-backslash9-hack.css
146
+ - spec/tests/ie-backslash9-hack.css.min
115
147
  - spec/tests/ie5mac.css
116
148
  - spec/tests/ie5mac.css.min
149
+ - spec/tests/issue-59.css
150
+ - spec/tests/issue-59.css.min
151
+ - spec/tests/issue151.css
152
+ - spec/tests/issue151.css.min
153
+ - spec/tests/issue172.css.FAIL
154
+ - spec/tests/issue172.css.min
155
+ - spec/tests/issue180.css
156
+ - spec/tests/issue180.css.min
157
+ - spec/tests/issue205.css
158
+ - spec/tests/issue205.css.min
117
159
  - spec/tests/issue221.css
118
160
  - spec/tests/issue221.css.min
119
161
  - spec/tests/issue222.css
120
162
  - spec/tests/issue222.css.min
121
- - spec/tests/keyframe.css
122
- - spec/tests/keyframe.css.min
163
+ - spec/tests/issue71.js.FAIL
164
+ - spec/tests/issue71.js.min
165
+ - spec/tests/issue86.js
166
+ - spec/tests/issue86.js.min
167
+ - spec/tests/jquery-1.6.4.js
168
+ - spec/tests/jquery-1.6.4.js.min
169
+ - spec/tests/lowercasing.css
170
+ - spec/tests/lowercasing.css.min
123
171
  - spec/tests/media-empty-class.css
124
172
  - spec/tests/media-empty-class.css.min
125
173
  - spec/tests/media-multi.css
126
174
  - spec/tests/media-multi.css.min
127
175
  - spec/tests/media-test.css
128
176
  - spec/tests/media-test.css.min
177
+ - spec/tests/old-ie-filter-matrix.css
178
+ - spec/tests/old-ie-filter-matrix.css.min
129
179
  - spec/tests/opacity-filter.css
130
180
  - spec/tests/opacity-filter.css.min
181
+ - spec/tests/opera-pixel-ratio.css
182
+ - spec/tests/opera-pixel-ratio.css.min
183
+ - spec/tests/pointzeros.css
184
+ - spec/tests/pointzeros.css.min
131
185
  - spec/tests/preserve-case.css
132
186
  - spec/tests/preserve-case.css.min
187
+ - spec/tests/preserve-important.css
188
+ - spec/tests/preserve-important.css.min
133
189
  - spec/tests/preserve-new-line.css
134
190
  - spec/tests/preserve-new-line.css.min
135
191
  - spec/tests/preserve-strings.css
136
192
  - spec/tests/preserve-strings.css.min
193
+ - spec/tests/promise-catch-finally-issue203.js
194
+ - spec/tests/promise-catch-finally-issue203.js.min
137
195
  - spec/tests/pseudo-first.css
138
196
  - spec/tests/pseudo-first.css.min
139
197
  - spec/tests/pseudo.css
140
198
  - spec/tests/pseudo.css.min
199
+ - spec/tests/rgb-issue81.css.FAIL
200
+ - spec/tests/rgb-issue81.css.min
141
201
  - spec/tests/special-comments.css
142
202
  - spec/tests/special-comments.css.min
143
203
  - spec/tests/star-underscore-hacks.css
144
204
  - spec/tests/star-underscore-hacks.css.min
145
205
  - spec/tests/string-in-comment.css
146
206
  - spec/tests/string-in-comment.css.min
207
+ - spec/tests/suite.rhino
208
+ - spec/tests/suite.sh
147
209
  - spec/tests/webkit-transform.css
148
210
  - spec/tests/webkit-transform.css.min
149
211
  - spec/tests/zeros.css
@@ -167,8 +229,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
167
229
  - !ruby/object:Gem::Version
168
230
  version: '0'
169
231
  requirements: []
170
- rubyforge_project: cssminify2
171
- rubygems_version: 2.5.1
232
+ rubygems_version: 3.0.3.1
172
233
  signing_key:
173
234
  specification_version: 4
174
235
  summary: CSS minification with YUI compressor, but as native Ruby port.
@@ -176,12 +237,29 @@ test_files:
176
237
  - spec/cssminify_spec.rb
177
238
  - spec/sample.css
178
239
  - spec/spec_helper.rb
240
+ - spec/tests/README
241
+ - spec/tests/_munge.js
242
+ - spec/tests/_munge.js.min
243
+ - spec/tests/_string_combo.js
244
+ - spec/tests/_string_combo.js.min
245
+ - spec/tests/_string_combo2.js
246
+ - spec/tests/_string_combo2.js.min
247
+ - spec/tests/_string_combo3.js
248
+ - spec/tests/_string_combo3.js.min
249
+ - spec/tests/_syntax_error.js
250
+ - spec/tests/_syntax_error.js.min
179
251
  - spec/tests/background-position.css
180
252
  - spec/tests/background-position.css.min
181
253
  - spec/tests/border-none.css
182
254
  - spec/tests/border-none.css.min
183
255
  - spec/tests/box-model-hack.css
184
256
  - spec/tests/box-model-hack.css.min
257
+ - spec/tests/bug-flex.css
258
+ - spec/tests/bug-flex.css.min
259
+ - spec/tests/bug-nested-pseudoclass.css
260
+ - spec/tests/bug-nested-pseudoclass.css.min
261
+ - spec/tests/bug-preservetoken-calc.css
262
+ - spec/tests/bug-preservetoken-calc.css.min
185
263
  - spec/tests/bug2527974.css
186
264
  - spec/tests/bug2527974.css.min
187
265
  - spec/tests/bug2527991.css
@@ -190,10 +268,10 @@ test_files:
190
268
  - spec/tests/bug2527998.css.min
191
269
  - spec/tests/bug2528034.css
192
270
  - spec/tests/bug2528034.css.min
193
- - spec/tests/bug2528093.css
194
- - spec/tests/bug2528093.css.min
195
271
  - spec/tests/charset-media.css
196
272
  - spec/tests/charset-media.css.min
273
+ - spec/tests/color-keyword.css
274
+ - spec/tests/color-keyword.css.min
197
275
  - spec/tests/color-simple.css
198
276
  - spec/tests/color-simple.css.min
199
277
  - spec/tests/color.css
@@ -234,44 +312,81 @@ test_files:
234
312
  - spec/tests/dataurl-realdata-yuiapp.css.min
235
313
  - spec/tests/dataurl-singlequote-font.css
236
314
  - spec/tests/dataurl-singlequote-font.css.min
315
+ - spec/tests/dataurl-validity.html
237
316
  - spec/tests/decimals.css
238
317
  - spec/tests/decimals.css.min
239
318
  - spec/tests/dollar-header.css
240
319
  - spec/tests/dollar-header.css.min
320
+ - spec/tests/float.js
321
+ - spec/tests/float.js.min
241
322
  - spec/tests/font-face.css
242
323
  - spec/tests/font-face.css.min
324
+ - spec/tests/hsla-issue81.css.FAIL
325
+ - spec/tests/hsla-issue81.css.min
326
+ - spec/tests/ie-backslash9-hack.css
327
+ - spec/tests/ie-backslash9-hack.css.min
243
328
  - spec/tests/ie5mac.css
244
329
  - spec/tests/ie5mac.css.min
330
+ - spec/tests/issue-59.css
331
+ - spec/tests/issue-59.css.min
332
+ - spec/tests/issue151.css
333
+ - spec/tests/issue151.css.min
334
+ - spec/tests/issue172.css.FAIL
335
+ - spec/tests/issue172.css.min
336
+ - spec/tests/issue180.css
337
+ - spec/tests/issue180.css.min
338
+ - spec/tests/issue205.css
339
+ - spec/tests/issue205.css.min
245
340
  - spec/tests/issue221.css
246
341
  - spec/tests/issue221.css.min
247
342
  - spec/tests/issue222.css
248
343
  - spec/tests/issue222.css.min
249
- - spec/tests/keyframe.css
250
- - spec/tests/keyframe.css.min
344
+ - spec/tests/issue71.js.FAIL
345
+ - spec/tests/issue71.js.min
346
+ - spec/tests/issue86.js
347
+ - spec/tests/issue86.js.min
348
+ - spec/tests/jquery-1.6.4.js
349
+ - spec/tests/jquery-1.6.4.js.min
350
+ - spec/tests/lowercasing.css
351
+ - spec/tests/lowercasing.css.min
251
352
  - spec/tests/media-empty-class.css
252
353
  - spec/tests/media-empty-class.css.min
253
354
  - spec/tests/media-multi.css
254
355
  - spec/tests/media-multi.css.min
255
356
  - spec/tests/media-test.css
256
357
  - spec/tests/media-test.css.min
358
+ - spec/tests/old-ie-filter-matrix.css
359
+ - spec/tests/old-ie-filter-matrix.css.min
257
360
  - spec/tests/opacity-filter.css
258
361
  - spec/tests/opacity-filter.css.min
362
+ - spec/tests/opera-pixel-ratio.css
363
+ - spec/tests/opera-pixel-ratio.css.min
364
+ - spec/tests/pointzeros.css
365
+ - spec/tests/pointzeros.css.min
259
366
  - spec/tests/preserve-case.css
260
367
  - spec/tests/preserve-case.css.min
368
+ - spec/tests/preserve-important.css
369
+ - spec/tests/preserve-important.css.min
261
370
  - spec/tests/preserve-new-line.css
262
371
  - spec/tests/preserve-new-line.css.min
263
372
  - spec/tests/preserve-strings.css
264
373
  - spec/tests/preserve-strings.css.min
374
+ - spec/tests/promise-catch-finally-issue203.js
375
+ - spec/tests/promise-catch-finally-issue203.js.min
265
376
  - spec/tests/pseudo-first.css
266
377
  - spec/tests/pseudo-first.css.min
267
378
  - spec/tests/pseudo.css
268
379
  - spec/tests/pseudo.css.min
380
+ - spec/tests/rgb-issue81.css.FAIL
381
+ - spec/tests/rgb-issue81.css.min
269
382
  - spec/tests/special-comments.css
270
383
  - spec/tests/special-comments.css.min
271
384
  - spec/tests/star-underscore-hacks.css
272
385
  - spec/tests/star-underscore-hacks.css.min
273
386
  - spec/tests/string-in-comment.css
274
387
  - spec/tests/string-in-comment.css.min
388
+ - spec/tests/suite.rhino
389
+ - spec/tests/suite.sh
275
390
  - spec/tests/webkit-transform.css
276
391
  - spec/tests/webkit-transform.css.min
277
392
  - spec/tests/zeros.css
@@ -1,3 +0,0 @@
1
- .test {
2
- background-image: -moz-linear-gradient(left,rgb(255,255,255)10%,rgb(240,240,240)90%);
3
- }
@@ -1 +0,0 @@
1
- .test{background-image:-moz-linear-gradient(left,#fff 10%,#f0f0f0 90%)}
@@ -1,4 +0,0 @@
1
- @keyframe anim {
2
- 0% { opacity: 0; }
3
- 100% { opacity: 1; }
4
- }
@@ -1 +0,0 @@
1
- @keyframe anim{0%{opacity:0}100%{opacity:1}}