sass 3.5.2 → 3.7.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (163) hide show
  1. checksums.yaml +4 -4
  2. data/CODE_OF_CONDUCT.md +1 -1
  3. data/CONTRIBUTING.md +3 -3
  4. data/README.md +17 -9
  5. data/VERSION +1 -1
  6. data/VERSION_DATE +1 -1
  7. data/extra/sass-spec-ref.sh +9 -1
  8. data/lib/sass/engine.rb +1 -9
  9. data/lib/sass/exec/base.rb +0 -2
  10. data/lib/sass/exec/sass_scss.rb +1 -5
  11. data/lib/sass/importers/filesystem.rb +4 -2
  12. data/lib/sass/logger/base.rb +11 -0
  13. data/lib/sass/script/css_parser.rb +4 -1
  14. data/lib/sass/script/functions.rb +76 -41
  15. data/lib/sass/script/lexer.rb +62 -19
  16. data/lib/sass/script/parser.rb +260 -93
  17. data/lib/sass/script/tree/funcall.rb +0 -4
  18. data/lib/sass/script/tree/interpolation.rb +0 -3
  19. data/lib/sass/script/tree/operation.rb +1 -1
  20. data/lib/sass/script/value/color.rb +3 -2
  21. data/lib/sass/script/value/helpers.rb +8 -2
  22. data/lib/sass/script/value/number.rb +2 -1
  23. data/lib/sass/scss/css_parser.rb +6 -1
  24. data/lib/sass/scss/parser.rb +48 -18
  25. data/lib/sass/scss/rx.rb +1 -1
  26. data/lib/sass/scss/static_parser.rb +15 -18
  27. data/lib/sass/selector/comma_sequence.rb +2 -1
  28. data/lib/sass/selector/pseudo.rb +1 -1
  29. data/lib/sass/selector/sequence.rb +0 -4
  30. data/lib/sass/source/map.rb +0 -4
  31. data/lib/sass/tree/rule_node.rb +3 -6
  32. data/lib/sass/tree/visitors/perform.rb +2 -6
  33. data/lib/sass/tree/visitors/to_css.rb +4 -11
  34. data/lib/sass/util.rb +60 -20
  35. data/lib/sass/version.rb +0 -2
  36. metadata +38 -162
  37. data/Rakefile +0 -338
  38. data/lib/test.css +0 -4
  39. data/lib/test.css.map +0 -7
  40. data/test/sass-spec.yml +0 -3
  41. data/test/sass/cache_test.rb +0 -130
  42. data/test/sass/callbacks_test.rb +0 -60
  43. data/test/sass/compiler_test.rb +0 -225
  44. data/test/sass/conversion_test.rb +0 -2138
  45. data/test/sass/css2sass_test.rb +0 -523
  46. data/test/sass/css_variable_test.rb +0 -237
  47. data/test/sass/data/hsl-rgb.txt +0 -319
  48. data/test/sass/encoding_test.rb +0 -188
  49. data/test/sass/engine_test.rb +0 -3499
  50. data/test/sass/exec_test.rb +0 -95
  51. data/test/sass/extend_test.rb +0 -1678
  52. data/test/sass/fixtures/test_staleness_check_across_importers.css +0 -1
  53. data/test/sass/fixtures/test_staleness_check_across_importers.scss +0 -1
  54. data/test/sass/functions_test.rb +0 -2021
  55. data/test/sass/importer_test.rb +0 -420
  56. data/test/sass/logger_test.rb +0 -57
  57. data/test/sass/mock_importer.rb +0 -49
  58. data/test/sass/more_results/more1.css +0 -9
  59. data/test/sass/more_results/more1_with_line_comments.css +0 -26
  60. data/test/sass/more_results/more_import.css +0 -29
  61. data/test/sass/more_templates/_more_partial.sass +0 -2
  62. data/test/sass/more_templates/more1.sass +0 -23
  63. data/test/sass/more_templates/more_import.sass +0 -11
  64. data/test/sass/plugin_test.rb +0 -552
  65. data/test/sass/results/alt.css +0 -4
  66. data/test/sass/results/basic.css +0 -9
  67. data/test/sass/results/cached_import_option.css +0 -3
  68. data/test/sass/results/compact.css +0 -5
  69. data/test/sass/results/complex.css +0 -86
  70. data/test/sass/results/compressed.css +0 -1
  71. data/test/sass/results/expanded.css +0 -19
  72. data/test/sass/results/filename_fn.css +0 -3
  73. data/test/sass/results/if.css +0 -3
  74. data/test/sass/results/import.css +0 -31
  75. data/test/sass/results/import_charset.css +0 -5
  76. data/test/sass/results/import_charset_ibm866.css +0 -5
  77. data/test/sass/results/import_content.css +0 -1
  78. data/test/sass/results/line_numbers.css +0 -49
  79. data/test/sass/results/mixins.css +0 -95
  80. data/test/sass/results/multiline.css +0 -24
  81. data/test/sass/results/nested.css +0 -22
  82. data/test/sass/results/options.css +0 -1
  83. data/test/sass/results/parent_ref.css +0 -13
  84. data/test/sass/results/script.css +0 -16
  85. data/test/sass/results/scss_import.css +0 -31
  86. data/test/sass/results/scss_importee.css +0 -2
  87. data/test/sass/results/subdir/nested_subdir/nested_subdir.css +0 -1
  88. data/test/sass/results/subdir/subdir.css +0 -3
  89. data/test/sass/results/units.css +0 -11
  90. data/test/sass/results/warn.css +0 -0
  91. data/test/sass/results/warn_imported.css +0 -0
  92. data/test/sass/script_conversion_test.rb +0 -365
  93. data/test/sass/script_test.rb +0 -1429
  94. data/test/sass/scss/css_test.rb +0 -1266
  95. data/test/sass/scss/rx_test.rb +0 -159
  96. data/test/sass/scss/scss_test.rb +0 -4238
  97. data/test/sass/scss/test_helper.rb +0 -37
  98. data/test/sass/source_map_test.rb +0 -1052
  99. data/test/sass/superselector_test.rb +0 -209
  100. data/test/sass/templates/_cached_import_option_partial.scss +0 -1
  101. data/test/sass/templates/_double_import_loop2.sass +0 -1
  102. data/test/sass/templates/_filename_fn_import.scss +0 -11
  103. data/test/sass/templates/_imported_charset_ibm866.sass +0 -4
  104. data/test/sass/templates/_imported_charset_utf8.sass +0 -4
  105. data/test/sass/templates/_imported_content.sass +0 -3
  106. data/test/sass/templates/_partial.sass +0 -2
  107. data/test/sass/templates/_same_name_different_partiality.scss +0 -1
  108. data/test/sass/templates/alt.sass +0 -16
  109. data/test/sass/templates/basic.sass +0 -23
  110. data/test/sass/templates/bork1.sass +0 -2
  111. data/test/sass/templates/bork2.sass +0 -2
  112. data/test/sass/templates/bork3.sass +0 -2
  113. data/test/sass/templates/bork4.sass +0 -2
  114. data/test/sass/templates/bork5.sass +0 -3
  115. data/test/sass/templates/cached_import_option.scss +0 -3
  116. data/test/sass/templates/compact.sass +0 -17
  117. data/test/sass/templates/complex.sass +0 -305
  118. data/test/sass/templates/compressed.sass +0 -15
  119. data/test/sass/templates/double_import_loop1.sass +0 -1
  120. data/test/sass/templates/expanded.sass +0 -17
  121. data/test/sass/templates/filename_fn.scss +0 -18
  122. data/test/sass/templates/if.sass +0 -11
  123. data/test/sass/templates/import.sass +0 -12
  124. data/test/sass/templates/import_charset.sass +0 -9
  125. data/test/sass/templates/import_charset_ibm866.sass +0 -11
  126. data/test/sass/templates/import_content.sass +0 -4
  127. data/test/sass/templates/importee.less +0 -2
  128. data/test/sass/templates/importee.sass +0 -19
  129. data/test/sass/templates/line_numbers.sass +0 -13
  130. data/test/sass/templates/mixin_bork.sass +0 -5
  131. data/test/sass/templates/mixins.sass +0 -76
  132. data/test/sass/templates/multiline.sass +0 -20
  133. data/test/sass/templates/nested.sass +0 -25
  134. data/test/sass/templates/nested_bork1.sass +0 -2
  135. data/test/sass/templates/nested_bork2.sass +0 -2
  136. data/test/sass/templates/nested_bork3.sass +0 -2
  137. data/test/sass/templates/nested_bork4.sass +0 -2
  138. data/test/sass/templates/nested_import.sass +0 -2
  139. data/test/sass/templates/nested_mixin_bork.sass +0 -6
  140. data/test/sass/templates/options.sass +0 -2
  141. data/test/sass/templates/parent_ref.sass +0 -25
  142. data/test/sass/templates/same_name_different_ext.sass +0 -2
  143. data/test/sass/templates/same_name_different_ext.scss +0 -1
  144. data/test/sass/templates/same_name_different_partiality.scss +0 -1
  145. data/test/sass/templates/script.sass +0 -101
  146. data/test/sass/templates/scss_import.scss +0 -12
  147. data/test/sass/templates/scss_importee.scss +0 -1
  148. data/test/sass/templates/single_import_loop.sass +0 -1
  149. data/test/sass/templates/subdir/import_up1.scss +0 -1
  150. data/test/sass/templates/subdir/import_up2.scss +0 -1
  151. data/test/sass/templates/subdir/nested_subdir/_nested_partial.sass +0 -2
  152. data/test/sass/templates/subdir/nested_subdir/nested_subdir.sass +0 -3
  153. data/test/sass/templates/subdir/subdir.sass +0 -6
  154. data/test/sass/templates/units.sass +0 -11
  155. data/test/sass/templates/warn.sass +0 -3
  156. data/test/sass/templates/warn_imported.sass +0 -4
  157. data/test/sass/test_helper.rb +0 -8
  158. data/test/sass/util/multibyte_string_scanner_test.rb +0 -152
  159. data/test/sass/util/normalized_map_test.rb +0 -50
  160. data/test/sass/util/subset_map_test.rb +0 -90
  161. data/test/sass/util_test.rb +0 -403
  162. data/test/sass/value_helpers_test.rb +0 -178
  163. data/test/test_helper.rb +0 -149
