sass 3.5.2 → 3.7.4
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 +4 -4
- data/CODE_OF_CONDUCT.md +1 -1
- data/CONTRIBUTING.md +3 -3
- data/README.md +17 -9
- data/VERSION +1 -1
- data/VERSION_DATE +1 -1
- data/extra/sass-spec-ref.sh +9 -1
- data/lib/sass/engine.rb +1 -9
- data/lib/sass/exec/base.rb +0 -2
- data/lib/sass/exec/sass_scss.rb +1 -5
- data/lib/sass/importers/filesystem.rb +4 -2
- data/lib/sass/logger/base.rb +11 -0
- data/lib/sass/script/css_parser.rb +4 -1
- data/lib/sass/script/functions.rb +76 -41
- data/lib/sass/script/lexer.rb +62 -19
- data/lib/sass/script/parser.rb +260 -93
- data/lib/sass/script/tree/funcall.rb +0 -4
- data/lib/sass/script/tree/interpolation.rb +0 -3
- data/lib/sass/script/tree/operation.rb +1 -1
- data/lib/sass/script/value/color.rb +3 -2
- data/lib/sass/script/value/helpers.rb +8 -2
- data/lib/sass/script/value/number.rb +2 -1
- data/lib/sass/scss/css_parser.rb +6 -1
- data/lib/sass/scss/parser.rb +48 -18
- data/lib/sass/scss/rx.rb +1 -1
- data/lib/sass/scss/static_parser.rb +15 -18
- data/lib/sass/selector/comma_sequence.rb +2 -1
- data/lib/sass/selector/pseudo.rb +1 -1
- data/lib/sass/selector/sequence.rb +0 -4
- data/lib/sass/source/map.rb +0 -4
- data/lib/sass/tree/rule_node.rb +3 -6
- data/lib/sass/tree/visitors/perform.rb +2 -6
- data/lib/sass/tree/visitors/to_css.rb +4 -11
- data/lib/sass/util.rb +60 -20
- data/lib/sass/version.rb +0 -2
- metadata +38 -162
- data/Rakefile +0 -338
- data/lib/test.css +0 -4
- data/lib/test.css.map +0 -7
- data/test/sass-spec.yml +0 -3
- data/test/sass/cache_test.rb +0 -130
- data/test/sass/callbacks_test.rb +0 -60
- data/test/sass/compiler_test.rb +0 -225
- data/test/sass/conversion_test.rb +0 -2138
- data/test/sass/css2sass_test.rb +0 -523
- data/test/sass/css_variable_test.rb +0 -237
- data/test/sass/data/hsl-rgb.txt +0 -319
- data/test/sass/encoding_test.rb +0 -188
- data/test/sass/engine_test.rb +0 -3499
- data/test/sass/exec_test.rb +0 -95
- data/test/sass/extend_test.rb +0 -1678
- data/test/sass/fixtures/test_staleness_check_across_importers.css +0 -1
- data/test/sass/fixtures/test_staleness_check_across_importers.scss +0 -1
- data/test/sass/functions_test.rb +0 -2021
- data/test/sass/importer_test.rb +0 -420
- data/test/sass/logger_test.rb +0 -57
- data/test/sass/mock_importer.rb +0 -49
- data/test/sass/more_results/more1.css +0 -9
- data/test/sass/more_results/more1_with_line_comments.css +0 -26
- data/test/sass/more_results/more_import.css +0 -29
- data/test/sass/more_templates/_more_partial.sass +0 -2
- data/test/sass/more_templates/more1.sass +0 -23
- data/test/sass/more_templates/more_import.sass +0 -11
- data/test/sass/plugin_test.rb +0 -552
- data/test/sass/results/alt.css +0 -4
- data/test/sass/results/basic.css +0 -9
- data/test/sass/results/cached_import_option.css +0 -3
- data/test/sass/results/compact.css +0 -5
- data/test/sass/results/complex.css +0 -86
- data/test/sass/results/compressed.css +0 -1
- data/test/sass/results/expanded.css +0 -19
- data/test/sass/results/filename_fn.css +0 -3
- data/test/sass/results/if.css +0 -3
- data/test/sass/results/import.css +0 -31
- data/test/sass/results/import_charset.css +0 -5
- data/test/sass/results/import_charset_ibm866.css +0 -5
- data/test/sass/results/import_content.css +0 -1
- data/test/sass/results/line_numbers.css +0 -49
- data/test/sass/results/mixins.css +0 -95
- data/test/sass/results/multiline.css +0 -24
- data/test/sass/results/nested.css +0 -22
- data/test/sass/results/options.css +0 -1
- data/test/sass/results/parent_ref.css +0 -13
- data/test/sass/results/script.css +0 -16
- data/test/sass/results/scss_import.css +0 -31
- data/test/sass/results/scss_importee.css +0 -2
- data/test/sass/results/subdir/nested_subdir/nested_subdir.css +0 -1
- data/test/sass/results/subdir/subdir.css +0 -3
- data/test/sass/results/units.css +0 -11
- data/test/sass/results/warn.css +0 -0
- data/test/sass/results/warn_imported.css +0 -0
- data/test/sass/script_conversion_test.rb +0 -365
- data/test/sass/script_test.rb +0 -1429
- data/test/sass/scss/css_test.rb +0 -1266
- data/test/sass/scss/rx_test.rb +0 -159
- data/test/sass/scss/scss_test.rb +0 -4238
- data/test/sass/scss/test_helper.rb +0 -37
- data/test/sass/source_map_test.rb +0 -1052
- data/test/sass/superselector_test.rb +0 -209
- data/test/sass/templates/_cached_import_option_partial.scss +0 -1
- data/test/sass/templates/_double_import_loop2.sass +0 -1
- data/test/sass/templates/_filename_fn_import.scss +0 -11
- data/test/sass/templates/_imported_charset_ibm866.sass +0 -4
- data/test/sass/templates/_imported_charset_utf8.sass +0 -4
- data/test/sass/templates/_imported_content.sass +0 -3
- data/test/sass/templates/_partial.sass +0 -2
- data/test/sass/templates/_same_name_different_partiality.scss +0 -1
- data/test/sass/templates/alt.sass +0 -16
- data/test/sass/templates/basic.sass +0 -23
- data/test/sass/templates/bork1.sass +0 -2
- data/test/sass/templates/bork2.sass +0 -2
- data/test/sass/templates/bork3.sass +0 -2
- data/test/sass/templates/bork4.sass +0 -2
- data/test/sass/templates/bork5.sass +0 -3
- data/test/sass/templates/cached_import_option.scss +0 -3
- data/test/sass/templates/compact.sass +0 -17
- data/test/sass/templates/complex.sass +0 -305
- data/test/sass/templates/compressed.sass +0 -15
- data/test/sass/templates/double_import_loop1.sass +0 -1
- data/test/sass/templates/expanded.sass +0 -17
- data/test/sass/templates/filename_fn.scss +0 -18
- data/test/sass/templates/if.sass +0 -11
- data/test/sass/templates/import.sass +0 -12
- data/test/sass/templates/import_charset.sass +0 -9
- data/test/sass/templates/import_charset_ibm866.sass +0 -11
- data/test/sass/templates/import_content.sass +0 -4
- data/test/sass/templates/importee.less +0 -2
- data/test/sass/templates/importee.sass +0 -19
- data/test/sass/templates/line_numbers.sass +0 -13
- data/test/sass/templates/mixin_bork.sass +0 -5
- data/test/sass/templates/mixins.sass +0 -76
- data/test/sass/templates/multiline.sass +0 -20
- data/test/sass/templates/nested.sass +0 -25
- data/test/sass/templates/nested_bork1.sass +0 -2
- data/test/sass/templates/nested_bork2.sass +0 -2
- data/test/sass/templates/nested_bork3.sass +0 -2
- data/test/sass/templates/nested_bork4.sass +0 -2
- data/test/sass/templates/nested_import.sass +0 -2
- data/test/sass/templates/nested_mixin_bork.sass +0 -6
- data/test/sass/templates/options.sass +0 -2
- data/test/sass/templates/parent_ref.sass +0 -25
- data/test/sass/templates/same_name_different_ext.sass +0 -2
- data/test/sass/templates/same_name_different_ext.scss +0 -1
- data/test/sass/templates/same_name_different_partiality.scss +0 -1
- data/test/sass/templates/script.sass +0 -101
- data/test/sass/templates/scss_import.scss +0 -12
- data/test/sass/templates/scss_importee.scss +0 -1
- data/test/sass/templates/single_import_loop.sass +0 -1
- data/test/sass/templates/subdir/import_up1.scss +0 -1
- data/test/sass/templates/subdir/import_up2.scss +0 -1
- data/test/sass/templates/subdir/nested_subdir/_nested_partial.sass +0 -2
- data/test/sass/templates/subdir/nested_subdir/nested_subdir.sass +0 -3
- data/test/sass/templates/subdir/subdir.sass +0 -6
- data/test/sass/templates/units.sass +0 -11
- data/test/sass/templates/warn.sass +0 -3
- data/test/sass/templates/warn_imported.sass +0 -4
- data/test/sass/test_helper.rb +0 -8
- data/test/sass/util/multibyte_string_scanner_test.rb +0 -152
- data/test/sass/util/normalized_map_test.rb +0 -50
- data/test/sass/util/subset_map_test.rb +0 -90
- data/test/sass/util_test.rb +0 -403
- data/test/sass/value_helpers_test.rb +0 -178
- data/test/test_helper.rb +0 -149
data/lib/sass/source/map.rb
CHANGED
|
@@ -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
|
|
data/lib/sass/tree/rule_node.rb
CHANGED
|
@@ -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
|
|
143
|
-
parser = Sass::SCSS::StaticParser.new(
|
|
144
|
-
|
|
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.
|
|
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)
|
|
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.
|
|
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
|
-
|
|
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 =
|
|
397
|
+
lines = value.split("\n")
|
|
405
398
|
indented_lines = lines[1..-1]
|
|
406
399
|
min_indentation = indented_lines.
|
|
407
400
|
map {|line| line[/^[ \t]*/]}.
|
data/lib/sass/util.rb
CHANGED
|
@@ -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
|
-
|
|
141
|
-
|
|
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
|
-
#
|
|
248
|
-
#
|
|
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.
|
|
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
|
data/lib/sass/version.rb
CHANGED
|
@@ -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.
|
|
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:
|
|
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:
|
|
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:
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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: []
|