sass 3.4.21 → 3.4.22
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CONTRIBUTING.md +122 -0
- data/MIT-LICENSE +1 -1
- data/README.md +15 -9
- data/Rakefile +71 -18
- data/VERSION +1 -1
- data/VERSION_DATE +1 -1
- data/lib/sass.rb +7 -0
- data/lib/sass/callbacks.rb +2 -2
- data/lib/sass/css.rb +9 -8
- data/lib/sass/engine.rb +14 -8
- data/lib/sass/environment.rb +8 -1
- data/lib/sass/error.rb +5 -5
- data/lib/sass/exec/sass_convert.rb +14 -2
- data/lib/sass/exec/sass_scss.rb +2 -25
- data/lib/sass/features.rb +2 -2
- data/lib/sass/importers/filesystem.rb +6 -3
- data/lib/sass/plugin/compiler.rb +15 -7
- data/lib/sass/script/css_variable_warning.rb +52 -0
- data/lib/sass/script/functions.rb +5 -5
- data/lib/sass/script/lexer.rb +3 -1
- data/lib/sass/script/parser.rb +67 -15
- data/lib/sass/script/tree/funcall.rb +10 -3
- data/lib/sass/script/tree/node.rb +8 -0
- data/lib/sass/script/tree/operation.rb +7 -0
- data/lib/sass/script/value/base.rb +1 -0
- data/lib/sass/script/value/color.rb +6 -4
- data/lib/sass/script/value/helpers.rb +2 -2
- data/lib/sass/script/value/number.rb +5 -5
- data/lib/sass/scss.rb +0 -2
- data/lib/sass/scss/css_parser.rb +1 -2
- data/lib/sass/scss/parser.rb +20 -10
- data/lib/sass/scss/rx.rb +2 -2
- data/lib/sass/scss/static_parser.rb +11 -13
- data/lib/sass/selector/pseudo.rb +1 -1
- data/lib/sass/selector/sequence.rb +2 -2
- data/lib/sass/selector/simple_sequence.rb +4 -4
- data/lib/sass/stack.rb +2 -2
- data/lib/sass/tree/function_node.rb +1 -1
- data/lib/sass/tree/node.rb +2 -0
- data/lib/sass/tree/visitors/check_nesting.rb +2 -0
- data/lib/sass/tree/visitors/convert.rb +8 -7
- data/lib/sass/tree/visitors/perform.rb +4 -2
- data/lib/sass/tree/visitors/to_css.rb +10 -10
- data/lib/sass/util.rb +8 -7
- data/test/sass-spec.yml +3 -0
- data/test/sass/compiler_test.rb +1 -1
- data/test/sass/css_variable_test.rb +132 -0
- data/test/sass/exec_test.rb +10 -0
- data/test/sass/script_test.rb +1 -1
- data/test/sass/scss/scss_test.rb +10 -0
- metadata +79 -77
- data/lib/sass/scss/script_lexer.rb +0 -15
- data/lib/sass/scss/script_parser.rb +0 -25
@@ -18,6 +18,7 @@ class Sass::Tree::Visitors::Convert < Sass::Tree::Visitors::Base
|
|
18
18
|
@tabs = 0
|
19
19
|
# 2 spaces by default
|
20
20
|
@tab_chars = @options[:indent] || " "
|
21
|
+
@is_else = false
|
21
22
|
end
|
22
23
|
|
23
24
|
def visit_children(parent)
|
@@ -29,7 +30,7 @@ class Sass::Tree::Visitors::Convert < Sass::Tree::Visitors::Base
|
|
29
30
|
if @format == :sass
|
30
31
|
"\n" + res.rstrip + "\n"
|
31
32
|
else
|
32
|
-
" {\n" + res.rstrip + "\n#{
|
33
|
+
" {\n" + res.rstrip + "\n#{@tab_chars * (@tabs - 1)}}\n"
|
33
34
|
end
|
34
35
|
ensure
|
35
36
|
@tabs -= 1
|
@@ -47,14 +48,14 @@ class Sass::Tree::Visitors::Convert < Sass::Tree::Visitors::Base
|
|
47
48
|
def visit_comment(node)
|
48
49
|
value = interp_to_src(node.value)
|
49
50
|
if @format == :sass
|
50
|
-
content = value.gsub(
|
51
|
+
content = value.gsub(%r{\*/$}, '').rstrip
|
51
52
|
if content =~ /\A[ \t]/
|
52
53
|
# Re-indent SCSS comments like this:
|
53
54
|
# /* foo
|
54
55
|
# bar
|
55
56
|
# baz */
|
56
57
|
content.gsub!(/^/, ' ')
|
57
|
-
content.sub!(
|
58
|
+
content.sub!(%r{\A([ \t]*)/\*}, '/*\1')
|
58
59
|
end
|
59
60
|
|
60
61
|
if content.include?("\n")
|
@@ -68,13 +69,13 @@ class Sass::Tree::Visitors::Convert < Sass::Tree::Visitors::Base
|
|
68
69
|
end
|
69
70
|
end
|
70
71
|
|
71
|
-
content.gsub!(
|
72
|
+
content.gsub!(%r{\A/\*}, '//') if node.type == :silent
|
72
73
|
content.gsub!(/^/, tab_str)
|
73
74
|
content = content.rstrip + "\n"
|
74
75
|
else
|
75
76
|
spaces = (@tab_chars * [@tabs - value[/^ */].size, 0].max)
|
76
77
|
content = if node.type == :silent
|
77
|
-
value.gsub(
|
78
|
+
value.gsub(%r{^[/ ]\*}, '//').gsub(%r{ *\*/$}, '')
|
78
79
|
else
|
79
80
|
value
|
80
81
|
end.gsub(/^/, spaces) + "\n"
|
@@ -104,12 +105,12 @@ class Sass::Tree::Visitors::Convert < Sass::Tree::Visitors::Base
|
|
104
105
|
|
105
106
|
def visit_extend(node)
|
106
107
|
"#{tab_str}@extend #{selector_to_src(node.selector).lstrip}" +
|
107
|
-
"#{
|
108
|
+
"#{' !optional' if node.optional?}#{semi}\n"
|
108
109
|
end
|
109
110
|
|
110
111
|
def visit_for(node)
|
111
112
|
"#{tab_str}@for $#{dasherize(node.var)} from #{node.from.to_sass(@options)} " +
|
112
|
-
"#{node.exclusive ?
|
113
|
+
"#{node.exclusive ? 'to' : 'through'} #{node.to.to_sass(@options)}#{yield}"
|
113
114
|
end
|
114
115
|
|
115
116
|
def visit_function(node)
|
@@ -150,6 +150,8 @@ class Sass::Tree::Visitors::Perform < Sass::Tree::Visitors::Base
|
|
150
150
|
|
151
151
|
def initialize(env)
|
152
152
|
@environment = env
|
153
|
+
@in_keyframes = false
|
154
|
+
@at_root_without_rule = false
|
153
155
|
end
|
154
156
|
|
155
157
|
# If an exception is raised, this adds proper metadata to the backtrace.
|
@@ -287,7 +289,7 @@ WARNING
|
|
287
289
|
|
288
290
|
@environment.set_local_function(node.name,
|
289
291
|
Sass::Callable.new(node.name, node.args, node.splat, env,
|
290
|
-
node.children,
|
292
|
+
node.children, false, "function"))
|
291
293
|
[]
|
292
294
|
end
|
293
295
|
|
@@ -349,7 +351,7 @@ WARNING
|
|
349
351
|
raise Sass::SyntaxError.new("Undefined mixin '#{node.name}'.") unless mixin
|
350
352
|
|
351
353
|
if node.children.any? && !mixin.has_content
|
352
|
-
raise Sass::SyntaxError.new(%
|
354
|
+
raise Sass::SyntaxError.new(%(Mixin "#{node.name}" does not accept a content block.))
|
353
355
|
end
|
354
356
|
|
355
357
|
args = node.args.map {|a| a.perform(@environment)}
|
@@ -13,7 +13,9 @@ class Sass::Tree::Visitors::ToCss < Sass::Tree::Visitors::Base
|
|
13
13
|
@line = 1
|
14
14
|
@offset = 1
|
15
15
|
@result = ""
|
16
|
-
@source_mapping = Sass::Source::Map.new
|
16
|
+
@source_mapping = build_source_mapping ? Sass::Source::Map.new : nil
|
17
|
+
@lstrip = nil
|
18
|
+
@in_directive = false
|
17
19
|
end
|
18
20
|
|
19
21
|
# Runs the visitor on `node`.
|
@@ -102,7 +104,7 @@ class Sass::Tree::Visitors::ToCss < Sass::Tree::Visitors::Base
|
|
102
104
|
@lstrip = true
|
103
105
|
yield
|
104
106
|
ensure
|
105
|
-
@lstrip
|
107
|
+
@lstrip &&= old_lstrip
|
106
108
|
end
|
107
109
|
|
108
110
|
# Prepend `prefix` to the output string.
|
@@ -120,12 +122,10 @@ class Sass::Tree::Visitors::ToCss < Sass::Tree::Visitors::Base
|
|
120
122
|
node.children.each do |child|
|
121
123
|
next if child.invisible?
|
122
124
|
visit(child)
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
end
|
128
|
-
end
|
125
|
+
next if node.style == :compressed
|
126
|
+
output "\n"
|
127
|
+
next unless child.is_a?(Sass::Tree::DirectiveNode) && child.has_children && !child.bubbles?
|
128
|
+
output "\n"
|
129
129
|
end
|
130
130
|
rstrip!
|
131
131
|
if node.style == :compressed && trailing_semicolon?
|
@@ -166,7 +166,7 @@ class Sass::Tree::Visitors::ToCss < Sass::Tree::Visitors::Base
|
|
166
166
|
content.gsub!(%r{^(\s*)//(.*)$}) {"#{$1}/*#{$2} */"}
|
167
167
|
end
|
168
168
|
if (node.style == :compact || node.style == :compressed) && node.type != :loud
|
169
|
-
content.gsub!(
|
169
|
+
content.gsub!(%r{\n +(\* *(?!/))?}, ' ')
|
170
170
|
end
|
171
171
|
for_node(node) {output(content)}
|
172
172
|
end
|
@@ -187,7 +187,7 @@ class Sass::Tree::Visitors::ToCss < Sass::Tree::Visitors::Base
|
|
187
187
|
return
|
188
188
|
end
|
189
189
|
|
190
|
-
@in_directive
|
190
|
+
@in_directive ||= !node.is_a?(Sass::Tree::MediaNode)
|
191
191
|
output(tab_str) if node.style != :compressed
|
192
192
|
for_node(node) {output(node.resolved_value)}
|
193
193
|
output(node.style == :compressed ? "{" : " {")
|
data/lib/sass/util.rb
CHANGED
@@ -512,7 +512,7 @@ module Sass
|
|
512
512
|
#
|
513
513
|
# @param msg [String]
|
514
514
|
def sass_warn(msg)
|
515
|
-
msg
|
515
|
+
msg += "\n" unless ruby1?
|
516
516
|
Sass.logger.warn(msg)
|
517
517
|
end
|
518
518
|
|
@@ -571,7 +571,7 @@ module Sass
|
|
571
571
|
#
|
572
572
|
# @return [Boolean]
|
573
573
|
def listen_geq_2?
|
574
|
-
return @listen_geq_2
|
574
|
+
return @listen_geq_2 if defined?(@listen_geq_2)
|
575
575
|
@listen_geq_2 =
|
576
576
|
begin
|
577
577
|
# Make sure we're loading listen/version from the same place that
|
@@ -729,8 +729,8 @@ module Sass
|
|
729
729
|
path = path.tr('\\', '/') if windows?
|
730
730
|
path = Sass::Util.escape_uri(path)
|
731
731
|
return path.start_with?('/') ? "file://" + path : path unless windows?
|
732
|
-
return "file:///" + path.tr("\\", "/") if path =~
|
733
|
-
return "file:" + path.tr("\\", "/") if path =~
|
732
|
+
return "file:///" + path.tr("\\", "/") if path =~ %r{^[a-zA-Z]:[/\\]}
|
733
|
+
return "file:" + path.tr("\\", "/") if path =~ %r{\\\\[^\\]+\\[^\\/]+}
|
734
734
|
path.tr("\\", "/")
|
735
735
|
end
|
736
736
|
|
@@ -840,9 +840,10 @@ module Sass
|
|
840
840
|
|
841
841
|
unless ruby1_8?
|
842
842
|
CHARSET_REGEXP = /\A@charset "([^"]+)"/
|
843
|
-
|
844
|
-
|
845
|
-
|
843
|
+
bom = "\uFEFF"
|
844
|
+
UTF_8_BOM = bom.encode("UTF-8").force_encoding('BINARY')
|
845
|
+
UTF_16BE_BOM = bom.encode("UTF-16BE").force_encoding('BINARY')
|
846
|
+
UTF_16LE_BOM = bom.encode("UTF-16LE").force_encoding('BINARY')
|
846
847
|
end
|
847
848
|
|
848
849
|
# Like {\#check\_encoding}, but also checks for a `@charset` declaration
|
data/test/sass-spec.yml
ADDED
data/test/sass/compiler_test.rb
CHANGED
@@ -87,7 +87,7 @@ class CompilerTest < MiniTest::Test
|
|
87
87
|
private
|
88
88
|
def create_listener(*args, &on_filesystem_event)
|
89
89
|
if Sass::Util.listen_geq_2?
|
90
|
-
|
90
|
+
args.pop if args.last.is_a?(Hash)
|
91
91
|
args.map do |dir|
|
92
92
|
@fake_listener = FakeListener.new(*args, &on_filesystem_event)
|
93
93
|
@fake_listener.on_start!(&run_during_start)
|
@@ -0,0 +1,132 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require File.dirname(__FILE__) + '/../test_helper'
|
4
|
+
require 'sass/engine'
|
5
|
+
|
6
|
+
class CssVariableTest < MiniTest::Test
|
7
|
+
def test_variable_warning_for_operators
|
8
|
+
resolve_with_variable_warning("1 == 2")
|
9
|
+
resolve_with_variable_warning("1 != 2")
|
10
|
+
resolve_with_variable_warning("1 < 2")
|
11
|
+
resolve_with_variable_warning("1 <= 2")
|
12
|
+
resolve_with_variable_warning("1 > 2")
|
13
|
+
resolve_with_variable_warning("1 >= 2")
|
14
|
+
resolve_with_variable_warning("1 + 1")
|
15
|
+
resolve_with_variable_warning("1 - 1")
|
16
|
+
resolve_with_variable_warning("1 * 1")
|
17
|
+
resolve_with_variable_warning("1 % 1")
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_variable_warning_for_variable
|
21
|
+
render_with_variable_warning(<<SCSS, "$var", 3)
|
22
|
+
.foo {
|
23
|
+
$var: value;
|
24
|
+
--var: $var;
|
25
|
+
}
|
26
|
+
SCSS
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_variable_warning_for_core_function
|
30
|
+
resolve_with_variable_warning("alpha(#abc)")
|
31
|
+
end
|
32
|
+
|
33
|
+
def test_variable_warning_for_sass_function
|
34
|
+
render_with_variable_warning(<<SCSS, "my-fn()", 2)
|
35
|
+
@function my-fn() {@return null}
|
36
|
+
.foo {--var: my-fn()}
|
37
|
+
SCSS
|
38
|
+
end
|
39
|
+
|
40
|
+
def test_variable_warning_for_parens
|
41
|
+
resolve_with_variable_warning("(foo)", "foo")
|
42
|
+
resolve_with_variable_warning("(foo,)")
|
43
|
+
end
|
44
|
+
|
45
|
+
def test_variable_warning_for_selector
|
46
|
+
resolve_with_variable_warning("&")
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_variable_warning_for_nested_properties
|
50
|
+
assert_warning(<<WARNING) {render(<<SCSS)}
|
51
|
+
DEPRECATION WARNING on line 2 of #{filename_for_test :scss}:
|
52
|
+
Sass 3.6 will change the way CSS variables are parsed. Instead of being parsed as
|
53
|
+
normal properties, they will not allow any Sass-specific behavior other than \#{}.
|
54
|
+
WARNING
|
55
|
+
.foo {
|
56
|
+
--var: {
|
57
|
+
a: b;
|
58
|
+
}
|
59
|
+
}
|
60
|
+
SCSS
|
61
|
+
end
|
62
|
+
|
63
|
+
def test_no_warning
|
64
|
+
assert_no_variable_warning("foo")
|
65
|
+
assert_no_variable_warning("true")
|
66
|
+
assert_no_variable_warning("1, 2")
|
67
|
+
assert_no_variable_warning("1 2")
|
68
|
+
assert_no_variable_warning("1 / 2")
|
69
|
+
assert_no_variable_warning("foo / bar")
|
70
|
+
assert_no_variable_warning("asdf(foo)")
|
71
|
+
assert_no_variable_warning("calc(1 + 1)")
|
72
|
+
assert_no_variable_warning("asdf(foo=2)")
|
73
|
+
end
|
74
|
+
|
75
|
+
def test_no_warning_within_interpolation
|
76
|
+
assert_no_variable_warning('#{1 + 1}')
|
77
|
+
assert_no_variable_warning('#{alpha(#abc)}')
|
78
|
+
end
|
79
|
+
|
80
|
+
private
|
81
|
+
|
82
|
+
def assert_no_variable_warning(str)
|
83
|
+
assert_no_warning {render("a {--var: #{str}}")}
|
84
|
+
assert_no_warning {render("a\n --var: #{str}", :syntax => :sass)}
|
85
|
+
end
|
86
|
+
|
87
|
+
def resolve_with_variable_warning(str, expression = nil)
|
88
|
+
render_with_variable_warning("a {--var: #{str}}", expression || str, 1)
|
89
|
+
render_with_variable_warning(
|
90
|
+
"a\n --var: #{str}", expression || str, 2, :syntax => :sass)
|
91
|
+
end
|
92
|
+
|
93
|
+
def render_with_variable_warning(sass, expression, line, opts = {})
|
94
|
+
opts[:syntax] ||= :scss
|
95
|
+
assert_warning(<<WARNING) {render(sass, opts)}
|
96
|
+
DEPRECATION WARNING on line #{line} of #{filename_for_test(opts[:syntax])}:
|
97
|
+
Sass 3.6 will change the way CSS variables are parsed. Instead of being parsed as
|
98
|
+
normal properties, they will not allow any Sass-specific behavior other than \#{}.
|
99
|
+
For forwards-compatibility, use \#{}:
|
100
|
+
|
101
|
+
--variable: \#{#{expression}};
|
102
|
+
WARNING
|
103
|
+
end
|
104
|
+
|
105
|
+
def render(sass, options = {})
|
106
|
+
options[:syntax] ||= :scss
|
107
|
+
options[:cache] = false
|
108
|
+
munge_filename options
|
109
|
+
Sass::Engine.new(sass, options).render
|
110
|
+
end
|
111
|
+
|
112
|
+
def resolve(str, opts = {}, environment = env)
|
113
|
+
munge_filename opts
|
114
|
+
val = eval(str, opts, environment)
|
115
|
+
assert_kind_of Sass::Script::Value::Base, val
|
116
|
+
val.options = opts
|
117
|
+
val.is_a?(Sass::Script::Value::String) ? val.value : val.to_s
|
118
|
+
end
|
119
|
+
|
120
|
+
def eval(str, opts = {}, environment = env)
|
121
|
+
munge_filename opts
|
122
|
+
Sass::Script.parse(str, opts.delete(:line) || 1,
|
123
|
+
opts.delete(:offset) || 0, opts).
|
124
|
+
perform(Sass::Environment.new(environment, opts))
|
125
|
+
end
|
126
|
+
|
127
|
+
def env(hash = {})
|
128
|
+
env = Sass::Environment.new
|
129
|
+
hash.each {|k, v| env.set_var(k, v)}
|
130
|
+
env
|
131
|
+
end
|
132
|
+
end
|
data/test/sass/exec_test.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
require File.dirname(__FILE__) + '/../test_helper'
|
3
|
+
require 'fileutils'
|
3
4
|
require 'sass/util/test'
|
4
5
|
require 'tmpdir'
|
5
6
|
|
@@ -64,6 +65,14 @@ class ExecTest < MiniTest::Test
|
|
64
65
|
assert_equal(".ruleset\r\n margin: 0\r\n", read(src))
|
65
66
|
end
|
66
67
|
|
68
|
+
def test_sass_convert_R
|
69
|
+
Dir.chdir(@dir) do
|
70
|
+
src = get_path("styles/src.css")
|
71
|
+
write(src, ".ruleset { margin: 0 }")
|
72
|
+
assert(exec(*%w[sass-convert -Rq --from css --to scss --trace styles]))
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
67
76
|
private
|
68
77
|
|
69
78
|
def get_path(name)
|
@@ -75,6 +84,7 @@ class ExecTest < MiniTest::Test
|
|
75
84
|
end
|
76
85
|
|
77
86
|
def write(file, content)
|
87
|
+
FileUtils.mkdir_p(File.dirname(file))
|
78
88
|
open(file, 'wb') {|f| f.write(content)}
|
79
89
|
end
|
80
90
|
|
data/test/sass/script_test.rb
CHANGED
data/test/sass/scss/scss_test.rb
CHANGED
@@ -4144,4 +4144,14 @@ CSS
|
|
4144
4144
|
SASS
|
4145
4145
|
end
|
4146
4146
|
|
4147
|
+
def test_crlf
|
4148
|
+
# Attempt to reproduce https://github.com/sass/sass/issues/1985
|
4149
|
+
assert_equal(<<CSS, render(<<SCSS))
|
4150
|
+
p {
|
4151
|
+
margin: 0; }
|
4152
|
+
CSS
|
4153
|
+
p {\r\n margin: 0;\r\n}
|
4154
|
+
SCSS
|
4155
|
+
end
|
4156
|
+
|
4147
4157
|
end
|
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.
|
4
|
+
version: 3.4.22
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Natalie Weizenbaum
|
@@ -10,48 +10,48 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2016-
|
13
|
+
date: 2016-03-28 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: yard
|
17
17
|
requirement: !ruby/object:Gem::Requirement
|
18
18
|
requirements:
|
19
|
-
- -
|
19
|
+
- - ">="
|
20
20
|
- !ruby/object:Gem::Version
|
21
21
|
version: 0.5.3
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
|
-
- -
|
26
|
+
- - ">="
|
27
27
|
- !ruby/object:Gem::Version
|
28
28
|
version: 0.5.3
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: maruku
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
32
32
|
requirements:
|
33
|
-
- -
|
33
|
+
- - ">="
|
34
34
|
- !ruby/object:Gem::Version
|
35
35
|
version: 0.5.9
|
36
36
|
type: :development
|
37
37
|
prerelease: false
|
38
38
|
version_requirements: !ruby/object:Gem::Requirement
|
39
39
|
requirements:
|
40
|
-
- -
|
40
|
+
- - ">="
|
41
41
|
- !ruby/object:Gem::Version
|
42
42
|
version: 0.5.9
|
43
43
|
- !ruby/object:Gem::Dependency
|
44
44
|
name: minitest
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
|
-
- -
|
47
|
+
- - ">="
|
48
48
|
- !ruby/object:Gem::Version
|
49
49
|
version: '5'
|
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
56
|
version: '5'
|
57
57
|
description: |2
|
@@ -67,31 +67,47 @@ executables:
|
|
67
67
|
extensions: []
|
68
68
|
extra_rdoc_files: []
|
69
69
|
files:
|
70
|
-
-
|
70
|
+
- ".yardopts"
|
71
|
+
- CODE_OF_CONDUCT.md
|
72
|
+
- CONTRIBUTING.md
|
73
|
+
- MIT-LICENSE
|
74
|
+
- README.md
|
75
|
+
- REVISION
|
76
|
+
- Rakefile
|
77
|
+
- VERSION
|
78
|
+
- VERSION_DATE
|
79
|
+
- VERSION_NAME
|
80
|
+
- bin/sass
|
81
|
+
- bin/sass-convert
|
82
|
+
- bin/scss
|
83
|
+
- extra/update_watch.rb
|
84
|
+
- init.rb
|
85
|
+
- lib/sass.rb
|
86
|
+
- lib/sass/cache_stores.rb
|
71
87
|
- lib/sass/cache_stores/base.rb
|
72
88
|
- lib/sass/cache_stores/chain.rb
|
73
89
|
- lib/sass/cache_stores/filesystem.rb
|
74
90
|
- lib/sass/cache_stores/memory.rb
|
75
91
|
- lib/sass/cache_stores/null.rb
|
76
|
-
- lib/sass/cache_stores.rb
|
77
92
|
- lib/sass/callbacks.rb
|
78
93
|
- lib/sass/css.rb
|
79
94
|
- lib/sass/engine.rb
|
80
95
|
- lib/sass/environment.rb
|
81
96
|
- lib/sass/error.rb
|
97
|
+
- lib/sass/exec.rb
|
82
98
|
- lib/sass/exec/base.rb
|
83
99
|
- lib/sass/exec/sass_convert.rb
|
84
100
|
- lib/sass/exec/sass_scss.rb
|
85
|
-
- lib/sass/exec.rb
|
86
101
|
- lib/sass/features.rb
|
102
|
+
- lib/sass/importers.rb
|
87
103
|
- lib/sass/importers/base.rb
|
88
104
|
- lib/sass/importers/deprecated_path.rb
|
89
105
|
- lib/sass/importers/filesystem.rb
|
90
|
-
- lib/sass/
|
106
|
+
- lib/sass/logger.rb
|
91
107
|
- lib/sass/logger/base.rb
|
92
108
|
- lib/sass/logger/log_level.rb
|
93
|
-
- lib/sass/logger.rb
|
94
109
|
- lib/sass/media.rb
|
110
|
+
- lib/sass/plugin.rb
|
95
111
|
- lib/sass/plugin/compiler.rb
|
96
112
|
- lib/sass/plugin/configuration.rb
|
97
113
|
- lib/sass/plugin/generic.rb
|
@@ -99,15 +115,17 @@ files:
|
|
99
115
|
- lib/sass/plugin/rack.rb
|
100
116
|
- lib/sass/plugin/rails.rb
|
101
117
|
- lib/sass/plugin/staleness_checker.rb
|
102
|
-
- lib/sass/plugin.rb
|
103
118
|
- lib/sass/railtie.rb
|
104
119
|
- lib/sass/repl.rb
|
105
120
|
- lib/sass/root.rb
|
121
|
+
- lib/sass/script.rb
|
106
122
|
- lib/sass/script/css_lexer.rb
|
107
123
|
- lib/sass/script/css_parser.rb
|
124
|
+
- lib/sass/script/css_variable_warning.rb
|
108
125
|
- lib/sass/script/functions.rb
|
109
126
|
- lib/sass/script/lexer.rb
|
110
127
|
- lib/sass/script/parser.rb
|
128
|
+
- lib/sass/script/tree.rb
|
111
129
|
- lib/sass/script/tree/funcall.rb
|
112
130
|
- lib/sass/script/tree/interpolation.rb
|
113
131
|
- lib/sass/script/tree/list_literal.rb
|
@@ -119,7 +137,7 @@ files:
|
|
119
137
|
- lib/sass/script/tree/string_interpolation.rb
|
120
138
|
- lib/sass/script/tree/unary_operation.rb
|
121
139
|
- lib/sass/script/tree/variable.rb
|
122
|
-
- lib/sass/script/
|
140
|
+
- lib/sass/script/value.rb
|
123
141
|
- lib/sass/script/value/arg_list.rb
|
124
142
|
- lib/sass/script/value/base.rb
|
125
143
|
- lib/sass/script/value/bool.rb
|
@@ -130,22 +148,18 @@ files:
|
|
130
148
|
- lib/sass/script/value/null.rb
|
131
149
|
- lib/sass/script/value/number.rb
|
132
150
|
- lib/sass/script/value/string.rb
|
133
|
-
- lib/sass/
|
134
|
-
- lib/sass/script.rb
|
151
|
+
- lib/sass/scss.rb
|
135
152
|
- lib/sass/scss/css_parser.rb
|
136
153
|
- lib/sass/scss/parser.rb
|
137
154
|
- lib/sass/scss/rx.rb
|
138
|
-
- lib/sass/scss/script_lexer.rb
|
139
|
-
- lib/sass/scss/script_parser.rb
|
140
155
|
- lib/sass/scss/static_parser.rb
|
141
|
-
- lib/sass/
|
156
|
+
- lib/sass/selector.rb
|
142
157
|
- lib/sass/selector/abstract_sequence.rb
|
143
158
|
- lib/sass/selector/comma_sequence.rb
|
144
159
|
- lib/sass/selector/pseudo.rb
|
145
160
|
- lib/sass/selector/sequence.rb
|
146
161
|
- lib/sass/selector/simple.rb
|
147
162
|
- lib/sass/selector/simple_sequence.rb
|
148
|
-
- lib/sass/selector.rb
|
149
163
|
- lib/sass/shared.rb
|
150
164
|
- lib/sass/source/map.rb
|
151
165
|
- lib/sass/source/position.rb
|
@@ -189,59 +203,22 @@ files:
|
|
189
203
|
- lib/sass/tree/visitors/to_css.rb
|
190
204
|
- lib/sass/tree/warn_node.rb
|
191
205
|
- lib/sass/tree/while_node.rb
|
206
|
+
- lib/sass/util.rb
|
192
207
|
- lib/sass/util/cross_platform_random.rb
|
193
208
|
- lib/sass/util/multibyte_string_scanner.rb
|
194
209
|
- lib/sass/util/normalized_map.rb
|
195
210
|
- lib/sass/util/ordered_hash.rb
|
196
211
|
- lib/sass/util/subset_map.rb
|
197
212
|
- lib/sass/util/test.rb
|
198
|
-
- lib/sass/util.rb
|
199
213
|
- lib/sass/version.rb
|
200
|
-
-
|
201
|
-
-
|
202
|
-
- vendor/listen/CONTRIBUTING.md
|
203
|
-
- vendor/listen/Gemfile
|
204
|
-
- vendor/listen/Guardfile
|
205
|
-
- vendor/listen/lib/listen/adapter.rb
|
206
|
-
- vendor/listen/lib/listen/adapters/bsd.rb
|
207
|
-
- vendor/listen/lib/listen/adapters/darwin.rb
|
208
|
-
- vendor/listen/lib/listen/adapters/linux.rb
|
209
|
-
- vendor/listen/lib/listen/adapters/polling.rb
|
210
|
-
- vendor/listen/lib/listen/adapters/windows.rb
|
211
|
-
- vendor/listen/lib/listen/directory_record.rb
|
212
|
-
- vendor/listen/lib/listen/listener.rb
|
213
|
-
- vendor/listen/lib/listen/turnstile.rb
|
214
|
-
- vendor/listen/lib/listen/version.rb
|
215
|
-
- vendor/listen/lib/listen.rb
|
216
|
-
- vendor/listen/LICENSE
|
217
|
-
- vendor/listen/listen.gemspec
|
218
|
-
- vendor/listen/Rakefile
|
219
|
-
- vendor/listen/README.md
|
220
|
-
- vendor/listen/spec/listen/adapter_spec.rb
|
221
|
-
- vendor/listen/spec/listen/adapters/bsd_spec.rb
|
222
|
-
- vendor/listen/spec/listen/adapters/darwin_spec.rb
|
223
|
-
- vendor/listen/spec/listen/adapters/linux_spec.rb
|
224
|
-
- vendor/listen/spec/listen/adapters/polling_spec.rb
|
225
|
-
- vendor/listen/spec/listen/adapters/windows_spec.rb
|
226
|
-
- vendor/listen/spec/listen/directory_record_spec.rb
|
227
|
-
- vendor/listen/spec/listen/listener_spec.rb
|
228
|
-
- vendor/listen/spec/listen/turnstile_spec.rb
|
229
|
-
- vendor/listen/spec/listen_spec.rb
|
230
|
-
- vendor/listen/spec/spec_helper.rb
|
231
|
-
- vendor/listen/spec/support/adapter_helper.rb
|
232
|
-
- vendor/listen/spec/support/directory_record_helper.rb
|
233
|
-
- vendor/listen/spec/support/fixtures_helper.rb
|
234
|
-
- vendor/listen/spec/support/listeners_helper.rb
|
235
|
-
- vendor/listen/spec/support/platform_helper.rb
|
236
|
-
- vendor/listen/Vagrantfile
|
237
|
-
- bin/sass
|
238
|
-
- bin/sass-convert
|
239
|
-
- bin/scss
|
214
|
+
- rails/init.rb
|
215
|
+
- test/sass-spec.yml
|
240
216
|
- test/sass/cache_test.rb
|
241
217
|
- test/sass/callbacks_test.rb
|
242
218
|
- test/sass/compiler_test.rb
|
243
219
|
- test/sass/conversion_test.rb
|
244
220
|
- test/sass/css2sass_test.rb
|
221
|
+
- test/sass/css_variable_test.rb
|
245
222
|
- test/sass/data/hsl-rgb.txt
|
246
223
|
- test/sass/encoding_test.rb
|
247
224
|
- test/sass/engine_test.rb
|
@@ -361,18 +338,42 @@ files:
|
|
361
338
|
- test/sass/util_test.rb
|
362
339
|
- test/sass/value_helpers_test.rb
|
363
340
|
- test/test_helper.rb
|
364
|
-
-
|
365
|
-
-
|
366
|
-
-
|
367
|
-
-
|
368
|
-
-
|
369
|
-
-
|
370
|
-
-
|
371
|
-
-
|
372
|
-
-
|
373
|
-
-
|
374
|
-
-
|
375
|
-
-
|
341
|
+
- vendor/listen/CHANGELOG.md
|
342
|
+
- vendor/listen/CONTRIBUTING.md
|
343
|
+
- vendor/listen/Gemfile
|
344
|
+
- vendor/listen/Guardfile
|
345
|
+
- vendor/listen/LICENSE
|
346
|
+
- vendor/listen/README.md
|
347
|
+
- vendor/listen/Rakefile
|
348
|
+
- vendor/listen/Vagrantfile
|
349
|
+
- vendor/listen/lib/listen.rb
|
350
|
+
- vendor/listen/lib/listen/adapter.rb
|
351
|
+
- vendor/listen/lib/listen/adapters/bsd.rb
|
352
|
+
- vendor/listen/lib/listen/adapters/darwin.rb
|
353
|
+
- vendor/listen/lib/listen/adapters/linux.rb
|
354
|
+
- vendor/listen/lib/listen/adapters/polling.rb
|
355
|
+
- vendor/listen/lib/listen/adapters/windows.rb
|
356
|
+
- vendor/listen/lib/listen/directory_record.rb
|
357
|
+
- vendor/listen/lib/listen/listener.rb
|
358
|
+
- vendor/listen/lib/listen/turnstile.rb
|
359
|
+
- vendor/listen/lib/listen/version.rb
|
360
|
+
- vendor/listen/listen.gemspec
|
361
|
+
- vendor/listen/spec/listen/adapter_spec.rb
|
362
|
+
- vendor/listen/spec/listen/adapters/bsd_spec.rb
|
363
|
+
- vendor/listen/spec/listen/adapters/darwin_spec.rb
|
364
|
+
- vendor/listen/spec/listen/adapters/linux_spec.rb
|
365
|
+
- vendor/listen/spec/listen/adapters/polling_spec.rb
|
366
|
+
- vendor/listen/spec/listen/adapters/windows_spec.rb
|
367
|
+
- vendor/listen/spec/listen/directory_record_spec.rb
|
368
|
+
- vendor/listen/spec/listen/listener_spec.rb
|
369
|
+
- vendor/listen/spec/listen/turnstile_spec.rb
|
370
|
+
- vendor/listen/spec/listen_spec.rb
|
371
|
+
- vendor/listen/spec/spec_helper.rb
|
372
|
+
- vendor/listen/spec/support/adapter_helper.rb
|
373
|
+
- vendor/listen/spec/support/directory_record_helper.rb
|
374
|
+
- vendor/listen/spec/support/fixtures_helper.rb
|
375
|
+
- vendor/listen/spec/support/listeners_helper.rb
|
376
|
+
- vendor/listen/spec/support/platform_helper.rb
|
376
377
|
homepage: http://sass-lang.com/
|
377
378
|
licenses:
|
378
379
|
- MIT
|
@@ -383,17 +384,17 @@ require_paths:
|
|
383
384
|
- lib
|
384
385
|
required_ruby_version: !ruby/object:Gem::Requirement
|
385
386
|
requirements:
|
386
|
-
- -
|
387
|
+
- - ">="
|
387
388
|
- !ruby/object:Gem::Version
|
388
389
|
version: 1.8.7
|
389
390
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
390
391
|
requirements:
|
391
|
-
- -
|
392
|
+
- - ">="
|
392
393
|
- !ruby/object:Gem::Version
|
393
394
|
version: '0'
|
394
395
|
requirements: []
|
395
396
|
rubyforge_project: sass
|
396
|
-
rubygems_version: 2.
|
397
|
+
rubygems_version: 2.5.1
|
397
398
|
signing_key:
|
398
399
|
specification_version: 4
|
399
400
|
summary: A powerful but elegant CSS compiler that makes CSS fun again.
|
@@ -403,6 +404,7 @@ test_files:
|
|
403
404
|
- test/sass/compiler_test.rb
|
404
405
|
- test/sass/conversion_test.rb
|
405
406
|
- test/sass/css2sass_test.rb
|
407
|
+
- test/sass/css_variable_test.rb
|
406
408
|
- test/sass/encoding_test.rb
|
407
409
|
- test/sass/engine_test.rb
|
408
410
|
- test/sass/exec_test.rb
|