@@ -84,8 +84,6 @@ module Sass::Source
84
84
  # @return [String] The JSON string.
85
85
  # @raise [ArgumentError] If neither `:css_uri` nor `:css_path` and
86
86
  # `:sourcemap_path` are specified.
87
- # @comment
88
- # rubocop:disable MethodLength
89
87
  def to_json(options)
90
88
  css_uri, css_path, sourcemap_path =
91
89
  options[:css_uri], options[:css_path], options[:sourcemap_path]
@@ -197,8 +195,6 @@ module Sass::Source
197
195
  result << "\n}"
198
196
  result
199
197
  end
200
- # @comment
201
- # rubocop:enable MethodLength
202
198
 
203
199
  private
204
200
 
@@ -139,13 +139,10 @@ module Sass::Tree
139
139
  # We don't use real filename/line info because we don't have it yet.
140
140
  # When we get it, we'll set it on the parsed rules if possible.
141
141
  parser = nil
142
- warnings = Sass::Util.silence_warnings do
143
- parser = Sass::SCSS::StaticParser.new(@rule.join.strip, nil, nil, 1)
144
- # rubocop:disable RescueModifier
142
+ warnings = Sass.logger.capture do
143
+ parser = Sass::SCSS::StaticParser.new(
144
+ Sass::Util.strip_except_escapes(@rule.join), nil, nil, 1)
145
145
  @parsed_rules = parser.parse_selector rescue nil
