sass 3.4.21 → 3.4.22
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/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
|