146
- # rubocop:enable RescueModifier
147
-
148
- $stderr.string
149
146
  end
150
147
 
151
148
  # If parsing produces a warning, throw away the result so we can parse
@@ -11,8 +11,6 @@ class Sass::Tree::Visitors::Perform < Sass::Tree::Visitors::Base
11
11
  end
12
12
 
13
13
  # @api private
14
- # @comment
15
- # rubocop:disable MethodLength
16
14
  def perform_arguments(callable, args, splat, environment)
17
15
  desc = "#{callable.type.capitalize} #{callable.name}"
18
16
  downcase_desc = "#{callable.type} #{callable.name}"
@@ -145,8 +143,6 @@ class Sass::Tree::Visitors::Perform < Sass::Tree::Visitors::Base
145
143
  end
146
144
  end
147
145
  end
148
- # @comment
149
- # rubocop:enable MethodLength
150
146
 
151
147
  protected
152
148
 
@@ -351,7 +347,7 @@ WARNING
351
347
  mixin = @environment.mixin(node.name)
352
348
  raise Sass::SyntaxError.new("Undefined mixin '#{node.name}'.") unless mixin
353
349
 
354
- if node.children.any? && !mixin.has_content
350
+ if node.has_children && !mixin.has_content
355
351
  raise Sass::SyntaxError.new(%(Mixin "#{node.name}" does not accept a content block.))
356
352
  end
357
353
 
@@ -557,7 +553,7 @@ WARNING
557
553
  end
558
554
 
559
555
  def run_interp(text)
560
- run_interp_no_strip(text).strip
556
+ Sass::Util.strip_except_escapes(run_interp_no_strip(text))
561
557
  end
562
558
 
563
559
  def handle_import_loop!(node)
@@ -171,8 +171,6 @@ class Sass::Tree::Visitors::ToCss < Sass::Tree::Visitors::Base
171
171
  for_node(node) {output(content)}
172
172
  end
173
173
 
174
- # @comment
175
- # rubocop:disable MethodLength
176
174
  def visit_directive(node)
177
175
  was_in_directive = @in_directive
178
176
  tab_str = ' ' * @tabs
@@ -244,8 +242,6 @@ class Sass::Tree::Visitors::ToCss < Sass::Tree::Visitors::Base
244
242
  ensure
245
243
  @in_directive = was_in_directive
246
244
  end
247
- # @comment
248
- # rubocop:enable MethodLength
249
245
 
250
246
  def visit_media(node)
251
247
  with_tabs(@tabs + node.tabs) {visit_directive(node)}
@@ -277,8 +273,6 @@ class Sass::Tree::Visitors::ToCss < Sass::Tree::Visitors::Base
277
273
  output(";") unless node.style == :compressed
278
274
  end
279
275
 
280
- # @comment
281
- # rubocop:disable MethodLength
282
276
  def visit_rule(node)
283
277
  with_tabs(@tabs + node.tabs) do
284
278
  rule_separator = node.style == :compressed ? ',' : ', '
@@ -304,7 +298,7 @@ class Sass::Tree::Visitors::ToCss < Sass::Tree::Visitors::Base
304
298
  rule_part.gsub!(/nth([^( ]*)\(([^)]*)\)/m) do |match|
305
299
  match.tr(" \t\n", "")
306
300
  end
307
- rule_part.strip!
301
+ rule_part = Sass::Util.strip_except_escapes(rule_part)
308
302
  end
309
303
  rule_part
310
304
  end.compact.join(rule_separator)
@@ -377,8 +371,6 @@ class Sass::Tree::Visitors::ToCss < Sass::Tree::Visitors::Base
377
371
  output("}" + trailer)
378
372
  end
379
373
  end
380
- # @comment
381
- # rubocop:enable MethodLength
382
374
 
383
375
  def visit_keyframerule(node)
384
376
  visit_directive(node)
@@ -392,7 +384,8 @@ class Sass::Tree::Visitors::ToCss < Sass::Tree::Visitors::Base
392
384
  # @param node [Sass::Script::Tree::PropNode] A custom property node.
393
385
  # @return [String]
394
386
  def format_custom_property_value(node)
395
- if node.style == :compact || node.style == :compressed || !node.resolved_value.include?("\n")
387
+ value = node.resolved_value.sub(/\n[ \t\r\f\n]*\Z/, ' ')
388
+ if node.style == :compact || node.style == :compressed || !value.include?("\n")
396
389
  # Folding not involving newlines was done in the parser. We can safely
397
390
  # fold newlines here because tokens like strings can't contain literal
398
391
  # newlines, so we know any adjacent whitespace is tokenized as whitespace.
@@ -401,7 +394,7 @@ class Sass::Tree::Visitors::ToCss < Sass::Tree::Visitors::Base
401
394
 
402
395
  # Find the smallest amount of indentation in the custom property and use
403
396
  # that as the base indentation level.
404
- lines = node.resolved_value.split("\n")
397
+ lines = value.split("\n")
405
398
  indented_lines = lines[1..-1]
406
399
  min_indentation = indented_lines.
407
400
  map {|line| line[/^[ \t]*/]}.
@@ -13,8 +13,6 @@ require 'sass/util/subset_map'
13
13
 
14
14
  module Sass
15
15
  # A module containing various useful functions.
16
- # @comment
17
- # rubocop:disable ModuleLength
18
16
  module Util
19
17
  extend self
20
18
 
@@ -137,8 +135,13 @@ module Sass
137
135
  def round(value)
138
136
  # If the number is within epsilon of X.5, round up (or down for negative
139
137
  # numbers).
140
- return value.round if (value % 1) - 0.5 <= -1 * Script::Value::Number.epsilon
141
- value > 0 ? value.ceil : value.floor
138
+ mod = value % 1
139
+ mod_is_half = (mod - 0.5).abs < Script::Value::Number.epsilon
140
+ if value > 0
141
+ !mod_is_half && mod < 0.5 ? value.floor : value.ceil
142
+ else
143
+ mod_is_half || mod < 0.5 ? value.floor : value.ceil
144
+ end
142
145
  end
143
146
 
144
147
  # Concatenates all strings that are adjacent in an array,
@@ -243,18 +246,67 @@ module Sass
243
246
  res
244
247
  end
245
248
 
246
- # Destructively strips whitespace from the beginning and end
247
- # of the first and last elements, respectively,
248
- # in the array (if those elements are strings).
249
+ # Destructively strips whitespace from the beginning and end of the first
250
+ # and last elements, respectively, in the array (if those elements are
251
+ # strings). Preserves CSS escapes at the end of the array.
249
252
  #
250
253
  # @param arr [Array]
251
254
  # @return [Array] `arr`
252
255
  def strip_string_array(arr)
253
256
  arr.first.lstrip! if arr.first.is_a?(String)
254
- arr.last.rstrip! if arr.last.is_a?(String)
257
+ arr[-1] = Sass::Util.rstrip_except_escapes(arr[-1]) if arr.last.is_a?(String)
255
258
  arr
256
259
  end
257
260
 
261
+ # Normalizes identifier escapes.
262
+ #
263
+ # See https://github.com/sass/language/blob/master/accepted/identifier-escapes.md.
264
+ #
265
+ # @param ident [String]
266
+ # @return [String]
267
+ def normalize_ident_escapes(ident, start: true)
268
+ ident.gsub(/(^)?(#{Sass::SCSS::RX::ESCAPE})/) do |s|
269
+ at_start = start && $1
270
+ char = escaped_char(s)
271
+ next char if char =~ (at_start ? Sass::SCSS::RX::NMSTART : Sass::SCSS::RX::NMCHAR)
272
+ if char =~ (at_start ? /[\x0-\x1F\x7F0-9]/ : /[\x0-\x1F\x7F]/)
273
+ "\\#{char.ord.to_s(16)} "
274
+ else
275
+ "\\#{char}"
276
+ end
277
+ end
278
+ end
279
+
280
+ # Returns the character encoded by the given escape sequence.
281
+ #
282
+ # @param escape [String]
283
+ # @return [String]
284
+ def escaped_char(escape)
285
+ if escape =~ /^\\([0-9a-fA-F]{1,6})[ \t\r\n\f]?/
286
+ $1.to_i(16).chr(Encoding::UTF_8)
287
+ else
288
+ escape[1]
289
+ end
290
+ end
291
+
292
+ # Like [String#strip], but preserves escaped whitespace at the end of the
293
+ # string.
294
+ #
295
+ # @param string [String]
296
+ # @return [String]
297
+ def strip_except_escapes(string)
298
+ rstrip_except_escapes(string.lstrip)
299
+ end
300
+
301
+ # Like [String#rstrip], but preserves escaped whitespace at the end of the
302
+ # string.
303
+ #
304
+ # @param string [String]
305
+ # @return [String]
306
+ def rstrip_except_escapes(string)
307
+ string.sub(/(?<!\\)\s+$/, '')
308
+ end
309
+
258
310
  # Return an array of all possible paths through the given arrays.
259
311
  #
260
312
  # @param arrs [Array<Array>]
@@ -451,16 +503,6 @@ module Sass
451
503
  Sass::Util.sass_warn full_message
452
504
  end
453
505
 
454
- # Silence all output to STDERR within a block.
455
- #
456
- # @yield A block in which no output will be printed to STDERR
457
- def silence_warnings
458
- the_real_stderr, $stderr = $stderr, StringIO.new
459
- yield
460
- ensure
461
- $stderr = the_real_stderr
462
- end
463
-
464
506
  # Silences all Sass warnings within a block.
465
507
  #
466
508
  # @yield A block in which no Sass warnings will be printed
@@ -1074,12 +1116,10 @@ module Sass
1074
1116
  end
1075
1117
  c
1076
1118
  end
1077
- # rubocop:disable ParameterLists
1078
1119
 
1079
1120
  # Computes a single longest common subsequence for arrays x and y.
1080
1121
  # Algorithm from [Wikipedia](http://en.wikipedia.org/wiki/Longest_common_subsequence_problem#Reading_out_an_LCS)
1081
1122
  def lcs_backtrace(c, x, y, i, j, &block)
1082
- # rubocop:enable ParameterList
1083
1123
  return [] if i == 0 || j == 0
1084
1124
  if (v = yield(x[i], y[j]))
1085
1125
  return lcs_backtrace(c, x, y, i - 1, j - 1, &block) << v
@@ -42,7 +42,6 @@ module Sass
42
42
  # }
43
43
  #
44
44
  # @return [{Symbol => String/Integer}] The version hash
45
- # @comment
46
45
  def version
47
46
  return @@version if defined?(@@version)
48
47
 
@@ -76,7 +75,6 @@ module Sass
76
75
  end
77
76
  end
78
77
 
79
- @@version[:string] << " (#{name})"
80
78
  @@version
81
79
  end
82
80
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sass
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.5.2
4
+ version: 3.7.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Natalie Weizenbaum
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2017-10-04 00:00:00.000000000 Z
13
+ date: 2019-04-04 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: sass-listen
@@ -46,14 +46,28 @@ dependencies:
46
46
  requirements:
47
47
  - - "~>"
48
48
  - !ruby/object:Gem::Version
49
- version: 2.3.0
49
+ version: '3.3'
50
50
  type: :development
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - "~>"
55
55
  - !ruby/object:Gem::Version
56
- version: 2.3.0
56
+ version: '3.3'
57
+ - !ruby/object:Gem::Dependency
58
+ name: nokogiri
59
+ requirement: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - "~>"
62
+ - !ruby/object:Gem::Version
63
+ version: 1.6.0
64
+ type: :development
65
+ prerelease: false
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - "~>"
69
+ - !ruby/object:Gem::Version
70
+ version: 1.6.0
57
71
  - !ruby/object:Gem::Dependency
58
72
  name: minitest
59
73
  requirement: !ruby/object:Gem::Requirement
@@ -69,6 +83,8 @@ dependencies:
69
83
  - !ruby/object:Gem::Version
70
84
  version: '5'
71
85
  description: |2
86
+ Ruby Sass is deprecated! See https://sass-lang.com/ruby-sass for details.
87
+
72
88
  Sass makes CSS fun again. Sass is an extension of CSS, adding
73
89
  nested rules, variables, mixins, selector inheritance, and more.
74
90
  It's translated to well-formatted, standard CSS using the
@@ -87,7 +103,6 @@ files:
87
103
  - MIT-LICENSE
88
104
  - README.md
89
105
  - REVISION
90
- - Rakefile
91
106
  - VERSION
92
107
  - VERSION_DATE
93
108
  - VERSION_NAME
@@ -227,138 +242,25 @@ files:
227
242
  - lib/sass/util/subset_map.rb
228
243
  - lib/sass/util/test.rb
229
244
  - lib/sass/version.rb
230
- - lib/test.css
231
- - lib/test.css.map
232
245
  - rails/init.rb
233
- - test/sass-spec.yml
234
- - test/sass/cache_test.rb
235
- - test/sass/callbacks_test.rb
236
- - test/sass/compiler_test.rb
237
- - test/sass/conversion_test.rb
238
- - test/sass/css2sass_test.rb
239
- - test/sass/css_variable_test.rb
240
- - test/sass/data/hsl-rgb.txt
241
- - test/sass/encoding_test.rb
242
- - test/sass/engine_test.rb
243
- - test/sass/exec_test.rb
244
- - test/sass/extend_test.rb
245
- - test/sass/fixtures/test_staleness_check_across_importers.css
246
- - test/sass/fixtures/test_staleness_check_across_importers.scss
247
- - test/sass/functions_test.rb
248
- - test/sass/importer_test.rb
249
- - test/sass/logger_test.rb
250
- - test/sass/mock_importer.rb
251
- - test/sass/more_results/more1.css
252
- - test/sass/more_results/more1_with_line_comments.css
253
- - test/sass/more_results/more_import.css
254
- - test/sass/more_templates/_more_partial.sass
255
- - test/sass/more_templates/more1.sass
256
- - test/sass/more_templates/more_import.sass
257
- - test/sass/plugin_test.rb
258
- - test/sass/results/alt.css
259
- - test/sass/results/basic.css
260
- - test/sass/results/cached_import_option.css
261
- - test/sass/results/compact.css
262
- - test/sass/results/complex.css
263
- - test/sass/results/compressed.css
264
- - test/sass/results/expanded.css
265
- - test/sass/results/filename_fn.css
266
- - test/sass/results/if.css
267
- - test/sass/results/import.css
268
- - test/sass/results/import_charset.css
269
- - test/sass/results/import_charset_ibm866.css
270
- - test/sass/results/import_content.css
271
- - test/sass/results/line_numbers.css
272
- - test/sass/results/mixins.css
273
- - test/sass/results/multiline.css
274
- - test/sass/results/nested.css
275
- - test/sass/results/options.css
276
- - test/sass/results/parent_ref.css
277
- - test/sass/results/script.css
278
- - test/sass/results/scss_import.css
279
- - test/sass/results/scss_importee.css
280
- - test/sass/results/subdir/nested_subdir/nested_subdir.css
281
- - test/sass/results/subdir/subdir.css
282
- - test/sass/results/units.css
283
- - test/sass/results/warn.css
284
- - test/sass/results/warn_imported.css
285
- - test/sass/script_conversion_test.rb
286
- - test/sass/script_test.rb
287
- - test/sass/scss/css_test.rb
288
- - test/sass/scss/rx_test.rb
289
- - test/sass/scss/scss_test.rb
290
- - test/sass/scss/test_helper.rb
291
- - test/sass/source_map_test.rb
292
- - test/sass/superselector_test.rb
293
- - test/sass/templates/_cached_import_option_partial.scss
294
- - test/sass/templates/_double_import_loop2.sass
295
- - test/sass/templates/_filename_fn_import.scss
296
- - test/sass/templates/_imported_charset_ibm866.sass
297
- - test/sass/templates/_imported_charset_utf8.sass
298
- - test/sass/templates/_imported_content.sass
299
- - test/sass/templates/_partial.sass
300
- - test/sass/templates/_same_name_different_partiality.scss
301
- - test/sass/templates/alt.sass
302
- - test/sass/templates/basic.sass
303
- - test/sass/templates/bork1.sass
304
- - test/sass/templates/bork2.sass
305
- - test/sass/templates/bork3.sass
306
- - test/sass/templates/bork4.sass
307
- - test/sass/templates/bork5.sass
308
- - test/sass/templates/cached_import_option.scss
309
- - test/sass/templates/compact.sass
310
- - test/sass/templates/complex.sass
311
- - test/sass/templates/compressed.sass
312
- - test/sass/templates/double_import_loop1.sass
313
- - test/sass/templates/expanded.sass
314
- - test/sass/templates/filename_fn.scss
315
- - test/sass/templates/if.sass
316
- - test/sass/templates/import.sass
317
- - test/sass/templates/import_charset.sass
318
- - test/sass/templates/import_charset_ibm866.sass
319
- - test/sass/templates/import_content.sass
320
- - test/sass/templates/importee.less
321
- - test/sass/templates/importee.sass
322
- - test/sass/templates/line_numbers.sass
323
- - test/sass/templates/mixin_bork.sass
324
- - test/sass/templates/mixins.sass
325
- - test/sass/templates/multiline.sass
326
- - test/sass/templates/nested.sass
327
- - test/sass/templates/nested_bork1.sass
328
- - test/sass/templates/nested_bork2.sass
329
- - test/sass/templates/nested_bork3.sass
330
- - test/sass/templates/nested_bork4.sass
331
- - test/sass/templates/nested_import.sass
332
- - test/sass/templates/nested_mixin_bork.sass
333
- - test/sass/templates/options.sass
334
- - test/sass/templates/parent_ref.sass
335
- - test/sass/templates/same_name_different_ext.sass
336
- - test/sass/templates/same_name_different_ext.scss
337
- - test/sass/templates/same_name_different_partiality.scss
338
- - test/sass/templates/script.sass
339
- - test/sass/templates/scss_import.scss
340
- - test/sass/templates/scss_importee.scss
341
- - test/sass/templates/single_import_loop.sass
342
- - test/sass/templates/subdir/import_up1.scss
343
- - test/sass/templates/subdir/import_up2.scss
344
- - test/sass/templates/subdir/nested_subdir/_nested_partial.sass
345
- - test/sass/templates/subdir/nested_subdir/nested_subdir.sass
346
- - test/sass/templates/subdir/subdir.sass
347
- - test/sass/templates/units.sass
348
- - test/sass/templates/warn.sass
349
- - test/sass/templates/warn_imported.sass
350
- - test/sass/test_helper.rb
351
- - test/sass/util/multibyte_string_scanner_test.rb
352
- - test/sass/util/normalized_map_test.rb
353
- - test/sass/util/subset_map_test.rb
354
- - test/sass/util_test.rb
355
- - test/sass/value_helpers_test.rb
356
- - test/test_helper.rb
357
- homepage: http://sass-lang.com/
246
+ homepage: https://sass-lang.com/
358
247
  licenses:
359
248
  - MIT
360
- metadata: {}
361
- post_install_message:
249
+ metadata:
250
+ source_code_uri: https://github.com/sass/ruby-sass
251
+ post_install_message: |2+
252
+
253
+ Ruby Sass has reached end-of-life and should no longer be used.
254
+
255
+ * If you use Sass as a command-line tool, we recommend using Dart Sass, the new
256
+ primary implementation: https://sass-lang.com/install
257
+
258
+ * If you use Sass as a plug-in for a Ruby web framework, we recommend using the
259
+ sassc gem: https://github.com/sass/sassc-ruby#readme
260
+
261
+ * For more details, please refer to the Sass blog:
262
+ https://sass-lang.com/blog/posts/7828841
263
+
362
264
  rdoc_options: []
363
265
  require_paths:
364
266
  - lib
@@ -374,34 +276,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
374
276
  version: '0'
375
277
  requirements: []
376
278
  rubyforge_project: sass
377
- rubygems_version: 2.6.11
279
+ rubygems_version: 2.6.14
378
280
  signing_key:
379
281
  specification_version: 4
380
282
  summary: A powerful but elegant CSS compiler that makes CSS fun again.
381
- test_files:
382
- - test/sass/plugin_test.rb
383
- - test/sass/encoding_test.rb
384
- - test/sass/importer_test.rb
385
- - test/sass/callbacks_test.rb
386
- - test/sass/scss/css_test.rb
387
- - test/sass/scss/rx_test.rb
388
- - test/sass/scss/scss_test.rb
389
- - test/sass/util/multibyte_string_scanner_test.rb
390
- - test/sass/util/normalized_map_test.rb
391
- - test/sass/util/subset_map_test.rb
392
- - test/sass/functions_test.rb
393
- - test/sass/util_test.rb
394
- - test/sass/cache_test.rb
395
- - test/sass/exec_test.rb
396
- - test/sass/value_helpers_test.rb
397
- - test/sass/conversion_test.rb
398
- - test/sass/script_test.rb
399
- - test/sass/logger_test.rb
400
- - test/sass/compiler_test.rb
401
- - test/sass/engine_test.rb
402
- - test/sass/css2sass_test.rb
403
- - test/sass/superselector_test.rb
404
- - test/sass/script_conversion_test.rb
405
- - test/sass/css_variable_test.rb
406
- - test/sass/source_map_test.rb
407
- - test/sass/extend_test.rb
283
+ test_files: []